12510 review changes

This commit is contained in:
Arthur 2024-02-01 08:51:30 -08:00
parent 53b3875e82
commit b45fc0e851
3 changed files with 8 additions and 31 deletions

View File

@ -9,7 +9,7 @@ from django.utils.translation import gettext_lazy as _
from core.choices import ManagedFileRootPathChoices from core.choices import ManagedFileRootPathChoices
from core.models import ManagedFile from core.models import ManagedFile
from extras.utils import is_script_or_report from extras.utils import is_script
from netbox.models.features import JobsMixin, EventRulesMixin from netbox.models.features import JobsMixin, EventRulesMixin
from utilities.querysets import RestrictedQuerySet from utilities.querysets import RestrictedQuerySet
from .mixins import PythonModuleMixin from .mixins import PythonModuleMixin
@ -72,7 +72,7 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile):
for cls in ordered: for cls in ordered:
scripts[_get_name(cls)] = cls scripts[_get_name(cls)] = cls
for name, cls in inspect.getmembers(module, is_script_or_report): for name, cls in inspect.getmembers(module, is_script):
if cls not in ordered: if cls not in ordered:
scripts[_get_name(cls)] = cls scripts[_get_name(cls)] = cls

View File

@ -257,7 +257,7 @@ class IPNetworkVar(ScriptVariable):
# Scripts # Scripts
# #
class BaseScript(object): class BaseScript:
""" """
Base model for custom scripts. User classes should inherit from this model if they want to extend Script Base model for custom scripts. User classes should inherit from this model if they want to extend Script
functionality for use in other subclasses. functionality for use in other subclasses.
@ -510,15 +510,12 @@ class BaseScript(object):
return data return data
def run_test_scripts(self, job): def run_tests(self, job):
""" """
Run the report and save its results. Each test method will be executed in order. Run the report and save its results. Each test method will be executed in order.
""" """
self.logger.info(f"Running report") self.logger.info(f"Running report")
# Perform any post-run tasks
self.pre_run()
try: try:
for method_name in self.test_methods: for method_name in self.test_methods:
self._current_method = method_name self._current_method = method_name
@ -529,12 +526,12 @@ class BaseScript(object):
self._current_method = 'unassigned' self._current_method = 'unassigned'
raise e raise e
# Perform any post-run tasks
self.post_run()
self._current_method = 'unassigned' self._current_method = 'unassigned'
def run(self, data, commit): def run(self, data, commit):
self.run_test_scripts() self.pre_run()
self.run_tests()
self.post_run()
def pre_run(self): def pre_run(self):
""" """

View File

@ -51,28 +51,8 @@ def is_script(obj):
""" """
Returns True if the object is a Script. Returns True if the object is a Script.
""" """
from .scripts import Script
try:
return issubclass(obj, Script) and obj != Script
except TypeError:
return False
# TODO: Deprecated legacy reports support
def is_report(obj):
"""
Returns True if the given object is a Report.
"""
from .reports import Report
try:
return issubclass(obj, Report) and obj != Report
except TypeError:
return False
def is_script_or_report(obj):
"""
Returns True if the given object is a Report.
"""
from .reports import Report from .reports import Report
from .scripts import Script from .scripts import Script
try: try: