/opt/alt/python37/lib/python3.7/site-packages/libpasteurize/fixes
NameSizeModeActions
__pycache__/-0755rm
feature_base.py17230644editdlrm
fix_add_all_future_builtins.py12690644editdlrm
fix_add_all__future__imports.py6760644editdlrm
fix_add_future_standard_library_import.py6630644editdlrm
fix_annotations.py15810644editdlrm
fix_division.py9040644editdlrm
fix_features.py26750644editdlrm
fix_fullargspec.py4380644editdlrm
fix_future_builtins.py14500644editdlrm
fix_getcwd.py8730644editdlrm
fix_imports.py49440644editdlrm
fix_imports2.py85800644editdlrm
fix_kwargs.py59910644editdlrm
fix_memoryview.py5510644editdlrm
fix_metaclass.py32600644editdlrm
fix_newstyle.py8880644editdlrm
fix_next.py12330644editdlrm
fix_printfunction.py4010644editdlrm
fix_raise.py10990644editdlrm
fix_raise_.py12250644editdlrm
fix_throw.py8350644editdlrm
fix_unpacking.py59460644editdlrm
__init__.py37190644editdlrm
Edit: /opt/alt/python37/lib/python3.7/site-packages/libpasteurize/fixes/fix_annotations.py (1581B)
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))