Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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,
            )
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)