diff frontends/src/constants.py @ 737:378af36155c2

frontends: set and retrieve your own presence and status
author souliane <souliane@mailoo.org>
date Mon, 25 Nov 2013 01:56:07 +0100
parents 6246eb6d64a0
children 312a2842b2b8
line wrap: on
line diff
--- a/frontends/src/constants.py	Sat Nov 23 10:21:40 2013 +0100
+++ b/frontends/src/constants.py	Mon Nov 25 01:56:07 2013 +0100
@@ -23,12 +23,35 @@
 except:  # libervia doesn't allow to explicit the exception here
     _ = lambda text: text
 
-class Const(object):
+try:
+    from collections import OrderedDict  # only available from python 2.7
+except ImportError:
+    try:
+        from ordereddict import OrderedDict
+    except ImportError:
+        pass  # libervia can not import external libraries
+
 
-    # TODO: find a way to merge it with the ones of primitivus and wix
-    PRESENCE = {"": _("Online"),
-                "chat": _("Free for chat"),
-                "away": _("Away from keyboard"),
-                "dnd": _("Do not disturb"),
-                "xa": _("Away")
-                }
+def getPresence():
+    """We cannot do it directly in the Const class, if it is not encapsulated
+    in a method we get a JS runtime SyntaxError: "missing ) in parenthetical".
+    # TODO: merge this definition with those in primitivus.constants and wix.constants
+    """
+    try:
+        presence = OrderedDict([("", _("Online")),
+                                ("chat", _("Free for chat")),
+                                ("away", _("Away from keyboard")),
+                                ("dnd", _("Do not disturb")),
+                                ("xa", _("Away"))])
+    except TypeError:
+        presence = {"": _("Online"),
+                    "chat": _("Free for chat"),
+                    "away": _("Away from keyboard"),
+                    "dnd": _("Do not disturb"),
+                    "xa": _("Away")
+                    }
+    return presence
+
+
+class Const(object):
+    PRESENCE = getPresence()