Show More
Commit Description:
Merge pull request #17 from nattee/master...
Commit Description:
Merge pull request #17 from nattee/master
upgrade to current working snapshot
References:
File last commit:
Show/Diff file:
Action:
lib/assets/Lib/sys.py
| 185 lines
| 5.2 KiB
| text/x-python
| PythonLexer
|
r584 | # hack to return special attributes | |||
from _sys import * | ||||
_getframe = Getframe | ||||
from javascript import JSObject | ||||
from browser import window | ||||
brython_debug_mode = __BRYTHON__.debug | ||||
base_exec_prefix = __BRYTHON__.brython_path | ||||
base_prefix = __BRYTHON__.brython_path | ||||
builtin_module_names=__BRYTHON__.builtin_module_names | ||||
byteorder='little' | ||||
def exc_info(): | ||||
exc = __BRYTHON__.current_exception | ||||
if exc is None: | ||||
return(None, None, None) | ||||
return (exc.__class__,exc,exc.traceback) | ||||
exec_prefix = __BRYTHON__.brython_path | ||||
executable = __BRYTHON__.brython_path+'/brython.js' | ||||
def exit(i=None): | ||||
raise SystemExit('') | ||||
class flag_class: | ||||
def __init__(self): | ||||
self.debug=0 | ||||
self.inspect=0 | ||||
self.interactive=0 | ||||
self.optimize=0 | ||||
self.dont_write_bytecode=0 | ||||
self.no_user_site=0 | ||||
self.no_site=0 | ||||
self.ignore_environment=0 | ||||
self.verbose=0 | ||||
self.bytes_warning=0 | ||||
self.quiet=0 | ||||
self.hash_randomization=1 | ||||
flags=flag_class() | ||||
def getfilesystemencoding(*args,**kw): | ||||
"""getfilesystemencoding() -> string | ||||
Return the encoding used to convert Unicode filenames in | ||||
operating system filenames.""" | ||||
return 'utf-8' | ||||
def getrecursionlimit(): | ||||
return 200 | ||||
maxsize=2**63-1 | ||||
maxunicode=1114111 | ||||
# Imported from _sys | ||||
# path = __BRYTHON__.path | ||||
# #path_hooks = list(JSObject(__BRYTHON__.path_hooks)) | ||||
# meta_path=__BRYTHON__.meta_path | ||||
platform = "brython" | ||||
prefix = __BRYTHON__.brython_path | ||||
version = '.'.join(str(x) for x in __BRYTHON__.version_info[:3]) | ||||
version += " (default, %s) \n[Javascript 1.5] on Brython" % __BRYTHON__.compiled_date | ||||
hexversion = 0x03000000 # python 3.0 | ||||
class __version_info(object): | ||||
def __init__(self, version_info): | ||||
self.version_info = version_info | ||||
self.major = version_info[0] | ||||
self.minor = version_info[1] | ||||
self.micro = version_info[2] | ||||
self.releaselevel = version_info[3] | ||||
self.serial = version_info[4] | ||||
def __getitem__(self, index): | ||||
if isinstance(self.version_info[index], list): | ||||
return tuple(self.version_info[index]) | ||||
return self.version_info[index] | ||||
def hexversion(self): | ||||
try: | ||||
return '0%d0%d0%d' % (self.major, self.minor, self.micro) | ||||
finally: #probably some invalid char in minor (rc, etc) | ||||
return '0%d0000' % (self.major) | ||||
def __str__(self): | ||||
_s="sys.version(major=%d, minor=%d, micro=%d, releaselevel='%s', serial=%d)" | ||||
return _s % (self.major, self.minor, self.micro, | ||||
self.releaselevel, self.serial) | ||||
#return str(self.version_info) | ||||
def __eq__(self,other): | ||||
if isinstance(other, tuple): | ||||
return (self.major, self.minor, self.micro) == other | ||||
raise Error("Error! I don't know how to compare!") | ||||
def __ge__(self,other): | ||||
if isinstance(other, tuple): | ||||
return (self.major, self.minor, self.micro) >= other | ||||
raise Error("Error! I don't know how to compare!") | ||||
def __gt__(self,other): | ||||
if isinstance(other, tuple): | ||||
return (self.major, self.minor, self.micro) > other | ||||
raise Error("Error! I don't know how to compare!") | ||||
def __le__(self,other): | ||||
if isinstance(other, tuple): | ||||
return (self.major, self.minor, self.micro) <= other | ||||
raise Error("Error! I don't know how to compare!") | ||||
def __lt__(self,other): | ||||
if isinstance(other, tuple): | ||||
return (self.major, self.minor, self.micro) < other | ||||
raise Error("Error! I don't know how to compare!") | ||||
def __ne__(self,other): | ||||
if isinstance(other, tuple): | ||||
return (self.major, self.minor, self.micro) != other | ||||
raise Error("Error! I don't know how to compare!") | ||||
#eventually this needs to be the real python version such as 3.0, 3.1, etc | ||||
version_info=__version_info(__BRYTHON__.version_info) | ||||
class _implementation: | ||||
def __init__(self): | ||||
self.name='brython' | ||||
self.version = __version_info(__BRYTHON__.implementation) | ||||
self.hexversion = self.version.hexversion() | ||||
self.cache_tag=None | ||||
def __repr__(self): | ||||
return "namespace(name='%s' version=%s hexversion='%s')" % (self.name, self.version, self.hexversion) | ||||
def __str__(self): | ||||
return "namespace(name='%s' version=%s hexversion='%s')" % (self.name, self.version, self.hexversion) | ||||
implementation=_implementation() | ||||
class _hash_info: | ||||
def __init__(self): | ||||
self.width=32, | ||||
self.modulus=2147483647 | ||||
self.inf=314159 | ||||
self.nan=0 | ||||
self.imag=1000003 | ||||
self.algorithm='siphash24' | ||||
self.hash_bits=64 | ||||
self.seed_bits=128 | ||||
cutoff=0 | ||||
def __repr(self): | ||||
#fix me | ||||
return "sys.hash_info(width=32, modulus=2147483647, inf=314159, nan=0, imag=1000003, algorithm='siphash24', hash_bits=64, seed_bits=128, cutoff=0)" | ||||
hash_info=_hash_info() | ||||
warnoptions=[] | ||||
def getfilesystemencoding(): | ||||
return 'utf-8' | ||||
## __stdxxx__ contains the original values of sys.stdxxx | ||||
__stdout__ = __BRYTHON__.stdout | ||||
__stderr__ = __BRYTHON__.stderr | ||||
__stdin__ = __BRYTHON__.stdin | ||||
#delete objects not in python sys module namespace | ||||
del JSObject | ||||
del _implementation | ||||