confnodes/python/modules/svgui/pyjs/lib/sys.py
changeset 717 1c23952dbde1
parent 371 b7cb57a2da08
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/confnodes/python/modules/svgui/pyjs/lib/sys.py	Mon May 07 18:47:29 2012 +0200
@@ -0,0 +1,59 @@
+# the platform name (PyV8, smjs, Mozilla, IE6, Opera, Safari etc.)
+platform = '' # to be updated by app, on compile
+
+# a dictionary of module override names (platform-specific)
+overrides = None # to be updated by app, on compile
+
+# the remote path for loading modules
+loadpath = None 
+
+stacktrace = None 
+
+appname = None 
+
+def setloadpath(lp):
+    global loadpath
+    loadpath = lp
+
+def setappname(an):
+    global appname
+    appname = an
+
+def getloadpath():
+    global loadpath
+    return loadpath
+
+def addoverride(module_name, path):
+    global overrides
+    overrides[module_name] = path
+
+def addstack(linedebug):
+    JS("""
+        if (pyjslib.bool((sys.stacktrace === null))) {
+            sys.stacktrace = new pyjslib.List([]);
+        }
+        sys.stacktrace.append(linedebug);
+    """)
+def popstack():
+    JS("""
+        sys.stacktrace.pop()
+    """)
+
+def printstack():
+    JS("""
+        var res = '';
+
+        var __l = sys.stacktrace.__iter__();
+        try {
+            while (true) {
+                var l = __l.next();
+                res +=  ( l + '\\n' ) ;
+            }
+        } catch (e) {
+            if (e != pyjslib.StopIteration) {
+                throw e;
+            }
+        }
+
+        return res;
+    """)