Skip to content

Commit

Permalink
#2113 python3 fixes, remove unused logger, trap metadata errors and l…
Browse files Browse the repository at this point in the history
…og them with attribute details

git-svn-id: https://xpra.org/svn/Xpra/trunk@21671 3bb7dfac-3a0b-4e04-842a-767bc560f471
  • Loading branch information
totaam committed Feb 17, 2019
1 parent 2ea3086 commit d9b1502
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions src/xpra/server/window/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,25 @@

import os

from xpra.util import WORKSPACE_UNSET
from xpra.log import Logger

log = Logger("server")
metalog = Logger("metadata")
from xpra.util import WORKSPACE_UNSET, get_util_logger

SKIP_METADATA = os.environ.get("XPRA_SKIP_METADATA", "").split(",")


def make_window_metadata(window, propname, get_transient_for=None, get_window_id=None, skip_defaults=False):
try:
return do_make_window_metadata(window, propname, get_transient_for, get_window_id, skip_defaults)
except (ValueError, TypeError) as e:
log = get_util_logger()
log("make_window_metadata%s", (window, propname, get_transient_for, get_window_id, skip_defaults), exc_info=True)
log.error("Error: failed to make window metadata")
log.error(" for attribute '%s' of window %s", propname, window)
log.error(" with value '%s':", getattr(window, propname, None))
log.error(" %s", e)
return {}


def do_make_window_metadata(window, propname, get_transient_for=None, get_window_id=None, skip_defaults=False):
if propname in SKIP_METADATA:
return {}
#note: some of the properties handled here aren't exported to the clients,
Expand All @@ -30,7 +39,7 @@ def raw():
return {}
return {propname: ""}
return {propname: v.encode("utf-8")}
elif propname in ("pid", "workspace", "bypass-compositor", "depth", "opacity", "quality", "speed", "children"):
elif propname in ("pid", "workspace", "bypass-compositor", "depth", "opacity", "quality", "speed"):
v = raw()
assert v is not None, "%s is None!" % propname
default_value = {
Expand All @@ -39,7 +48,6 @@ def raw():
"bypass-compositor" : 0,
"depth" : 24,
"opacity" : 100,
"children" : [],
}.get(propname, -1)
if (v<0 or v==default_value) and skip_defaults:
#unset or default value,
Expand Down Expand Up @@ -80,7 +88,7 @@ def raw():
if wid:
return {"transient-for" : wid}
return {}
elif propname in ("window-type", "shape", "menu"):
elif propname in ("window-type", "shape", "menu", "children"):
v = raw()
if not v and skip_defaults:
return {}
Expand Down

0 comments on commit d9b1502

Please sign in to comment.