mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-01 00:43:37 +00:00
67 lines
2.5 KiB
Python
67 lines
2.5 KiB
Python
|
from .base import *
|
||
|
from .constructors.jsmath import Math
|
||
|
from .constructors.jsdate import Date
|
||
|
from .constructors.jsobject import Object
|
||
|
from .constructors.jsfunction import Function
|
||
|
from .constructors.jsstring import String
|
||
|
from .constructors.jsnumber import Number
|
||
|
from .constructors.jsboolean import Boolean
|
||
|
from .constructors.jsregexp import RegExp
|
||
|
from .constructors.jsarray import Array
|
||
|
from .constructors.jsarraybuffer import ArrayBuffer
|
||
|
from .constructors.jsint8array import Int8Array
|
||
|
from .constructors.jsuint8array import Uint8Array
|
||
|
from .constructors.jsuint8clampedarray import Uint8ClampedArray
|
||
|
from .constructors.jsint16array import Int16Array
|
||
|
from .constructors.jsuint16array import Uint16Array
|
||
|
from .constructors.jsint32array import Int32Array
|
||
|
from .constructors.jsuint32array import Uint32Array
|
||
|
from .constructors.jsfloat32array import Float32Array
|
||
|
from .constructors.jsfloat64array import Float64Array
|
||
|
from .prototypes.jsjson import JSON
|
||
|
from .host.console import console
|
||
|
from .host.jseval import Eval
|
||
|
from .host.jsfunctions import parseFloat, parseInt, isFinite, isNaN
|
||
|
|
||
|
# Now we have all the necessary items to create global environment for script
|
||
|
__all__ = ['Js', 'PyJsComma', 'PyJsStrictEq', 'PyJsStrictNeq',
|
||
|
'PyJsException', 'PyJsBshift', 'Scope', 'PyExceptionToJs',
|
||
|
'JsToPyException', 'JS_BUILTINS', 'appengine', 'set_global_object',
|
||
|
'JsRegExp', 'PyJsException', 'PyExceptionToJs', 'JsToPyException', 'PyJsSwitchException']
|
||
|
|
||
|
|
||
|
# these were defined in base.py
|
||
|
builtins = ('true','false','null','undefined','Infinity',
|
||
|
'NaN', 'console', 'String', 'Number', 'Boolean', 'RegExp',
|
||
|
'Math', 'Date', 'Object', 'Function', 'Array',
|
||
|
'Int8Array', 'Uint8Array', 'Uint8ClampedArray',
|
||
|
'Int16Array','Uint16Array',
|
||
|
'Int32Array', 'Uint32Array',
|
||
|
'Float32Array', 'Float64Array',
|
||
|
'ArrayBuffer',
|
||
|
'parseFloat', 'parseInt', 'isFinite', 'isNaN')
|
||
|
#Array, Function, JSON, Error is done later :)
|
||
|
# also some built in functions like eval...
|
||
|
|
||
|
def set_global_object(obj):
|
||
|
obj.IS_CHILD_SCOPE = False
|
||
|
this = This({})
|
||
|
this.own = obj.own
|
||
|
this.prototype = obj.prototype
|
||
|
PyJs.GlobalObject = this
|
||
|
# make this available
|
||
|
obj.register('this')
|
||
|
obj.put('this', this)
|
||
|
|
||
|
|
||
|
|
||
|
scope = dict(zip(builtins, [globals()[e] for e in builtins]))
|
||
|
# Now add errors:
|
||
|
for name, error in ERRORS.items():
|
||
|
scope[name] = error
|
||
|
#add eval
|
||
|
scope['eval'] = Eval
|
||
|
scope['JSON'] = JSON
|
||
|
JS_BUILTINS = dict((k,v) for k,v in scope.items())
|
||
|
|