Detect: 'variable_name' in the try block with 'except ImportError' should also be defined in the except block
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 123
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 5
Description
Correct code:
try:
from foo import bar
from spam import eggs
except ImportError:
from another_foo import bar
from another_spam import eggs
Bad code:
try:
from foo import bar
from spam import eggs
except ImportError:
# [ Missing import for `bar` ]
from another_spam import eggs
PyCharm IDE gives a nice warning:
'variable_name' in the try block with 'except ImportError' should also be defined in the except block
Flake8 does not detect this problem.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Use the correct and bad Python examples as the behavioral fixtures: compare names imported in the try block with those defined in the except ImportError block. Done means the missing bar import is reported while the complete fallback example is accepted; the repository's existing checker tests should cover both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100