def build_pattern(): bare = set() for old_module, changes in MAPPING.items(): for change in changes: new_module, members = change members = alternates(members) if '.' not in old_module: from_name = "%r" % old_module else: dotted = old_module.split('.') assert len(dotted) == 2 from_name = "dotted_name<%r '.' %r>" % (dotted[0], dotted[1]) yield """import_name< 'import' (module=%s | dotted_as_names< any* module=%s any* >) > """ % (from_name, from_name) yield """import_from< 'from' mod_member=%s 'import' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) > """ % (from_name, members, members) yield """import_from< 'from' mod_member=%s 'import' '(' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) ')' > """ % (from_name, members, members) yield """import_from< 'from' module_star=%s 'import' star='*' > """ % from_name yield """import_name< 'import' dotted_as_name< module_as=%s 'as' any > > """ % from_name # bare_with_attr has a special significance for FixImports.match(). yield """power< bare_with_attr=%s trailer< '.' member=%s > any* > """ % (from_name, members)
def build_pattern(): bare = set() for old_module, changes in MAPPING.items(): for change in changes: new_module, members = change members = alternates(members) yield """import_name< 'import' (module=%r | dotted_as_names< any* module=%r any* >) > """ % (old_module, old_module) if '.' not in old_module: yield """import_from< 'from' mod_member=%r 'import' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) > """ % (old_module, members, members) else: dotted = old_module.split('.') assert len(dotted) == 2 yield """import_from< 'from' mod_member=dotted_name<%r '.' %r> 'import' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) > """ % (dotted[0], dotted[1], members, members) yield """import_from< 'from' module_star=%r 'import' star='*' > """ % old_module yield """import_name< 'import' dotted_as_name< module_as=%r 'as' any > > """ % old_module # bare_with_attr has a special significance for FixImports.match(). yield """power< bare_with_attr=%r trailer< '.' member=%s > any* > """ % (old_module, members)
def build_pattern(): bare = set() for old_module, changes in MAPPING.items(): for change in changes: new_module, members = change members = alternates(members) yield """import_name< 'import' (module=%r | dotted_as_names< any* module=%r any* >) > """ % ( old_module, old_module, ) yield """import_from< 'from' mod_member=%r 'import' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) > """ % ( old_module, members, members, ) yield """import_from< 'from' module_star=%r 'import' star='*' > """ % old_module yield """import_name< 'import' dotted_as_name< module_as=%r 'as' any > > """ % old_module # bare_with_attr has a special significance for FixImports.match(). yield """power< bare_with_attr=%r trailer< '.' member=%s > any* > """ % ( old_module, members, )
def build_pattern(): bare = set() for old_module, changes in MAPPING.items(): for change in changes: new_module, members = change members = alternates(members) yield "import_name< 'import' (module=%r\n | dotted_as_names< any* module=%r any* >) >\n " % (old_module, old_module) yield "import_from< 'from' mod_member=%r 'import'\n ( member=%s | import_as_name< member=%s 'as' any > |\n import_as_names< members=any* >) >\n " % (old_module, members, members) yield "import_from< 'from' module_star=%r 'import' star='*' >\n " % old_module yield "import_name< 'import'\n dotted_as_name< module_as=%r 'as' any > >\n " % old_module yield "power< bare_with_attr=%r trailer< '.' member=%s > any* >\n " % (old_module, members)
def build_pattern(mapping): mod_list = " | ".join(["module_name='%s'" % key for key in mapping]) dotted_mod_list = " | ".join(["module_name=dotted_name<'{}' ('.' NAME)*>".format(key) for key in mapping]) bare_names = alternates(mapping.keys()) yield """name_import=import_name< 'import' ((%s) | multiple_imports=dotted_as_names< any* (%s) any* >) > """ % ( dotted_mod_list, dotted_mod_list, ) yield """import_from< 'from' (%s) 'import' ['('] ( any | import_as_name< any 'as' any > | import_as_names< any* >) [')'] > """ % dotted_mod_list yield """import_name< 'import' (dotted_as_name< (%s) 'as' any > | multiple_imports=dotted_as_names< any* dotted_as_name< (%s) 'as' any > any* >) > """ % ( dotted_mod_list, dotted_mod_list, ) yield """name_import=import_name< 'import' ((%s) | multiple_imports=dotted_as_names< any* (%s) any* >) > """ % ( mod_list, mod_list, ) yield """import_from< 'from' (%s) 'import' ['('] ( any | import_as_name< any 'as' any > | import_as_names< any* >) [')'] > """ % mod_list yield """import_name< 'import' (dotted_as_name< (%s) 'as' any > | multiple_imports=dotted_as_names< any* dotted_as_name< (%s) 'as' any > any* >) > """ % ( mod_list, mod_list, ) # Find usages of module members in code e.g. thread.foo(bar) yield "power< bare_with_attr=(%s) trailer<'.' any > any* >" % bare_names
def build_pattern(): bare = set() for old_module, changes in list(MAPPING.items()): for change in changes: new_module, members = change members = alternates(members) yield """import_name< 'import' (module=%r | dotted_as_names< any* module=%r any* >) > """ % (old_module, old_module) yield """import_from< 'from' mod_member=%r 'import' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) > """ % (old_module, members, members) yield """import_from< 'from' module_star=%r 'import' star='*' > """ % old_module yield """import_name< 'import' dotted_as_name< module_as=%r 'as' any > > """ % old_module # bare_with_attr has a special significance for FixImports.match(). yield """power< bare_with_attr=%r trailer< '.' member=%s > any* > """ % (old_module, members)
def build_pattern(): bare = set() for old_module, changes in list(MAPPING.items()): for change in changes: new_module, members = change members = alternates(members) if '.' not in old_module: from_name = "%r" % old_module else: dotted = old_module.split('.') if len(dotted) == 3: from_name = "dotted_name<%r '.' %r '.' %r>" % ( dotted[0], dotted[1], dotted[2]) else: assert len(dotted) == 2 from_name = "dotted_name<%r '.' %r>" % (dotted[0], dotted[1]) yield """import_name< 'import' (module=%s | dotted_as_names< any* module=%s any* >) > """ % (from_name, from_name) yield """import_from< 'from' mod_member=%s 'import' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) > """ % (from_name, members, members) yield """import_from< 'from' mod_member=%s 'import' '(' ( member=%s | import_as_name< member=%s 'as' any > | import_as_names< members=any* >) ')' > """ % (from_name, members, members) yield """import_from< 'from' module_star=%s 'import' star='*' > """ % from_name yield """import_name< 'import' dotted_as_name< module_as=%s 'as' any > > """ % from_name # bare_with_attr has a special significance for FixImports.match(). yield """power< bare_with_attr=%s trailer< '.' member=%s > any* > """ % (from_name, members)