Skip to content

Incorrect rename behavior #95

@jiangmf

Description

@jiangmf

When running rename_external on code with both import x and from x import y, the behavior seems to be incorrect.

In the example below, the generated code will contain an NameError: name 'custom_request' is not defined

The expected output should be my_app.custom_request.get('https://google.com')

>>> import pasta
>>> from pasta.augment import rename
>>> code = """
... import requests
... from requests import Response
...
... requests.get('https://google.com')"""
>>> tree = pasta.parse(code)
>>> rename.rename_external(tree, 'requests', 'myapp.custom_request')
True
>>> print(pasta.dump(tree))

import myapp.custom_request
from myapp.custom_request import Response

custom_request.get('https://google.com')

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions