AI Slop Code RIsk Monitor

netbox-community/netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/products/free-netbox-cloud/

18.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for netbox-community/netbox, a Python project with 21,677 GitHub stars. SynthScan examined 332,551 lines of code across 1805 source files, recording 5046 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 18.2 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

18.2
Adjusted Signal
18.2
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
21.7K
Stars
Python
Language
332.6K
Lines of Code
1.8K
Files
5.0K
Pattern Hits
2026-10-12
Scan Date
0.10
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 42.3/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 3844 finding(s).

Hallucinated Dependency & Supply Chain Risk 26.3/100 · MEDIUM

Are imports declared and package/API names verified? 1087 finding(s).

Agent Over-Engineering Ratio 39.5/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 3607 finding(s).

PR Review Velocity Impact 63.3/100 · HIGH

Which changes need focused human review? 5046 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 94HIGH 88MEDIUM 164LOW 4700

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 5046 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers3484 hits · 2962 pts
SeverityFileLineSnippetContext
LOWnetbox/netbox/utils.py61def register_request_processor(func):CODE
LOWnetbox/netbox/settings_utils.py105def validate_webhook_default_timeout(timeout, job_timeout):CODE
LOWnetbox/netbox/event_rules.py141def register_event_rule_action(cls, *, is_plugin_provided=True):CODE
LOWnetbox/netbox/event_rules.py196def get_event_rule_action_choices():CODE
LOWnetbox/netbox/event_rules.py203def get_event_rule_action_slugs():CODE
LOWnetbox/netbox/middleware.py46 def should_redirect_with_slash(self, request):CODE
LOWnetbox/netbox/ui/attrs.py651def compute_flow_rate_display(flow_rate, flow_rate_unit, abs_flow_rate, system):CODE
LOWnetbox/netbox/tables/tables.py162 def _get_custom_field_ordering_columns(self, order_by):CODE
LOWnetbox/netbox/tables/tables.py180 def _apply_ordering_annotations(self, ordering_columns):CODE
LOWnetbox/netbox/tables/tables.py197 def _apply_ordering_tie_breaker(self):CODE
LOWnetbox/netbox/tables/tables.py361 def _restrict_customlink_columns(self, user):CODE
LOWnetbox/netbox/forms/mixins.py77 def _append_customfield_fields(self):CODE
LOWnetbox/netbox/plugins/registration.py49def register_template_extensions(class_list):CODE
LOWnetbox/netbox/plugins/registration.py110def _register_graphql_extensions(class_list, store):CODE
LOW⚡netbox/netbox/plugins/registration.py217def register_graphql_type_extensions(class_list):CODE
LOW⚡netbox/netbox/plugins/registration.py225def register_graphql_filter_extensions(class_list):CODE
LOW⚡netbox/netbox/plugins/registration.py233def register_user_preferences(plugin_name, preferences):CODE
LOW⚡netbox/netbox/plugins/registration.py240def register_serializer_resolver(app_label, resolver):CODE
LOWnetbox/netbox/plugins/__init__.py224def _load_plugin_graphql_schemas():CODE
LOWnetbox/netbox/tests/test_forms.py53 def test_empty_string_to_none_nullable_charfield(self):CODE
LOWnetbox/netbox/tests/test_forms.py66 def test_empty_string_to_none_nullable_integerfield(self):CODE
LOWnetbox/netbox/tests/test_forms.py79 def test_empty_string_to_none_nullable_smallintegerfield(self):CODE
LOWnetbox/netbox/tests/test_forms.py92 def test_empty_string_to_none_nullable_decimalfield(self):CODE
LOWnetbox/netbox/tests/test_forms.py107 def test_empty_string_to_none_nullable_foreignkey(self):CODE
LOWnetbox/netbox/tests/test_forms.py126 def test_empty_string_preserved_non_nullable_charfield(self):CODE
LOWnetbox/netbox/tests/test_forms.py142 def test_empty_string_not_converted_for_required_fields(self):CODE
LOWnetbox/netbox/tests/test_forms.py156 def test_non_string_none_value_preserved(self):CODE
LOWnetbox/netbox/tests/test_forms.py171 def test_non_string_numeric_values_preserved(self):CODE
LOWnetbox/netbox/tests/test_forms.py186 def test_manytomany_fields_skipped(self):CODE
LOWnetbox/netbox/tests/test_forms.py199 def test_fields_not_in_cleaned_data_skipped(self):CODE
LOWnetbox/netbox/tests/test_forms.py213 def test_valid_string_values_preserved(self):CODE
LOWnetbox/netbox/tests/test_forms.py231 def test_multiple_nullable_fields_with_empty_strings(self):CODE
LOWnetbox/netbox/tests/test_forms.py255 def test_mixed_nullable_and_non_nullable_empty_strings(self):CODE
LOWnetbox/netbox/tests/test_forms.py276 def test_wireless_fields_nullable(self):CODE
LOWnetbox/netbox/tests/test_forms.py323 def test_missing_field_validation_error_becomes_non_field_error(self):CODE
LOWnetbox/netbox/tests/test_forms.py342 def test_non_field_error_not_overwritten_by_remapped_missing_field_error(self):CODE
LOWnetbox/netbox/tests/test_forms.py361 def test_remapped_error_preserves_code_and_params(self):CODE
LOWnetbox/netbox/tests/test_forms.py390 def test_remapped_error_preserves_pluralized_message(self):CODE
LOWnetbox/netbox/tests/test_forms.py466 def test_partial_swap_fields_target_their_fieldset(self):CODE
LOWnetbox/netbox/tests/test_forms.py481 def test_interface_mode_retains_option_descriptions(self):CODE
LOWnetbox/netbox/tests/test_forms.py487 def test_full_form_fields_do_not_partial_swap(self):CODE
LOWnetbox/netbox/tests/test_forms.py556 def test_meta_config_does_not_shadow_declared_fields(self):CODE
LOWnetbox/netbox/tests/test_forms.py574 def test_localized_fields_all_sentinel_expands_to_declared(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py16 def test_explicit_module_wins(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py24 def test_checkout_uses_default_module(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py31 def test_checkout_missing_module_raises_improperly_configured(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py41 def test_wheel_prefers_conf_dir(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py104 def test_import_from_path_removes_module_on_failure(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py113 def test_import_from_path_rejects_unloadable_path(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py121 def test_import_from_path_preserves_preexisting_sys_path_entry(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py251 def test_wheel_mode_suggests_console_command(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py254 def test_checkout_mode_suggests_generate_secret_key_script(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py264 def test_integer_is_returned_unchanged(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py267 def test_numeric_string_is_coerced(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py270 def test_duration_string_is_normalized(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py275 def test_absent_or_zero_timeout_falls_back_to_queue_default(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py282 def test_negative_timeout_is_unbounded(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py288 def test_invalid_value_raises(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py298 def test_valid_timeout_below_job_timeout(self):CODE
LOW⚡netbox/netbox/tests/test_settings_utils.py301 def test_timeout_at_or_above_job_timeout_raises(self):CODE
3424 more matches not shown…
Hallucination Indicators94 hits · 960 pts
SeverityFileLineSnippetContext
CRITICALnetbox/netbox/tests/test_forms.py5from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALnetbox/netbox/tests/test_model_features.py7from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/netbox/models/mixins.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/core/tests/test_signals.py6from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/core/tests/test_signals.py559 autosync_model.objects.filter.return_value.order_by.assert_called_once_with('pk')CODE
CRITICALnetbox/core/tests/test_management_commands.py295 data_source_model.objects.filter.return_value.update.assert_called_once_with(CODE
CRITICALnetbox/core/models/files.py6from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/core/models/change_logging.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/core/models/jobs.py10from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/core/models/data.py9from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/virtualization/forms/model_forms.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/virtualization/tests/test_models.py3from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/virtualization/models/clusters.py3from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/virtualization/models/virtualmachines.py4from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/circuits/models/virtual_circuits.py4from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/circuits/models/circuits.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/tenancy/models/contacts.py3from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/vpn/forms/model_forms.py2from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/vpn/forms/bulk_import.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/vpn/tests/test_models.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/vpn/models/tunnels.py2from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/vpn/models/crypto.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/vpn/models/l2vpn.py2from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/fields.py2from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/cable_profiles.py3from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/views.py4from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/svg/racks.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/forms/mixins.py3from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/forms/common.py2from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/tests/test_channelization.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/tests/test_models.py7from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/tests/test_module_moves.py9from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/mixins.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/device_component_templates.py3from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/cooling.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/module_moves.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/sites.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/modules.py6from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/racks.py7from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/cables.py10from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/cables.py780 termination = self.termination._meta.model.objects.get(pk=self.termination_id)CODE
CRITICALnetbox/dcim/models/cables.py788 termination = self.termination._meta.model.objects.get(pk=self.termination_id)CODE
CRITICALnetbox/dcim/models/devices.py8from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/power.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/models/base.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/dcim/api/serializers_/mixins.py1from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALnetbox/utilities/password_validation.py1from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/utilities/validators.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/utilities/jinja2.py6from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/utilities/jsonschema.py7from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/utilities/filters.py5from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/utilities/templatetags/form_helpers.py67 return field.field.widget.__class__.__name__.lower()CODE
CRITICALnetbox/utilities/forms/fields/csv.py3from django.core.exceptions import FieldError, MultipleObjectsReturned, ObjectDoesNotExistCODE
CRITICALnetbox/utilities/tests/test_jsonschema.py5from django.core.exceptions import ValidationErrorCODE
CRITICAL⚡netbox/utilities/tests/test_ltree.py183 from django.core.exceptions import ValidationErrorCODE
CRITICAL⚡netbox/utilities/tests/test_ltree.py194 from django.core.exceptions import ValidationErrorCODE
CRITICAL⚡netbox/utilities/tests/test_ltree.py206 from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/utilities/tests/test_ltree.py826 from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/wireless/models.py2from django.core.exceptions import ValidationErrorCODE
CRITICALnetbox/users/views.py1from django.core.exceptions import ValidationErrorCODE
34 more matches not shown…
Unused Imports941 hits · 908 pts
SeverityFileLineSnippetContext
LOWnetbox/netbox/settings.py1061CODE
LOWnetbox/netbox/settings.py365CODE
LOWnetbox/netbox/tables/__init__.py1CODE
LOWnetbox/netbox/tables/__init__.py2CODE
LOWnetbox/netbox/tables/tables.py18CODE
LOWnetbox/netbox/tables/tables.py28CODE
LOWnetbox/netbox/forms/model_forms.py7CODE
LOWnetbox/netbox/forms/mixins.py5CODE
LOWnetbox/netbox/forms/mixins.py6CODE
LOWnetbox/netbox/forms/filtersets.py4CODE
LOWnetbox/netbox/forms/__init__.py1CODE
LOWnetbox/netbox/forms/__init__.py2CODE
LOWnetbox/netbox/forms/__init__.py3CODE
LOWnetbox/netbox/forms/__init__.py4CODE
LOWnetbox/netbox/forms/__init__.py5CODE
LOWnetbox/netbox/forms/__init__.py6CODE
LOWnetbox/netbox/forms/bulk_import.py6CODE
LOWnetbox/netbox/forms/bulk_edit.py5CODE
LOWnetbox/netbox/plugins/__init__.py15CODE
LOWnetbox/netbox/plugins/__init__.py16CODE
LOWnetbox/netbox/plugins/__init__.py17CODE
LOWnetbox/netbox/plugins/__init__.py18CODE
LOWnetbox/netbox/tests/test_import.py2CODE
LOWnetbox/netbox/tests/test_jobs.py19CODE
LOWnetbox/netbox/tests/dummy_plugin/__init__.py30CODE
LOWnetbox/netbox/tests/dummy_plugin/__init__.py30CODE
LOWnetbox/netbox/tests/dummy_plugin/__init__.py30CODE
LOWnetbox/netbox/tests/dummy_plugin/graphql_extensions.py12CODE
LOWnetbox/netbox/tests/dummy_plugin/broken_import.py2CODE
LOWnetbox/netbox/tests/dummy_plugin/views.py14CODE
LOWnetbox/netbox/navigation/menu.py7CODE
LOWnetbox/netbox/models/mixins.py5CODE
LOWnetbox/netbox/models/__init__.py10CODE
LOWnetbox/netbox/models/features.py15CODE
LOWnetbox/netbox/graphql/enums.py3CODE
LOWnetbox/netbox/graphql/filter_mixins.py19CODE
LOWnetbox/netbox/graphql/filter_mixins.py20CODE
LOWnetbox/netbox/graphql/filter_mixins.py22CODE
LOWnetbox/netbox/graphql/filters.py13CODE
LOWnetbox/netbox/api/serializers/__init__.py1CODE
LOWnetbox/netbox/api/serializers/__init__.py2CODE
LOWnetbox/netbox/api/serializers/__init__.py3CODE
LOWnetbox/netbox/api/serializers/__init__.py4CODE
LOWnetbox/netbox/api/serializers/__init__.py6CODE
LOWnetbox/netbox/api/serializers/__init__.py7CODE
LOWnetbox/netbox/views/__init__.py1CODE
LOWnetbox/netbox/views/__init__.py2CODE
LOWnetbox/netbox/views/generic/__init__.py1CODE
LOWnetbox/netbox/views/generic/__init__.py2CODE
LOWnetbox/netbox/views/generic/__init__.py3CODE
LOWnetbox/core/signals.py18CODE
LOWnetbox/core/filtersets.py12CODE
LOWnetbox/core/filtersets.py13CODE
LOWnetbox/core/apps.py9CODE
LOWnetbox/core/apps.py31CODE
LOWnetbox/core/apps.py32CODE
LOWnetbox/core/apps.py32CODE
LOWnetbox/core/apps.py32CODE
LOWnetbox/core/apps.py37CODE
LOWnetbox/core/apps.py39CODE
881 more matches not shown…
Self-Referential Comments138 hits · 423 pts
SeverityFileLineSnippetContext
MEDIUMupgrade.sh50# Create a new virtual environmentCOMMENT
MEDIUMnetbox/netbox/configuration_example.py71# Define a mapping of cryptographic peppers to use when hashing API tokens. A minimum of one pepper is required toCOMMENT
MEDIUMnetbox/netbox/tables/columns.py328 # Create the actions dropdown menuCOMMENT
MEDIUMnetbox/netbox/tables/tables.py331 # Create a copy to avoid modifying the original ColumnCOMMENT
MEDIUMnetbox/netbox/tests/test_authentication.py43 # Create a v1 tokenCOMMENT
MEDIUMnetbox/netbox/tests/test_authentication.py65 # Create a v2 tokenCOMMENT
MEDIUMnetbox/netbox/tests/test_authentication.py724 # Create a permitted objectCOMMENT
MEDIUM⚡netbox/netbox/tests/test_config.py65 # Creating the first ConfigRevision fires the post_save handler, which activates it andCOMMENT
MEDIUM⚡netbox/netbox/tests/test_config.py107 # Create a config but don't load it into the cacheCOMMENT
MEDIUM⚡netbox/netbox/tests/test_config.py117 # Create a config and load it into the cacheCOMMENT
MEDIUMnetbox/netbox/tests/test_config.py129 # Create a config and load it into the cacheCOMMENT
MEDIUMnetbox/netbox/models/deletion.py120 # Create a unique key for this relationCOMMENT
MEDIUMnetbox/netbox/search/deferred.py11# This module is internal plumbing for the search signal handlers; nothing hereCOMMENT
MEDIUMnetbox/netbox/views/generic/object_views.py610 # Create the new componentsCOMMENT
MEDIUMnetbox/netbox/authentication/__init__.py106 # Create a dictionary mapping permissions to their constraintsCOMMENT
MEDIUMnetbox/netbox/authentication/__init__.py314# Create a new instance of django-auth-ldap's LDAPBackend with our own ObjectPermissionsCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py48 # Create a custom field on the Site modelCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py58 # Create a select custom field on the Site modelCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py236 # Create a SiteCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py266 # Create a SiteCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py337 # Create a cable between the interfacesCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py407 # Create a custom field on the Site modelCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py417 # Create a select custom field on the Site modelCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py656 # Create a new ModuleCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py668 # Create an Interface on the ModuleCOMMENT
MEDIUMnetbox/core/tests/test_changelog.py716 # Create a FrontPort mapped to the RearPort (creates a PortMapping)COMMENT
MEDIUMnetbox/virtualization/tests/test_views.py715 # Create a child interfaceCOMMENT
MEDIUM⚡netbox/virtualization/tests/test_models.py115 # Create the first VMCOMMENT
MEDIUM⚡netbox/virtualization/tests/test_models.py124 # Create the second VMCOMMENT
MEDIUMnetbox/virtualization/tests/test_models.py161 # Create the cluster typeCOMMENT
MEDIUMnetbox/virtualization/tests/test_models.py700 # Create a VM pinned to device_in_clusterCOMMENT
MEDIUMnetbox/virtualization/tests/test_models.py718 # Create a VM pinned to a deviceCOMMENT
MEDIUMnetbox/virtualization/tests/test_api.py856 # Create a child interfaceCOMMENT
MEDIUMnetbox/tenancy/tests/test_models.py108 # Create a tree of contact groups:COMMENT
MEDIUMnetbox/dcim/views.py122 # Create a new Form class from ConfirmationFormCOMMENT
MEDIUMnetbox/dcim/svg/cables.py446 # Create the connectorCOMMENT
MEDIUMnetbox/dcim/tests/test_cablepaths2.py1246 # Create a 2-connector trunk cable with both A-side connectorsCOMMENT
MEDIUMnetbox/dcim/tests/test_cablepaths2.py2345 # Create a PortMapping between frontport1 and rearport1COMMENT
MEDIUMnetbox/dcim/tests/test_cablepaths2.py2707 # Create the mid-span cable without a profileCOMMENT
MEDIUMnetbox/dcim/tests/test_cablepaths2.py2865 # Creating the cable warms both caches and saving it resets the flagCOMMENT
MEDIUMnetbox/dcim/tests/test_signals.py877 # Creating a PortMapping connecting the front and rear ports should retrace pathsCOMMENT
MEDIUMnetbox/dcim/tests/test_tables.py212 # Create the servers in ascending order, then cable them in descending order, so thatCOMMENT
MEDIUM⚡netbox/dcim/tests/test_views.py3506 # Create a module *without* replicating componentsCOMMENT
MEDIUM⚡netbox/dcim/tests/test_views.py3515 # Create a second module (in the next bay) with replicated componentsCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py3543 # Create a module *without* replicating componentsCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py3564 # Create a second module (in the next bay) with replicated componentsCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py3602 # Create an interface to be adoptedCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py3609 # Create a module with adopted componentsCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py3646 # Create an interface to be adoptedCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py3653 # Create a module with adopted componentsCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py4173 # Create a child interfaceCOMMENT
MEDIUMnetbox/dcim/tests/test_views.py1126 # Create the manufacturer and platformSTRING
MEDIUMnetbox/dcim/tests/test_views.py1873 # Create the manufacturerSTRING
MEDIUM⚡netbox/dcim/tests/test_models.py2195 # Create a module type with a rear port templateCOMMENT
MEDIUM⚡netbox/dcim/tests/test_models.py2201 # Create a rear port template with 12 positions (splice)COMMENT
MEDIUM⚡netbox/dcim/tests/test_models.py2280 # Create a module type without any port template mappingsCOMMENT
MEDIUM⚡netbox/dcim/tests/test_models.py2286 # Create a rear port templateCOMMENT
MEDIUMnetbox/dcim/tests/test_models.py803 # Create a CustomField with a default value & assign it to all component modelsCOMMENT
MEDIUMnetbox/dcim/tests/test_models.py1314 # Create a disabled device bay with a device being installedCOMMENT
MEDIUMnetbox/dcim/tests/test_models.py1355 # Create an enabled device bay with a device installedCOMMENT
78 more matches not shown…
Empty Error Handlers61 hits · 305 pts
SeverityFileLineSnippetContext
HIGHnetbox/netbox/filtersets.py126except (ValueError, TypeError):CODE
HIGHnetbox/netbox/settings.py1063except ImportError:CODE
HIGHnetbox/netbox/tables/columns.py739except Exception:CODE
HIGHnetbox/netbox/tables/tables.py393except NoReverseMatch:CODE
HIGHnetbox/netbox/tests/test_search.py646except RuntimeError:CODE
HIGHnetbox/netbox/tests/test_search.py747except RuntimeError:CODE
HIGHnetbox/netbox/tests/test_search.py785except RuntimeError:CODE
HIGHnetbox/netbox/models/features.py674except DataFile.DoesNotExist:CODE
HIGHnetbox/netbox/search/backends.py193except (AddrFormatError, ValueError):CODE
HIGHnetbox/netbox/api/metadata.py29except (exceptions.APIException, PermissionDenied, Http404):CODE
HIGHnetbox/netbox/api/fields.py93except TypeError: # Input is an unhashable typeCODE
HIGHnetbox/netbox/api/fields.py87except ValueError:CODE
HIGHnetbox/netbox/api/pagination.py132except (KeyError, ValueError):CODE
HIGHnetbox/netbox/views/misc.py112except re.error:CODE
HIGHnetbox/netbox/authentication/__init__.py331except ModuleNotFoundError:CODE
HIGHnetbox/netbox/authentication/__init__.py237except User.DoesNotExist:CODE
HIGHnetbox/core/plugins.py238except requests.exceptions.RequestException:CODE
HIGHnetbox/core/checks.py156except Exception:CODE
HIGHnetbox/core/apps.py59except Exception:CODE
HIGHnetbox/core/jobs.py108except requests.exceptions.RequestException:CODE
HIGHnetbox/core/utils.py203except DatabaseError:CODE
HIGHnetbox/core/utils.py69except NoSuchJobError:CODE
HIGHnetbox/core/views.py725except (DatabaseError, IndexError):CODE
HIGHnetbox/core/forms/model_forms.py191except TypeError:CODE
HIGHnetbox/core/tests/test_data_backends.py78except Exception:CODE
HIGHnetbox/core/management/commands/nbshell.py153except ModuleNotFoundError: # pragma: no coverCODE
HIGHnetbox/core/models/files.py119except FileNotFoundError:CODE
HIGHnetbox/core/models/object_types.py32except ObjectDoesNotExist:CODE
HIGHnetbox/core/models/jobs.py214except InvalidJobOperation:CODE
HIGHnetbox/virtualization/filtersets.py317except (AddrFormatError, ValueError):CODE
HIGHnetbox/vpn/filtersets.py380except ValueError:CODE
HIGHnetbox/dcim/filtersets.py239except ValueError:CODE
HIGHnetbox/dcim/filtersets.py1649except (AddrFormatError, ValueError):CODE
HIGHnetbox/dcim/filtersets.py1744except ValueError:CODE
HIGHnetbox/dcim/views.py1987except ModuleType.DoesNotExist:CODE
HIGHnetbox/dcim/views.py4410except ModuleBay.DoesNotExist:CODE
HIGHnetbox/dcim/forms/bulk_import.py1552except forms.ValidationError:CODE
HIGHnetbox/dcim/models/racks.py601except ValueError:CODE
HIGHnetbox/dcim/models/devices.py928except DeviceType.DoesNotExist:CODE
HIGHnetbox/utilities/fields.py336except ObjectDoesNotExist:CODE
HIGHnetbox/utilities/paginator.py86except ValueError:CODE
HIGHnetbox/utilities/json.py51except ValueError:CODE
HIGHnetbox/utilities/views.py182except NoReverseMatch:CODE
HIGHnetbox/utilities/forms/bulk_import.py100except IndexError:CODE
HIGHnetbox/utilities/forms/widgets/modifiers.py121except (ValueError, TypeError):CODE
HIGHnetbox/users/models/preferences.py49except (TypeError, KeyError):CODE
HIGHnetbox/users/models/preferences.py59except (TypeError, KeyError):CODE
HIGHnetbox/ipam/filtersets.py201except (AddrFormatError, ValueError):CODE
HIGHnetbox/ipam/filtersets.py315except ValueError:CODE
HIGHnetbox/ipam/filtersets.py446except (AddrFormatError, ValueError):CODE
HIGHnetbox/ipam/filtersets.py566except (AddrFormatError, ValueError):CODE
HIGHnetbox/ipam/filtersets.py1140except ValueError:CODE
HIGHnetbox/ipam/filtersets.py1235except ValueError:CODE
HIGHnetbox/ipam/filtersets.py455except (AddrFormatError, ValueError):CODE
HIGHnetbox/ipam/views.py1210except (ValueError, Interface.DoesNotExist):CODE
HIGHnetbox/ipam/views.py1216except (ValueError, VMInterface.DoesNotExist):CODE
HIGHnetbox/ipam/views.py1222except (ValueError, FHRPGroup.DoesNotExist):CODE
HIGHnetbox/extras/filtersets.py609except ValueError:CODE
HIGHnetbox/extras/models/models.py923except ImportError:CODE
HIGHnetbox/extras/dashboard/widgets.py303except ValueError:CODE
1 more matches not shown…
Cross-Language Confusion26 hits · 134 pts
SeverityFileLineSnippetContext
HIGHnetbox/netbox/models/ltree.py531 SELECT r.id, r.parent_id, t.sort_path || chr(9) || r.{name_col}CODE
HIGHnetbox/netbox/api/pagination.py24 offset-based pagination. In cursor mode, `count` is omitted (null) for performance.STRING
HIGHnetbox/dcim/forms/bulk_edit.py2067 # Query for VLANs assigned to the same site and VLANs with no site assigned (null).COMMENT
HIGHnetbox/dcim/tests/test_api.py4572 An interface with no primary MAC round-trips both fields as null; echoing both back is accepted.STRING
HIGH⚡netbox/dcim/models/cables.py1023 # If not null, push cable positions onto the stackCOMMENT
HIGHnetbox/utilities/ltree.py132 NEW.path := parent_path || lpad(NEW.id::text, 19, '0')::ltree;CODE
HIGHnetbox/utilities/ltree.py148 'UPDATE %%I SET path = $1 || subpath(path, nlevel($2))'CODE
HIGHnetbox/utilities/ltree.py202 NEW.path := parent_path || lpad(NEW.id::text, 19, '0')::ltree;CODE
HIGHnetbox/utilities/ltree.py203 NEW.sort_path := parent_sort_path || chr(9) || NEW."{name_col}";CODE
HIGHnetbox/utilities/ltree.py224 ' path = $1 || subpath(path, nlevel($2)), 'STRING
HIGHnetbox/utilities/mptt_to_ltree.py103 t.path || lpad(r.id::text, {_PATH_LABEL_WIDTH}, '0')::ltree,CODE
HIGHnetbox/utilities/mptt_to_ltree.py104 t.sort_path || chr(9) || r.nameCODE
HIGHnetbox/utilities/mptt_to_ltree.py115 SELECT r.id, r.parent_id, t.path || lpad(r.id::text, {_PATH_LABEL_WIDTH}, '0')::ltreeCODE
HIGHnetbox/utilities/mptt_to_ltree.py145 f" WHERE c.path <> p.path || lpad(c.id::text, {_PATH_LABEL_WIDTH}, '0')::ltree"STRING
HIGHnetbox/utilities/mptt_to_ltree.py153 f' WHERE c.sort_path <> p.sort_path || chr(9) || c.name'STRING
HIGHnetbox/utilities/tests/test_filter_modifiers.py113 # Simulate a query for objects with no tenant assigned (?tenant_id=null)COMMENT
HIGHnetbox/ipam/tests/test_forms.py293 '[null]', # a null rowCODE
HIGHnetbox/extras/lookups.py90 A key is considered empty if it is "", null, or does not exist.STRING
HIGHnetbox/extras/conditions.py199 # The referenced snapshot is null, which excuses only data the event would otherwiseCOMMENT
HIGHnetbox/extras/conditions.py301 # An absent snapshot resolves to null, which satisfies only a comparison againstCOMMENT
HIGHnetbox/extras/filters.py60 # `<key>__isnull` matches only a missing key and `<key>=None` only a JSON null, so togetherCOMMENT
HIGHnetbox/extras/tests/test_customfields.py2737 # do an object holding an explicit null; see MissingKeyAwareFilterMixin.COMMENT
HIGHnetbox/extras/tests/test_customfields.py122 site_c = Site.objects.get(name='Site C') # no value (null)CODE
HIGHnetbox/extras/tests/test_customfields.py2514 null, which CustomField.validate() rejects for a required field.STRING
HIGH⚡netbox/extras/tests/test_models.py1678 clean() should accept a JSON object (or null) as action_data.STRING
HIGHnetbox/extras/models/models.py181 # action_data must be a JSON object (or null)COMMENT
Deep Nesting129 hits · 120 pts
SeverityFileLineSnippetContext
LOWnetbox/netbox/filtersets.py111CODE
LOWnetbox/netbox/filtersets.py198CODE
LOWnetbox/netbox/filtersets.py410CODE
LOWnetbox/netbox/jobs.py110CODE
LOWnetbox/netbox/settings_utils.py147CODE
LOWnetbox/netbox/tables/tables.py120CODE
LOWnetbox/netbox/forms/bulk_import.py74CODE
LOWnetbox/netbox/tests/test_forms.py513CODE
LOWnetbox/netbox/tests/test_model_features.py108CODE
LOWnetbox/netbox/tests/test_search.py762CODE
LOWnetbox/netbox/tests/test_api_background.py311CODE
LOWnetbox/netbox/models/__init__.py86CODE
LOWnetbox/netbox/models/features.py140CODE
LOWnetbox/netbox/models/deletion.py82CODE
LOWnetbox/netbox/search/backends.py176CODE
LOWnetbox/netbox/search/backends.py262CODE
LOWnetbox/netbox/search/backends.py410CODE
LOWnetbox/netbox/graphql/utils.py86CODE
LOWnetbox/netbox/graphql/pagination.py84CODE
LOWnetbox/netbox/api/fields.py66CODE
LOWnetbox/netbox/api/pagination.py113CODE
LOWnetbox/netbox/views/generic/object_views.py275CODE
LOWnetbox/netbox/views/generic/object_views.py575CODE
LOWnetbox/netbox/views/generic/bulk_views.py428CODE
LOWnetbox/netbox/views/generic/bulk_views.py521CODE
LOWnetbox/netbox/views/generic/bulk_views.py586CODE
LOWnetbox/netbox/views/generic/bulk_views.py733CODE
LOWnetbox/netbox/views/generic/bulk_views.py834CODE
LOWnetbox/netbox/views/generic/bulk_views.py933CODE
LOWnetbox/netbox/views/generic/bulk_views.py1076CODE
LOWnetbox/netbox/views/generic/bulk_views.py1110CODE
LOWnetbox/netbox/views/generic/bulk_views.py1208CODE
LOWnetbox/netbox/views/generic/bulk_views.py1333CODE
LOWnetbox/core/signals.py94CODE
LOWnetbox/core/signals.py171CODE
LOWnetbox/core/signals.py313CODE
LOWnetbox/core/models/data.py180CODE
LOWnetbox/virtualization/forms/model_forms.py160CODE
LOWnetbox/virtualization/forms/bulk_edit.py301CODE
LOWnetbox/virtualization/models/virtualmachines.py288CODE
LOWnetbox/circuits/models/circuits.py463CODE
LOWnetbox/vpn/forms/model_forms.py526CODE
LOWnetbox/dcim/signals.py403CODE
LOWnetbox/dcim/utils.py156CODE
LOWnetbox/dcim/utils.py356CODE
LOWnetbox/dcim/views.py134CODE
LOWnetbox/dcim/svg/cables.py168CODE
LOWnetbox/dcim/svg/cables.py352CODE
LOWnetbox/dcim/tables/cables.py30CODE
LOWnetbox/dcim/forms/model_forms.py1791CODE
LOWnetbox/dcim/forms/model_forms.py2410CODE
LOWnetbox/dcim/forms/connections.py12CODE
LOWnetbox/dcim/forms/connections.py16CODE
LOWnetbox/dcim/forms/common.py114CODE
LOWnetbox/dcim/forms/bulk_edit.py2049CODE
LOWnetbox/dcim/tests/test_api.py3316CODE
LOWnetbox/dcim/tests/test_api.py4685CODE
LOWnetbox/dcim/tests/test_api.py136CODE
LOWnetbox/dcim/tests/test_cablepath_rebuilds.py179CODE
LOWnetbox/dcim/tests/test_cablepath_rebuilds.py1069CODE
69 more matches not shown…
Excessive Try-Catch Wrapping42 hits · 46 pts
SeverityFileLineSnippetContext
LOWnetbox/netbox/jobs.py128 except Exception as e:CODE
LOWnetbox/netbox/settings_utils.py172 except Exception:CODE
LOWnetbox/netbox/tables/columns.py728 except Exception as e:STRING
LOWnetbox/netbox/tables/columns.py739 except Exception:STRING
MEDIUMnetbox/netbox/tables/columns.py724def render(self, record, table, **kwargs):CODE
MEDIUMnetbox/netbox/tables/columns.py735def value(self, record, table, **kwargs):CODE
LOWnetbox/netbox/models/ltree.py134 except Exception:CODE
LOWnetbox/netbox/search/deferred.py71 except Exception:CODE
LOWnetbox/netbox/api/viewsets/mixins.py272 except Exception:CODE
LOWnetbox/netbox/views/misc.py52 except Exception:CODE
LOWnetbox/netbox/views/misc.py64 except Exception:CODE
LOWnetbox/netbox/views/generic/bulk_views.py169 except Exception as e:CODE
LOWnetbox/core/signals.py347 except Exception as e:CODE
LOWnetbox/core/checks.py156 except Exception:CODE
LOWnetbox/core/apps.py59 except Exception:CODE
LOWnetbox/core/jobs.py53 except Exception as e:CODE
LOWnetbox/core/tables/tasks.py110 except Exception as e:CODE
MEDIUMnetbox/core/tables/tasks.py107def render_callable(self, value, record):CODE
LOW⚡netbox/core/tests/test_data_backends.py78 except Exception:CODE
LOWnetbox/core/management/commands/syncdatasource.py41 except Exception as e:CODE
LOWnetbox/utilities/request.py144 except Exception as e:CODE
LOWnetbox/utilities/api.py69 except Exception:CODE
LOWnetbox/utilities/rqworker.py59 except Exception:CODE
MEDIUMnetbox/utilities/rqworker.py46def heartbeat(self, *args, **kwargs):CODE
LOWnetbox/utilities/templatetags/plugins.py45 except Exception as e:CODE
LOWnetbox/extras/events.py240 except Exception:CODE
LOWnetbox/extras/jobs.py336 except Exception as e:CODE
LOWnetbox/extras/scripts.py673 except Exception as e:CODE
LOWnetbox/extras/webhooks.py72 except Exception as e:CODE
LOWnetbox/extras/views.py1326 except Exception as e:CODE
LOWnetbox/extras/templatetags/dashboard.py15 except Exception as e:CODE
LOWnetbox/extras/templatetags/custom_links.py70 except Exception as e:STRING
LOWnetbox/extras/templatetags/custom_links.py85 except Exception as e:STRING
LOWnetbox/extras/forms/scripts.py89 except Exception as e:CODE
LOWnetbox/extras/forms/scripts.py98 except Exception as e:CODE
LOWnetbox/extras/models/mixins.py150 except Exception:CODE
LOWnetbox/extras/models/scripts.py164 except Exception as e:CODE
LOWnetbox/extras/api/mixins.py67 except Exception as e:CODE
MEDIUMnetbox/extras/api/mixins.py64def render_configtemplate(self, request, configtemplate, context):CODE
LOWnetbox/extras/api/serializers_/scripts.py65 except Exception as e:CODE
LOWnetbox/extras/api/serializers_/scripts.py95 except Exception:CODE
LOWnetbox/extras/api/serializers_/scripts.py109 except Exception:CODE
AI Slop Vocabulary13 hits · 39 pts
SeverityFileLineSnippetContext
MEDIUMnetbox/netbox/tests/test_search.py20 # each registered callback as a (savepoint_ids, func, robust) tuple.COMMENT
MEDIUM⚡netbox/netbox/tests/test_views.py521 # super().delete(). Note what this detects: every test here runs inside the harness'COMMENT
MEDIUM⚡netbox/netbox/tests/test_views.py524 # escapes the collector's atomic(savepoint=False) and marks the harness' transaction asCOMMENT
MEDIUMnetbox/netbox/search/backends.py248 # Omit any results pertaining to an object the user does not have permission to viewCOMMENT
MEDIUMnetbox/netbox/search/deferred.py62 # On the transactional path below, transaction.on_commit(..., robust=True)COMMENT
MEDIUMnetbox/netbox/search/deferred.py90 # robust=True is required, not just belt-and-suspenders: Django runsCOMMENT
MEDIUMnetbox/netbox/search/deferred.py94 # _flush handles the recoverable Redis fault itself; robust=True is theCOMMENT
MEDIUMnetbox/core/signals.py126 # This will impact changes that utilize clear() however so we may want to give consideration for this branchCOMMENT
MEDIUMnetbox/core/models/data.py359 # TODO: Something more robustCOMMENT
LOWnetbox/core/api/schema.py142 # if not bulk - just return normal idCOMMENT
MEDIUMnetbox/dcim/tests/test_models.py415 # A non-robust on-commit callback would re-raise the OSError hereCOMMENT
MEDIUMnetbox/dcim/models/cables.py249 # Query self.terminations.all() to leverage cached resultsCOMMENT
LOWnetbox/utilities/paginator.py48 # When dealing with five or fewer pages, simply return the whole list.COMMENT
Over-Commented Block29 hits · 29 pts
SeverityFileLineSnippetContext
LOWbase_requirements.txt21# HTMX utilities for DjangoCOMMENT
LOWbase_requirements.txt61COMMENT
LOWnetbox/netbox/jobs.py161 # Reschedule the next occurrence. If the object's configuration has become invalid since this run wasCOMMENT
LOWnetbox/netbox/jobs.py381 # Re-apply object-level permission restriction exactly as BaseViewSet.initial() does.COMMENT
LOWnetbox/netbox/configuration_example.py1#########################COMMENT
LOWnetbox/netbox/configuration_example.py41 # Set this to True to skip TLS certificate verificationCOMMENT
LOWnetbox/netbox/configuration_example.py61 # 'CA_CERT_PATH': '/etc/ssl/certs/ca.crt',COMMENT
LOWnetbox/netbox/configuration_example.py81COMMENT
LOWnetbox/netbox/configuration_example.py141}COMMENT
LOWnetbox/netbox/configuration_example.py181# the default value of this setting is derived from the installed location.COMMENT
LOWnetbox/netbox/configuration_example.py221COMMENT
LOWnetbox/netbox/configuration_example.py241# If you would like to use base 2 (e.g. 1024 MB = 1 GB) set this to 1024.COMMENT
LOWnetbox/netbox/search/backends.py121COMMENT
LOWnetbox/netbox/search/backends.py341 try:COMMENT
LOWnetbox/netbox/search/backends.py361 # deliberately not to reads of the model being indexed; see _STALE_INDEX_TARGET_SQLSTATES forCOMMENT
LOWnetbox/netbox/search/backends.py461 # (and NetBox's) READ COMMITTED isolation takes a fresh snapshot per statementCOMMENT
LOWnetbox/netbox/graphql/pagination.py101 # and force ordering by primary key to ensure consistent pagination across all records.COMMENT
LOWnetbox/netbox/authentication/misc.py1# Copyright (c) 2009, Peter SagersonCOMMENT
LOWnetbox/core/signals.py201COMMENT
LOWnetbox/core/api/schema.py381 remove_fields = []COMMENT
LOWnetbox/utilities/ltree.py161# ICU collations with default variable weighting treat U+0001..U+0008 asCOMMENT
LOWnetbox/utilities/ltree.py241# node recomputes its sort_path. The cascade trigger then propagates the newCOMMENT
LOWnetbox/utilities/ltree.py261# — which runs with `search_path` set to the empty string and schema-qualifiesCOMMENT
LOWnetbox/templates/graphql/graphiql.html61COMMENT
LOWnetbox/ipam/constants.py1from django.db.models import QCOMMENT
LOWnetbox/extras/signals.py381COMMENT
LOWnetbox/extras/cache.py41 # on a deployment whose router writes elsewhere the callback would be registered against aCOMMENT
LOWnetbox/extras/cache.py61 # in which case the callback runs immediately.COMMENT
LOWscripts/save_database.sh1#!/bin/shCOMMENT
Fake / Example Data26 hits · 28 pts
SeverityFileLineSnippetContext
LOWnetbox/netbox/configuration_example.py91 # ('John Doe', 'jdoe@example.com'),COMMENT
LOW⚡netbox/netbox/tests/test_search.py40 comments='Lorem ipsum etcetera'CODE
LOW⚡netbox/netbox/tests/test_search.py49 comments='Lorem ipsum etcetera'CODE
LOW⚡netbox/netbox/tests/test_search.py58 comments='Lorem ipsum etcetera'CODE
LOW⚡netbox/netbox/tests/test_search.py590 comments='Lorem ipsum',CODE
LOWnetbox/netbox/tests/test_search.py121 comments='Lorem ipsum etcetera'CODE
LOWnetbox/netbox/tests/test_search.py346 comments='Lorem ipsum',CODE
LOWnetbox/netbox/tests/test_search.py419 comments='Lorem ipsum',CODE
LOWnetbox/netbox/tests/test_search.py448 comments='Lorem ipsum',CODE
LOWnetbox/netbox/tests/test_search.py676 comments='Lorem ipsum',CODE
LOWnetbox/core/forms/model_forms.py47 'placeholder': '.cache\n*.txt\nsubdir/*'CODE
LOWnetbox/project-static/src/forms/filterModifiers.ts69 valueInput.setAttribute('placeholder', placeholder);CODE
LOWnetbox/project-static/src/forms/filterModifiers.ts72 valueInput.removeAttribute('placeholder');CODE
LOWnetbox/utilities/templatetags/builtins/filters.py31 'placeholder',CODE
LOWnetbox/utilities/forms/fields/fields.py144 self.widget.attrs['placeholder'] = ''CODE
LOW⚡netbox/utilities/forms/widgets/datetime.py17 self.attrs['placeholder'] = 'YYYY-MM-DD'CODE
LOW⚡netbox/utilities/forms/widgets/datetime.py27 self.attrs['placeholder'] = 'YYYY-MM-DD hh:mm:ss'CODE
LOW⚡netbox/utilities/forms/widgets/datetime.py37 self.attrs['placeholder'] = 'hh:mm:ss'CODE
LOW⚡netbox/utilities/tests/test_jsonschema.py247 ('email', forms.EmailField, 'user@example.com'),CODE
LOWnetbox/ipam/forms/filtersets.py212 'placeholder': 'Prefix',CODE
LOWnetbox/ipam/forms/filtersets.py365 'placeholder': 'Prefix',CODE
LOWnetbox/ipam/forms/filtersets.py659 'placeholder': 'e.g. tcp/80',CODE
LOWnetbox/extras/tests/test_management_commands.py257 email='admin@example.com',CODE
LOWnetbox/extras/tests/test_api.py1744 'data': {'placeholder': True},CODE
LOWnetbox/extras/tests/test_api.py1829 'data': {'placeholder': True},CODE
LOWdocs/plugins/development/index.md171 {name = "John Doe", email = "test@netboxlabs.com"},CODE
Redundant / Tautological Comments18 hits · 26 pts
SeverityFileLineSnippetContext
LOWnetbox/netbox/configuration_example.py41 # Set this to True to skip TLS certificate verificationCOMMENT
LOWnetbox/netbox/configuration_example.py57 # Set this to True to skip TLS certificate verificationCOMMENT
LOWnetbox/netbox/plugins/urls.py25 # Check if the plugin specifies any base URLsCOMMENT
LOWnetbox/netbox/plugins/urls.py32 # Check if the plugin specifies any API URLsCOMMENT
LOWnetbox/netbox/plugins/views.py55 # Check if the plugin specifies any API URLsCOMMENT
LOWnetbox/netbox/views/generic/bulk_views.py754 # Iterate through data and bind each record to a new model form instance. Object-levelCOMMENT
LOWnetbox/dcim/tests/test_models.py2172 # Assign bay2 to module1 and verify parent is now set to bay1 (module1's bay)COMMENT
LOWnetbox/dcim/models/modules.py568 # Check if there's a component with the same name alreadyCOMMENT
LOWnetbox/dcim/models/modules.py570 # Assign it to the moduleCOMMENT
LOWnetbox/utilities/fields.py122 # Check if the content type actually existsCOMMENT
LOWnetbox/utilities/templatetags/buttons.py42 # Check if this user has already bookmarked the objectCOMMENT
LOWnetbox/utilities/templatetags/buttons.py77 # Check if this user has already subscribed to the objectCOMMENT
LOWnetbox/utilities/templatetags/helpers.py498 # Check if this is a modifier-enhanced fieldCOMMENT
LOWnetbox/utilities/forms/fields/csv.py27 # Check if value is omitted using parent behaviorCOMMENT
LOWnetbox/ipam/forms/model_forms.py607 # Check if we need to create a new IPAddress for the groupCOMMENT
LOWnetbox/ipam/tests/test_filtersets.py2170 # Assign VLANs to device interfacesCOMMENT
LOWnetbox/ipam/tests/test_filtersets.py2178 # Assign VLANs to VM interfacesCOMMENT
LOWnetbox/extras/tests/test_customfields.py115 # Assign values to two of the three sites, leaving the third nullCOMMENT
Structural Annotation Overuse10 hits · 20 pts
SeverityFileLineSnippetContext
LOW⚡netbox/dcim/models/cables.py1019 # Step 1: Record the near-end termination object(s)COMMENT
LOW⚡netbox/dcim/models/cables.py1027 # Step 2: Determine the attached links (Cable or WirelessLink), if anyCOMMENT
LOW⚡netbox/dcim/models/cables.py1043 # Step 3: Record asymmetric paths as splitCOMMENT
LOW⚡netbox/dcim/models/cables.py1049 # Step 4: Record the links, keeping cables in order to allow for SVG renderingCOMMENT
LOW⚡netbox/dcim/models/cables.py1056 # Step 5: Update the path status if a link is not connectedCOMMENT
LOW⚡netbox/dcim/models/cables.py1061 # Step 6: Determine the far-end terminationsCOMMENT
LOW⚡netbox/dcim/models/cables.py1157 # Step 7: Record the far-end termination object(s)COMMENT
LOW⚡netbox/dcim/models/cables.py1162 # Step 8: Determine the "next hop" terminations, if applicableCOMMENT
LOWdocs/customization/reports.md10### Step 1: Update Class DefinitionCOMMENT
LOWdocs/customization/reports.md26### Step 2: Update Logging CallsCOMMENT
Decorative Section Separators6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMnetbox/netbox/graphql/filter_lookups.py22# ------------------------------------------------------------------COMMENT
MEDIUMnetbox/netbox/graphql/filter_lookups.py24# ------------------------------------------------------------------COMMENT
MEDIUMnetbox/project-static/styles/custom/_misc.scss100// ── Sticky action bars ──────────────────────────────────────COMMENT
MEDIUMnetbox/project-static/styles/custom/_misc.scss182// ── /Sticky action bars ─────────────────────────────────────COMMENT
MEDIUMnetbox/project-static/styles/custom/_misc.scss184// ── Port mapping widget ─────────────────────────────────────COMMENT
MEDIUMnetbox/project-static/styles/custom/_misc.scss202// ── /Port mapping widget ────────────────────────────────────COMMENT
Verbosity Indicators8 hits · 18 pts
SeverityFileLineSnippetContext
LOW⚡netbox/dcim/models/cables.py1019 # Step 1: Record the near-end termination object(s)COMMENT
LOW⚡netbox/dcim/models/cables.py1027 # Step 2: Determine the attached links (Cable or WirelessLink), if anyCOMMENT
LOW⚡netbox/dcim/models/cables.py1043 # Step 3: Record asymmetric paths as splitCOMMENT
LOW⚡netbox/dcim/models/cables.py1049 # Step 4: Record the links, keeping cables in order to allow for SVG renderingCOMMENT
LOW⚡netbox/dcim/models/cables.py1056 # Step 5: Update the path status if a link is not connectedCOMMENT
LOW⚡netbox/dcim/models/cables.py1061 # Step 6: Determine the far-end terminationsCOMMENT
LOW⚡netbox/dcim/models/cables.py1157 # Step 7: Record the far-end termination object(s)COMMENT
LOW⚡netbox/dcim/models/cables.py1162 # Step 8: Determine the "next hop" terminations, if applicableCOMMENT
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMnetbox/netbox/jobs.py364 # Instantiate the viewset and apply the minimal scaffolding that DRF's as_view()COMMENT
MEDIUMnetbox/netbox/cli.py66 # `setup` owns its own parser (netbox.scaffold); dispatch before the wrapper parser.COMMENT
MEDIUMnetbox/netbox/tests/test_api_background.py137 # Apply the same minimal scaffolding as AsyncAPIJob does when it invokes an action directlyCOMMENT
AI Structural Patterns8 hits · 8 pts
SeverityFileLineSnippetContext
LOWnetbox/core/models/jobs.py278CODE
LOWnetbox/dcim/svg/racks.py99CODE
LOWnetbox/dcim/models/racks.py623CODE
LOWnetbox/utilities/forms/fields/dynamic.py88CODE
LOWnetbox/users/utils.py76CODE
LOWnetbox/extras/models/mixins.py250CODE
LOWnetbox/extras/dashboard/widgets.py126CODE
LOWnetbox/extras/api/serializers_/scripts.py169CODE
Modern Structural Boilerplate6 hits · 6 pts
SeverityFileLineSnippetContext
LOWnetbox/netbox/plugins/registration.py14logger = logging.getLogger(__name__)CODE
LOWnetbox/netbox/search/jobs.py8logger = logging.getLogger(__name__)CODE
LOWnetbox/netbox/search/backends.py27logger = logging.getLogger(__name__)CODE
LOWnetbox/netbox/search/deferred.py14logger = logging.getLogger(__name__)CODE
LOWnetbox/extras/models/mixins.py26logger = logging.getLogger(__name__)CODE
LOWnetbox/extras/api/serializers_/scripts.py16logger = logging.getLogger(__name__)CODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHnetbox/utilities/templatetags/helpers.py100 Render the action URL node. Args: context: The template context Returns: STRING
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippetContext
LOWupgrade.sh155echo "Upgrade complete! Don't forget to restart the NetBox services:"CODE
MEDIUMnetbox/extras/constants.py123 'This is your personal dashboard. Feel free to customize it by rearranging, resizing, or removing 'CODE
Overly Generic Function Names1 hit · 2 pts
SeverityFileLineSnippetContext
LOW⚡netbox/netbox/tests/test_model_test_coverage.py278 def helper(self):CODE