diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index cd2be9d0e2..1103ada44f 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -6,3 +6,5 @@ e6634e512c8ecf283c85a701366620e724806ab7 5d49efe59059c19da2d09d0ae695d498872cdb72 # Re-ran black on everything due to apparent disagreements on config? @lunkwill42 22/02/2022 e0496b75789656f5abca770e928988fd09bf7803 +# Re-ran black due to new version 24.4.2 +18245ec1a042aac23c4c85637d3454e8d1b5a1bb diff --git a/python/nav/bin/pping.py b/python/nav/bin/pping.py index 274cc413ab..eca60c6f6b 100755 --- a/python/nav/bin/pping.py +++ b/python/nav/bin/pping.py @@ -140,7 +140,7 @@ def generate_events(self): down_now = [] # Find out which netboxes to consider down - for (netboxid, replies) in self.replies.items(): + for netboxid, replies in self.replies.items(): if replies[: self._nrping] == [-1] * self._nrping: down_now.append(netboxid) diff --git a/python/nav/buildconf.py b/python/nav/buildconf.py index c39aed4088..b8c628a644 100644 --- a/python/nav/buildconf.py +++ b/python/nav/buildconf.py @@ -1,4 +1,5 @@ """NAV build configuration variables.""" + # pylint: disable=invalid-name import os import sysconfig diff --git a/python/nav/daemon.py b/python/nav/daemon.py index 547124ba21..13c59d0ae5 100644 --- a/python/nav/daemon.py +++ b/python/nav/daemon.py @@ -170,7 +170,7 @@ def switchuser(username): # Set non-primary groups gids = [] - for (_name, _passwd, gid, members) in grp.getgrall(): + for _name, _passwd, gid, members in grp.getgrall(): if username in members: gids.append(gid) if gids: diff --git a/python/nav/debug.py b/python/nav/debug.py index 81a5849696..2802d000f4 100644 --- a/python/nav/debug.py +++ b/python/nav/debug.py @@ -64,7 +64,7 @@ def log_stacktrace(logger, stacktrace): return dump = [] - for (frame, filename, line_no, func, source, _) in stacktrace: + for frame, filename, line_no, func, source, _ in stacktrace: dump.append(" File %r, line %s, in %s" % (filename, line_no, func)) for line in source: dump.append(" %s" % line.rstrip()) diff --git a/python/nav/django/templatetags/report.py b/python/nav/django/templatetags/report.py index b9d23d9dbe..2f3d7c0bce 100644 --- a/python/nav/django/templatetags/report.py +++ b/python/nav/django/templatetags/report.py @@ -1,4 +1,5 @@ """Template tags used in report subsystem""" + from django import template from django.template.defaultfilters import stringfilter from django.urls import reverse diff --git a/python/nav/django/templatetags/string_manipulation.py b/python/nav/django/templatetags/string_manipulation.py index 8e5befd41f..5fbfc8d2e0 100644 --- a/python/nav/django/templatetags/string_manipulation.py +++ b/python/nav/django/templatetags/string_manipulation.py @@ -1,4 +1,5 @@ """Template filters for string manipulation""" + import re from django import template diff --git a/python/nav/errors.py b/python/nav/errors.py index 9a3c21dd71..1748b7e4de 100644 --- a/python/nav/errors.py +++ b/python/nav/errors.py @@ -18,6 +18,7 @@ class GeneralException(Exception): "General exception" + # Just subclass this with a new doc-string def __str__(self): # Returns a nice version of the docstring diff --git a/python/nav/eventengine/topology.py b/python/nav/eventengine/topology.py index 7286e616e4..7c2297d55e 100644 --- a/python/nav/eventengine/topology.py +++ b/python/nav/eventengine/topology.py @@ -280,8 +280,6 @@ def _get_target_dgram_addr(target): a SOCK_DGRAM socket type. """ - for (family, socktype, _proto, _canonname, sockaddr) in socket.getaddrinfo( - target, 1 - ): + for family, socktype, _proto, _canonname, sockaddr in socket.getaddrinfo(target, 1): if socktype == socket.SOCK_DGRAM: return family, sockaddr diff --git a/python/nav/ipdevpoll/__init__.py b/python/nav/ipdevpoll/__init__.py index fcbfad51bd..d726076dc5 100644 --- a/python/nav/ipdevpoll/__init__.py +++ b/python/nav/ipdevpoll/__init__.py @@ -26,7 +26,6 @@ class Plugin(object): - """Abstract class providing common functionality for all polling plugins. Do *NOT* create instances of the base class. diff --git a/python/nav/ipdevpoll/jobs.py b/python/nav/ipdevpoll/jobs.py index 4de0afb035..be73be8be5 100644 --- a/python/nav/ipdevpoll/jobs.py +++ b/python/nav/ipdevpoll/jobs.py @@ -67,7 +67,6 @@ def __init__(self, msg=None, cause=None, delay=60): class JobHandler(object): - """Handles a single polling job against a single netbox. An instance of this class performs a polling job, as described by @@ -191,7 +190,7 @@ def _get_willing_plugins(self, plugin_classes): else: unwilling_plugins.append(cls) - for (willingness, plugins) in [ + for willingness, plugins in [ ('unwilling', unwilling_plugins), ('willing', willing_plugins), ]: diff --git a/python/nav/ipdevpoll/plugins/arp.py b/python/nav/ipdevpoll/plugins/arp.py index 6a0565e109..37baab8249 100644 --- a/python/nav/ipdevpoll/plugins/arp.py +++ b/python/nav/ipdevpoll/plugins/arp.py @@ -206,7 +206,7 @@ def _make_new_mappings(self, mappings): timestamp = datetime.now() infinity = datetime.max - for (ip, mac) in mappings: + for ip, mac in mappings: if not ip or not mac: continue # Some devices seem to return empty results! arp = self.containers.factory((ip, mac), shadows.Arp) diff --git a/python/nav/mibs/cpqpower_mib.py b/python/nav/mibs/cpqpower_mib.py index 899fc347d3..f06f50fcea 100644 --- a/python/nav/mibs/cpqpower_mib.py +++ b/python/nav/mibs/cpqpower_mib.py @@ -43,9 +43,11 @@ 'precision': 2, 'name': 'Group {pdu3GroupName} Current', 'minimum': 0, - 'maximum': lambda x: x.get('pdu3groupCurrentRating') / 100 - if x.get('pdu3groupCurrentRating') > 0 - else None, + 'maximum': lambda x: ( + x.get('pdu3groupCurrentRating') / 100 + if x.get('pdu3groupCurrentRating') > 0 + else None + ), }, 'pdu3GroupPowerVA': { 'unit_of_measurement': Sensor.UNIT_VOLTAMPERES, @@ -88,9 +90,11 @@ 'precision': 2, 'name': 'Input {pdu3InputPhaseCurrentMeasType} Current', 'minimum': 0, - 'maximum': lambda x: x.get('pdu3InputPhaseCurrentRating') / 100 - if x.get('pdu3InputPhaseCurrentRating') > 0 - else None, + 'maximum': lambda x: ( + x.get('pdu3InputPhaseCurrentRating') / 100 + if x.get('pdu3InputPhaseCurrentRating') > 0 + else None + ), }, 'pdu3InputPhasePowerVA': { 'unit_of_measurement': Sensor.UNIT_VOLTAMPERES, diff --git a/python/nav/mibs/juniper_mib.py b/python/nav/mibs/juniper_mib.py index 97d345bae5..700159d96a 100644 --- a/python/nav/mibs/juniper_mib.py +++ b/python/nav/mibs/juniper_mib.py @@ -253,9 +253,9 @@ def _fru_row_to_powersupply_or_fan(fru_row): model = fru_row.get("jnxContentsModel") psu_or_fan = PowerSupplyOrFan( name=fru_row.get("jnxFruName"), - physical_class="powerSupply" - if fru_row.get("jnxFruType") == "powerEntryModule" - else "fan", + physical_class=( + "powerSupply" if fru_row.get("jnxFruType") == "powerEntryModule" else "fan" + ), descr=model, internal_id=fru_row.get(0), ) diff --git a/python/nav/models/images.py b/python/nav/models/images.py index 5b9a62febf..05c144dfd8 100644 --- a/python/nav/models/images.py +++ b/python/nav/models/images.py @@ -1,4 +1,5 @@ """Models for uploaded image information""" + import os from os.path import exists, join diff --git a/python/nav/portadmin/snmp/base.py b/python/nav/portadmin/snmp/base.py index c101bd662e..296e07dc93 100644 --- a/python/nav/portadmin/snmp/base.py +++ b/python/nav/portadmin/snmp/base.py @@ -372,7 +372,7 @@ def _get_if_stats(self, stats): """Make a list with tuples. Each tuple contain interface-index and corresponding status-value""" available_stats = [] - for (if_index, stat) in stats: + for if_index, stat in stats: if_index = OID(if_index)[-1] if isinstance(if_index, int): available_stats.append((if_index, stat)) diff --git a/python/nav/smsd/navdbqueue.py b/python/nav/smsd/navdbqueue.py index 52e4e92848..7c34c21aed 100644 --- a/python/nav/smsd/navdbqueue.py +++ b/python/nav/smsd/navdbqueue.py @@ -158,7 +158,7 @@ def getmsgs(self, sent='N'): db.execute(sql, data) result = [] - for (smsqid, name, msg, time) in db.fetchall(): + for smsqid, name, msg, time in db.fetchall(): result.append( dict( id=smsqid, name=name, msg=msg, time=time.strftime("%Y-%m-%d %H:%M") diff --git a/python/nav/statemon/checker/PostgresqlChecker.py b/python/nav/statemon/checker/PostgresqlChecker.py index 7c0dac61db..d4daebbcbd 100644 --- a/python/nav/statemon/checker/PostgresqlChecker.py +++ b/python/nav/statemon/checker/PostgresqlChecker.py @@ -43,7 +43,7 @@ def execute(self): kwargs = {} # Build keywords from arguments - for (name, value) in self.args.items(): + for name, value in self.args.items(): if name in ('user', 'password', 'database'): # Must convert to str here because psycopg2 complains # if keywords are unicode. ("Keywords must be strings") diff --git a/python/nav/web/networkexplorer/mixins.py b/python/nav/web/networkexplorer/mixins.py index a820755246..fb1771916d 100644 --- a/python/nav/web/networkexplorer/mixins.py +++ b/python/nav/web/networkexplorer/mixins.py @@ -181,9 +181,9 @@ def get_context_data(self, **kwargs): 'type': 'swport', 'interface': model_to_dict(interface), 'netbox_sysname': interface.netbox.sysname, - 'module_netbox_sysname': interface.module.netbox.sysname - if interface.module - else '', + 'module_netbox_sysname': ( + interface.module.netbox.sysname if interface.module else '' + ), 'subheader_vlan': str(vlan.vlan.vlan), 'subheader_netbox': str(interface.netbox), } diff --git a/python/nav/web/radius/db.py b/python/nav/web/radius/db.py index 455b5aec59..617330c6fd 100644 --- a/python/nav/web/radius/db.py +++ b/python/nav/web/radius/db.py @@ -98,9 +98,9 @@ def _format(self, row): try: message = row[LOG_DETAILFIELDS.index('message')] return map( - lambda x: x - if x != message - else x.replace('[', '[').replace(']', ']'), + lambda x: ( + x if x != message else x.replace('[', '[').replace(']', ']') + ), row, ) except ValueError: @@ -218,9 +218,9 @@ def _format(self, row): try: message = row[LOG_SEARCHRESULTFIELDS.index('message')] return map( - lambda x: x - if x != message - else x.replace('[', '[').replace(']', ']'), + lambda x: ( + x if x != message else x.replace('[', '[').replace(']', ']') + ), row, ) except ValueError: diff --git a/python/nav/web/seeddb/page/service/edit.py b/python/nav/web/seeddb/page/service/edit.py index 784c64b5ac..7266aca056 100644 --- a/python/nav/web/seeddb/page/service/edit.py +++ b/python/nav/web/seeddb/page/service/edit.py @@ -1,4 +1,5 @@ """Forms and view functions for editing services in SeedDB""" + # # Copyright (C) 2011, 2013-2015 Uninett AS # @@ -212,7 +213,7 @@ def service_save(request, service_form, property_form): service = Service.objects.create( netbox=netbox, handler=service_form.cleaned_data['handler'] ) - for (prop, value) in property_form.cleaned_data.items(): + for prop, value in property_form.cleaned_data.items(): if value: ServiceProperty.objects.create(service=service, property=prop, value=value) new_message( diff --git a/python/nav/web/webfront/__init__.py b/python/nav/web/webfront/__init__.py index 4fc2d23524..cc76f9239c 100644 --- a/python/nav/web/webfront/__init__.py +++ b/python/nav/web/webfront/__init__.py @@ -1,4 +1,5 @@ """NAV web common package.""" + import os from django.db.models import Count diff --git a/python/nav/web/webfront/utils.py b/python/nav/web/webfront/utils.py index d1115b5cb5..6ec10f2bb0 100644 --- a/python/nav/web/webfront/utils.py +++ b/python/nav/web/webfront/utils.py @@ -1,4 +1,5 @@ """Utility functions for various parts of the frontpage, navbar etc.""" + # # Copyright (C) 2009, 2012 Uninett AS #