Skip to content

Commit

Permalink
Added pylint django migrations checker to the invoke pylint command. (
Browse files Browse the repository at this point in the history
  • Loading branch information
gsnider2195 authored Oct 8, 2024
1 parent 561f00c commit f4befae
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
1 change: 1 addition & 0 deletions changes/183.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added pylint django migrations checker to the `invoke pylint` command.
23 changes: 21 additions & 2 deletions nautobot-app/{{ cookiecutter.project_slug }}/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -709,8 +709,27 @@ def hadolint(context):
@task
def pylint(context):
"""Run pylint code analysis."""
command = 'pylint --init-hook "import nautobot; nautobot.setup()" --rcfile pyproject.toml {{ cookiecutter.app_name }}'
run_command(context, command)
exit_code = 0

base_pylint_command = 'pylint --verbose --init-hook "import nautobot; nautobot.setup()" --rcfile pyproject.toml'
command = f"{base_pylint_command} {{ cookiecutter.app_name }}"
if not run_command(context, command, warn=True):
exit_code = 1

# run the pylint_django migrations checkers on the migrations directory, if one exists
migrations_dir = Path(__file__).absolute().parent / Path("{{ cookiecutter.app_name }}") / Path("migrations")
if migrations_dir.is_dir():
migrations_pylint_command = (
f"{base_pylint_command} --load-plugins=pylint_django.checkers.migrations"
" --disable=all --enable=fatal,new-db-field-with-default,missing-backwards-migration-callable"
" {{ cookiecutter.app_name }}.migrations"
)
if not run_command(context, migrations_pylint_command, warn=True):
exit_code = 1
else:
print("No migrations directory found, skipping migrations checks.")

raise Exit(code=exit_code)


@task(aliases=("a",))
Expand Down

0 comments on commit f4befae

Please sign in to comment.