diff --git a/.github/workflows/lint_python.yml b/.github/workflows/lint_python.yml new file mode 100644 index 0000000..6557c0e --- /dev/null +++ b/.github/workflows/lint_python.yml @@ -0,0 +1,24 @@ +name: lint_python +on: [pull_request, push] +jobs: + lint_python: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 + - run: pip install --upgrade pip wheel + - run: pip install bandit black codespell flake8 flake8-bugbear flake8-return + flake8-comprehensions isort mypy pytest pyupgrade safety + - run: bandit --recursive --skip B404,B603,B605,B607 . + - run: black --check . || true + - run: codespell --ignore-words-list="WAN" || true # --skip="*.css,*.js,*.lock" + - run: flake8 --ignore=E124,E128,E225,E251,E302,R502,R503,W291,W293,W605 + --max-complexity=11 --max-line-length=265 --show-source --statistics . + - run: isort --check-only --profile black . || true + - run: pip install -r requirements.txt || pip install --editable . || pip install . || true + - run: mkdir --parents --verbose .mypy_cache + - run: mypy --ignore-missing-imports --install-types --non-interactive . || true + - run: pytest . || true + - run: pytest --doctest-modules . || true + - run: shopt -s globstar && pyupgrade --py36-plus **/*.py || true + - run: safety check diff --git a/core.py b/core.py index e37b50e..3a82f1c 100644 --- a/core.py +++ b/core.py @@ -11,21 +11,18 @@ from typing import Tuple def clear_screen(): - if system() == "Linux": - os.system("clear") - if system() == "Windows": - os.system("cls") + os.system("cls" if system() == "Windows" else "clear") def validate_input(ip, val_range): + val_range = val_range or [] try: ip = int(ip) if ip in val_range: return ip - else: - return None - except: + except Exception: return None + return None class HackingTool(object): @@ -46,8 +43,7 @@ class HackingTool(object): def __init__(self, options = None, installable: bool = True, runnable: bool = True): - if options is None: - options = [] + options = options or [] if isinstance(options, list): self.OPTIONS = [] if installable: @@ -176,7 +172,7 @@ class HackingToolsCollection(object): except (TypeError, ValueError): print("Please enter a valid option") input("\n\nPress ENTER to continue:") - except Exception as e: + except Exception: print_exc() input("\n\nPress ENTER to continue:") return self.show_options(parent = parent)