OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
libpasteurize
/
fixes
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
07/12/2020 04:36:18 PM
rwxr-xr-x
📄
__init__.py
3.63 KB
11/21/2014 11:52:03 AM
rw-r--r--
📁
__pycache__
-
07/12/2020 04:36:18 PM
rwxr-xr-x
📄
feature_base.py
1.69 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_add_all__future__imports.py
677 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_add_all_future_builtins.py
1.24 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_add_future_standard_library_import.py
663 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_annotations.py
1.55 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_division.py
904 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_features.py
2.62 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_fullargspec.py
442 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_future_builtins.py
1.42 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_getcwd.py
873 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_imports.py
4.83 KB
07/25/2015 10:34:42 AM
rw-r--r--
📄
fix_imports2.py
8.38 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_kwargs.py
5.87 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_memoryview.py
551 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_metaclass.py
3.19 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_newstyle.py
888 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_next.py
1.2 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_printfunction.py
401 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_raise.py
1.07 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_raise_.py
1.2 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_throw.py
835 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_unpacking.py
5.81 KB
11/21/2014 11:52:03 AM
rw-r--r--
Editing: fix_annotations.py
Close
u""" Fixer to remove function annotations """ from lib2to3 import fixer_base from lib2to3.pgen2 import token from lib2to3.fixer_util import syms warning_text = u"Removing function annotations completely." def param_without_annotations(node): return node.children[0] class FixAnnotations(fixer_base.BaseFix): warned = False def warn_once(self, node, reason): if not self.warned: self.warned = True self.warning(node, reason=reason) PATTERN = u""" funcdef< 'def' any parameters< '(' [params=any] ')' > ['->' ret=any] ':' any* > """ def transform(self, node, results): u""" This just strips annotations from the funcdef completely. """ params = results.get(u"params") ret = results.get(u"ret") if ret is not None: assert ret.prev_sibling.type == token.RARROW, u"Invalid return annotation" self.warn_once(node, reason=warning_text) ret.prev_sibling.remove() ret.remove() if params is None: return if params.type == syms.typedargslist: # more than one param in a typedargslist for param in params.children: if param.type == syms.tname: self.warn_once(node, reason=warning_text) param.replace(param_without_annotations(param)) elif params.type == syms.tname: # one param self.warn_once(node, reason=warning_text) params.replace(param_without_annotations(params))