Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.35
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python2.7 /
compiler /
Delete
Unzip
Name
Size
Permission
Date
Action
__init__.py
1023
B
-rw-r--r--
2022-02-06 21:16
__init__.pyc
1.26
KB
-rw-r--r--
2022-03-20 10:36
ast.py
36.63
KB
-rw-r--r--
2022-02-06 21:16
ast.pyc
69.67
KB
-rw-r--r--
2022-03-20 10:36
consts.py
468
B
-rw-r--r--
2022-02-06 21:16
consts.pyc
735
B
-rw-r--r--
2022-03-20 10:36
future.py
1.85
KB
-rw-r--r--
2022-02-06 21:16
future.pyc
2.87
KB
-rw-r--r--
2022-03-20 10:36
misc.py
1.75
KB
-rw-r--r--
2022-02-06 21:16
misc.pyc
3.61
KB
-rw-r--r--
2022-03-20 10:36
pyassem.py
23.69
KB
-rw-r--r--
2022-02-06 21:16
pyassem.pyc
25.17
KB
-rw-r--r--
2022-03-20 10:36
pycodegen.py
46.69
KB
-rw-r--r--
2022-02-06 21:16
pycodegen.pyc
54.85
KB
-rw-r--r--
2022-03-20 10:36
symbols.py
14.15
KB
-rw-r--r--
2022-02-06 21:16
symbols.pyc
17.15
KB
-rw-r--r--
2022-03-20 10:36
syntax.py
1.41
KB
-rw-r--r--
2022-02-06 21:16
syntax.pyc
1.83
KB
-rw-r--r--
2022-03-20 10:36
transformer.py
51.86
KB
-rw-r--r--
2022-02-06 21:16
transformer.pyc
46.27
KB
-rw-r--r--
2022-03-20 10:36
visitor.py
3.8
KB
-rw-r--r--
2022-02-06 21:16
visitor.pyc
4.07
KB
-rw-r--r--
2022-03-20 10:36
Save
Rename
"""Parser for future statements """ from compiler import ast, walk def is_future(stmt): """Return true if statement is a well-formed future statement""" if not isinstance(stmt, ast.From): return 0 if stmt.modname == "__future__": return 1 else: return 0 class FutureParser: features = ("nested_scopes", "generators", "division", "absolute_import", "with_statement", "print_function", "unicode_literals") def __init__(self): self.found = {} # set def visitModule(self, node): stmt = node.node for s in stmt.nodes: if not self.check_stmt(s): break def check_stmt(self, stmt): if is_future(stmt): for name, asname in stmt.names: if name in self.features: self.found[name] = 1 else: raise SyntaxError, \ "future feature %s is not defined" % name stmt.valid_future = 1 return 1 return 0 def get_features(self): """Return list of features enabled by future statements""" return self.found.keys() class BadFutureParser: """Check for invalid future statements""" def visitFrom(self, node): if hasattr(node, 'valid_future'): return if node.modname != "__future__": return raise SyntaxError, "invalid future statement " + repr(node) def find_futures(node): p1 = FutureParser() p2 = BadFutureParser() walk(node, p1) walk(node, p2) return p1.get_features() if __name__ == "__main__": import sys from compiler import parseFile, walk for file in sys.argv[1:]: print file tree = parseFile(file) v = FutureParser() walk(tree, v) print v.found print