SYMBOL INDEX (10418 symbols across 1018 files) FILE: checks/check_test_names.py function get_new_test_names_from_diff (line 36) | def get_new_test_names_from_diff(diff: str) -> list[tuple[str, str]]: function check_name (line 58) | def check_name(name: str) -> bool: function get_diff_staged (line 67) | def get_diff_staged() -> str: function get_diff_base (line 76) | def get_diff_base(base: str) -> str: function get_diff_files (line 95) | def get_diff_files(files: list[str]) -> str: function format_plain (line 113) | def format_plain(violations, total): function format_markdown (line 129) | def format_markdown(violations, total): function main (line 161) | def main(): FILE: contrib/scripts/isc_dhpcd_graphite/isc_dhpcd_graphite.py function parse_args (line 42) | def parse_args(): function exec_dhcpd_pools (line 119) | def exec_dhcpd_pools(config_file, cmd_path=DEFAULT_CMD_PATH): function render (line 129) | def render(jsonblob, prefix, protocol=DEFAULT_PROTOCOL): function _render_text (line 135) | def _render_text(jsonblob, prefix): function _render_pickle (line 145) | def _render_pickle(jsonblob, prefix, protocol): function _tuplify (line 156) | def _tuplify(jsonblob, prefix): function _clean_vlan (line 171) | def _clean_vlan(location): function send_to_graphite (line 180) | def send_to_graphite(metrics_blob, server, port): function main (line 194) | def main(): FILE: doc/conf.py function setup (line 252) | def setup(app): FILE: doc/exts/alerttypes.py function main (line 35) | def main(): FILE: doc/exts/xref.py function xref (line 8) | def xref(typ, rawtext, text, lineno, inliner, options={}, content=[]): function get_refs (line 35) | def get_refs(app): function setup (line 40) | def setup(app): FILE: python/nav/Snmp/__init__.py function safestring (line 49) | def safestring(string, encodings_to_try=('utf-8', 'latin-1')): FILE: python/nav/Snmp/defines.py class SecurityLevel (line 21) | class SecurityLevel(Enum): class AuthenticationProtocol (line 29) | class AuthenticationProtocol(Enum): class PrivacyProtocol (line 40) | class PrivacyProtocol(Enum): FILE: python/nav/Snmp/errors.py class SnmpError (line 4) | class SnmpError(GeneralException): class TimeOutException (line 8) | class TimeOutException(SnmpError): class NameResolverException (line 12) | class NameResolverException(SnmpError): class NetworkError (line 16) | class NetworkError(SnmpError): class AgentError (line 20) | class AgentError(SnmpError): class EndOfMibViewError (line 24) | class EndOfMibViewError(AgentError): class UnsupportedSnmpVersionError (line 28) | class UnsupportedSnmpVersionError(SnmpError): class NoSuchObjectError (line 32) | class NoSuchObjectError(SnmpError): class SNMPv3ConfigurationError (line 36) | class SNMPv3ConfigurationError(SnmpError): FILE: python/nav/Snmp/profile.py function get_snmp_session_for_profile (line 25) | def get_snmp_session_for_profile(profile: ManagementProfile) -> Callable: FILE: python/nav/Snmp/pynetsnmp.py class Snmp (line 82) | class Snmp(object): method __init__ (line 88) | def __init__( method _verify_snmpv3_params (line 143) | def _verify_snmpv3_params(self): method _build_cmdline (line 169) | def _build_cmdline(self): method __del__ (line 197) | def __del__(self): method get (line 201) | def get(self, query="1.3.6.1.2.1.1.1.0"): method translate_type (line 219) | def translate_type(type): method set (line 228) | def set(self, query, type, value): method multi_set (line 246) | def multi_set(self, varbinds): method walk (line 258) | def walk(self, query="1.3.6.1.2.1.1.1.0"): method jog (line 290) | def jog(self, query="1.3.6.1.2.1.1.1.0"): method bulkwalk (line 310) | def bulkwalk(self, query="1.3.6.1.2.1.1.1.0", strip_prefix=False): class _MySnmpSession (line 356) | class _MySnmpSession(Session): method sget (line 362) | def sget(self, oids): method sgetnext (line 376) | def sgetnext(self, root): method sgetbulk (line 390) | def sgetbulk(self, nonrepeaters, maxrepetitions, oids): method sset (line 408) | def sset(self, varbinds): function converts (line 436) | def converts(asn_type): function asn_integer (line 450) | def asn_integer(value): function asn_unsigned (line 456) | def asn_unsigned(value): function asn_timeticks (line 462) | def asn_timeticks(value): function asn_ipaddress (line 468) | def asn_ipaddress(value): function asn_object_id (line 475) | def asn_object_id(value): function asn_octet_str (line 481) | def asn_octet_str(value): function asn_counter64 (line 489) | def asn_counter64(value): function snmp_api_errstring (line 500) | def snmp_api_errstring(err_code): function snmp_errstring (line 506) | def snmp_errstring(err_status): function _raise_on_error (line 512) | def _raise_on_error(err_code): function _raise_on_protocol_error (line 528) | def _raise_on_protocol_error(response): FILE: python/nav/__init__.py class ObjectCache (line 27) | class ObjectCache(dict): method __setitem__ (line 34) | def __setitem__(self, key, item): method __delitem__ (line 41) | def __delitem__(self, key): method cache (line 45) | def cache(self, item): method invalidate (line 49) | def invalidate(self): method refresh (line 61) | def refresh(self): class CacheableObject (line 73) | class CacheableObject(object): method __init__ (line 79) | def __init__(self, object_=None): method __setattr__ (line 85) | def __setattr__(self, name, item): method __getattr__ (line 98) | def __getattr__(self, name): method is_cached (line 104) | def is_cached(self): method is_invalid (line 108) | def is_invalid(self): method refresh (line 113) | def refresh(self): method invalidate (line 117) | def invalidate(self): method age (line 125) | def age(self): method __repr__ (line 134) | def __repr__(self): method __str__ (line 143) | def __str__(self): class CacheError (line 147) | class CacheError(Exception): FILE: python/nav/activeipcollector/collector.py function collect (line 27) | def collect(days=None): function get_interval_query (line 53) | def get_interval_query(intervals): function get_static_query (line 82) | def get_static_query(): function get_intervals (line 101) | def get_intervals(days): FILE: python/nav/activeipcollector/manager.py function run (line 35) | def run(days=None): function store (line 40) | def store(data): function store_tuple (line 54) | def store_tuple(db_tuple): function find_range (line 74) | def find_range(prefix): function get_timestamp (line 88) | def get_timestamp(timestamp: Optional[datetime.datetime] = None) -> int: FILE: python/nav/alertengine/base.py function check_alerts (line 53) | def check_alerts(debug=False): function handle_new_alerts (line 163) | def handle_new_alerts(new_alerts): function _check_match_and_permission (line 244) | def _check_match_and_permission( function _check_permissions (line 283) | def _check_permissions( function handle_queued_alerts (line 321) | def handle_queued_alerts(queued_alerts, now=None): function process_single_queued_notification (line 388) | def process_single_queued_notification(queued_alert, now): function _verify_daily_dispatch (line 471) | def _verify_daily_dispatch(queued_alert, now, _logger=_logger): function _verify_weekly_dispatch (line 494) | def _verify_weekly_dispatch(queued_alert, now, _logger=_logger): function _verify_next_dispatch (line 524) | def _verify_next_dispatch(queued_alert, now, _logger=_logger): function _get_number_of_timeperiods_today (line 554) | def _get_number_of_timeperiods_today(alertprofile, now): function _calculate_timeperiod_start (line 566) | def _calculate_timeperiod_start(timeperiod, now=None): function alert_should_be_ignored (line 584) | def alert_should_be_ignored(queued_alert, subscription, now): function check_alert_against_filtergroupcontents (line 600) | def check_alert_against_filtergroupcontents(alert, filtergroupcontents, ... function clear_blacklisted_status_of_alert_senders (line 653) | def clear_blacklisted_status_of_alert_senders(): FILE: python/nav/alertengine/dispatchers/__init__.py class Dispatcher (line 44) | class Dispatcher(object): method __init__ (line 47) | def __init__(self, config=None): method send (line 50) | def send(self, address, alert, language='en'): method get_message (line 59) | def get_message(self, alert, language, message_type): method get_fallback_message (line 66) | def get_fallback_message(self, alert, language, message_type): method is_valid_address (line 85) | def is_valid_address(address): class DispatcherException (line 90) | class DispatcherException(Exception): class FatalDispatcherException (line 97) | class FatalDispatcherException(DispatcherException): class InvalidAlertAddressError (line 104) | class InvalidAlertAddressError(Exception): function is_valid_email (line 111) | def is_valid_email(address): FILE: python/nav/alertengine/dispatchers/email_dispatcher.py class Email (line 34) | class Email(Dispatcher): method send (line 37) | def send(self, address, alert, language='en'): method is_valid_address (line 80) | def is_valid_address(address): FILE: python/nav/alertengine/dispatchers/slack_dispatcher.py class Slack (line 33) | class Slack(Dispatcher): method __init__ (line 38) | def __init__(self, *args, **kwargs): method send (line 47) | def send(self, address, alert, language='en'): method _register_failure_for (line 78) | def _register_failure_for(self, address): method _is_still_backing_off_for (line 82) | def _is_still_backing_off_for(self, address): method is_valid_address (line 90) | def is_valid_address(address): FILE: python/nav/alertengine/dispatchers/sms_dispatcher.py class Sms (line 30) | class Sms(Dispatcher): method send (line 33) | def send(self, address, alert, language='en'): method get_fallback_message (line 60) | def get_fallback_message(self, alert, language, message_type): method is_valid_address (line 75) | def is_valid_address(address): FILE: python/nav/arnold.py class Memo (line 58) | class Memo(object): method __init__ (line 61) | def __init__(self, func): method __call__ (line 65) | def __call__(self, filename): method is_changed (line 74) | def is_changed(self, filename): method store (line 81) | def store(self, filename): class ChangePortStatusError (line 89) | class ChangePortStatusError(GeneralException): class ChangePortVlanError (line 95) | class ChangePortVlanError(GeneralException): class NoDatabaseInformationError (line 101) | class NoDatabaseInformationError(GeneralException): class PortNotFoundError (line 107) | class PortNotFoundError(GeneralException): class UnknownTypeError (line 113) | class UnknownTypeError(GeneralException): class DbError (line 119) | class DbError(GeneralException): class NotSupportedError (line 125) | class NotSupportedError(GeneralException): class NoSuchProgramError (line 131) | class NoSuchProgramError(GeneralException): class DetainmentNotAllowedError (line 137) | class DetainmentNotAllowedError(GeneralException): class WrongCatidError (line 143) | class WrongCatidError(DetainmentNotAllowedError): class AlreadyBlockedError (line 149) | class AlreadyBlockedError(DetainmentNotAllowedError): class InExceptionListError (line 155) | class InExceptionListError(DetainmentNotAllowedError): class FileError (line 161) | class FileError(GeneralException): class BlockonTrunkError (line 167) | class BlockonTrunkError(DetainmentNotAllowedError): function find_id_information (line 173) | def find_id_information(ip_or_mac, limit, trunk_ok=False): function find_input_type (line 232) | def find_input_type(ip_or_mac): function dictfetchall (line 251) | def dictfetchall(cursor): function create_candidates (line 257) | def create_candidates(caminfos, trunk_ok=False): function find_computer_info (line 281) | def find_computer_info(ip_or_mac, trunk_ok=False): function disable (line 286) | def disable(candidate, justification, username, comment="", autoenablest... function quarantine (line 310) | def quarantine(candidate, qvlan, justification, username, comment="", au... function check_target (line 335) | def check_target(target, trunk_ok=False): function check_identity (line 343) | def check_identity(candidate): function update_identity (line 364) | def update_identity(identity, justification, autoenablestep): function create_event (line 378) | def create_event(identity, comment, username): function raise_if_detainment_not_allowed (line 391) | def raise_if_detainment_not_allowed(interface, trunk_ok=False): function open_port (line 406) | def open_port(identity, username, eventcomment=""): function change_port_status (line 445) | def change_port_status( function change_port_vlan (line 489) | def change_port_vlan(identity, vlan): function sendmail (line 518) | def sendmail(from_email, toaddr, subject, msg): function get_host_name (line 528) | def get_host_name(ip): function get_netbios (line 540) | def get_netbios(ip): function check_non_block (line 551) | def check_non_block(ip): function compute_octet_string (line 572) | def compute_octet_string(hexstring, port, action='enable'): function parse_nonblock_file (line 591) | def parse_nonblock_file(filename): function get_config (line 622) | def get_config(configfile): function is_inside_vlans (line 629) | def is_inside_vlans(ip, vlans): FILE: python/nav/asyncdns.py function reverse_lookup (line 65) | def reverse_lookup(addresses): function forward_lookup (line 75) | def forward_lookup(names): class Resolver (line 85) | class Resolver(object): method __init__ (line 88) | def __init__(self): method resolve (line 96) | def resolve(self, names): method lookup (line 133) | def lookup(self, name): method _extract_records (line 138) | def _extract_records(result, name): method _save_result (line 141) | def _save_result(self, result): method _errback (line 149) | def _errback(failure, host): method _save_error (line 153) | def _save_error(self, failure): method _finish (line 157) | def _finish(self, _): class ForwardResolver (line 161) | class ForwardResolver(Resolver): method lookup (line 168) | def lookup(self, name): method _extract_records (line 178) | def _extract_records(result, name): class ReverseResolver (line 196) | class ReverseResolver(Resolver): method lookup (line 199) | def lookup(self, address): method _extract_records (line 206) | def _extract_records(result, ip): FILE: python/nav/auditlog/__init__.py function find_modelname (line 19) | def find_modelname(obj): FILE: python/nav/auditlog/api.py class LGFKRelatedField (line 37) | class LGFKRelatedField(serializers.RelatedField): method to_representation (line 42) | def to_representation(self, value): function _collect_entity_references (line 46) | def _collect_entity_references(entries): function _batch_resolve_objects (line 59) | def _batch_resolve_objects(entries): function _resolve_entity (line 84) | def _resolve_entity(log_entry, model_field, pk_field, sortkey_field, obj... class LogEntrySerializer (line 111) | class LogEntrySerializer(serializers.ModelSerializer): class Meta (line 118) | class Meta: class LogEntrySerializerV2 (line 134) | class LogEntrySerializerV2(serializers.ModelSerializer): class Meta (line 141) | class Meta: method _object_cache (line 157) | def _object_cache(self): method get_actor (line 160) | def get_actor(self, obj): method get_object (line 165) | def get_object(self, obj): method get_target (line 170) | def get_target(self, obj): class MultipleFilter (line 176) | class MultipleFilter(filters.BaseFilterBackend): method filter_queryset (line 183) | def filter_queryset(self, request, queryset, view): class NetboxFilter (line 194) | class NetboxFilter(filters.BaseFilterBackend): method filter_queryset (line 202) | def filter_queryset(self, request, queryset, view): class NAVDefaultsMixin (line 221) | class NAVDefaultsMixin(object): class LogEntryViewSet (line 230) | class LogEntryViewSet(NAVDefaultsMixin, viewsets.ReadOnlyModelViewSet): class LogEntryViewSetV2 (line 256) | class LogEntryViewSetV2(NAVDefaultsMixin, viewsets.ReadOnlyModelViewSet): method list (line 281) | def list(self, request, *args, **kwargs): method retrieve (line 292) | def retrieve(self, request, *args, **kwargs): FILE: python/nav/auditlog/apps.py class AuditlogConfig (line 18) | class AuditlogConfig(AppConfig): FILE: python/nav/auditlog/models.py class LogEntry (line 32) | class LogEntry(models.Model): method add_log_entry (line 74) | def add_log_entry( method add_create_entry (line 113) | def add_create_entry(actor, obj): method add_delete_entry (line 128) | def add_delete_entry(actor, obj, template=None): method add_edit_entry (line 137) | def add_edit_entry(actor, old, new, attribute, include_values=True): method compare_objects (line 175) | def compare_objects(actor, old, new, attribute_list, censored_attribut... method __str__ (line 197) | def __str__(self): FILE: python/nav/auditlog/utils.py function get_auditlog_entries (line 27) | def get_auditlog_entries( FILE: python/nav/auditlog/views.py class AuditlogOverview (line 29) | class AuditlogOverview(TemplateView): method get_context_data (line 33) | def get_context_data(self, **kwargs): class AuditlogNetboxDetail (line 48) | class AuditlogNetboxDetail(AuditlogOverview): method get_context_data (line 51) | def get_context_data(self, **kwargs): method get_api_parameters (line 61) | def get_api_parameters(self): FILE: python/nav/bin/alertengine.py function main (line 70) | def main(): function parse_args (line 188) | def parse_args(): function signalhandler (line 209) | def signalhandler(signum, _): function loginitsmtp (line 227) | def loginitsmtp(loglevel, mailaddr, fromaddr, mailserver): function usage (line 252) | def usage(): function setdelay (line 257) | def setdelay(sec): FILE: python/nav/bin/autoenable.py function main (line 47) | def main(): FILE: python/nav/bin/cisco_auth_sessions.py function main (line 52) | def main(): function reactor_main (line 74) | def reactor_main(netbox, port, timeout): function query_and_display (line 83) | async def query_and_display(netbox, port, timeout): function process_auth_sessions (line 110) | def process_auth_sessions(sessions): function display_results (line 138) | def display_results(sessions, ifnames, ifaliases): function print_header (line 208) | def print_header(netbox, port): function failure_handler (line 216) | def failure_handler(failure): function endit (line 223) | def endit(result): function parse_args (line 233) | def parse_args(): function device (line 270) | def device(devicestring): function _create_agentproxy (line 301) | def _create_agentproxy(netbox, port, timeout=TIMEOUT): FILE: python/nav/bin/collect_active_ip.py function main (line 38) | def main(args=None): function exit_if_already_running (line 48) | def exit_if_already_running(): function run (line 58) | def run(days): function get_parser (line 66) | def get_parser(): FILE: python/nav/bin/dhcpstats.py function main (line 46) | def main(): function parse_args (line 64) | def parse_args(): function collect_stats (line 79) | def collect_stats(config): function get_clients (line 123) | def get_clients(config): function exit_if_already_running (line 171) | def exit_if_already_running(): FILE: python/nav/bin/emailreports.py function main (line 35) | def main(args=None): function get_parser (line 43) | def get_parser(): FILE: python/nav/bin/ipdevpolld.py function main (line 20) | def main(): FILE: python/nav/bin/macwatch.py function prioritize_location (line 47) | def prioritize_location(cam_objects): function post_event (line 73) | def post_event(mac_watch, cam): function find_the_latest (line 103) | def find_the_latest(macwatch_matches): function delete_unwanted_matches (line 114) | def delete_unwanted_matches(macwatch_matches): function main (line 130) | def main(): FILE: python/nav/bin/mailin.py function main (line 46) | def main(): function parse_args (line 74) | def parse_args(): function read_and_process_input (line 95) | def read_and_process_input(plugins, test=False): function add_mailin_subsystem (line 126) | def add_mailin_subsystem(): function load_plugins (line 138) | def load_plugins(paths): function authorize_match (line 159) | def authorize_match(plugin, msg): function init_logging (line 184) | def init_logging(filename): FILE: python/nav/bin/maintengine.py function main (line 37) | def main(): FILE: python/nav/bin/navcheckservice.py function main (line 38) | def main(): function parse_args (line 68) | def parse_args(): function read_checker_args (line 92) | def read_checker_args(checker): FILE: python/nav/bin/navclean.py function main (line 38) | def main(): function make_argparser (line 90) | def make_argparser(): function validate_sql (line 147) | def validate_sql(sql, args): function postgresql_datetime (line 160) | def postgresql_datetime(value): function postgresql_interval (line 166) | def postgresql_interval(value): function get_selected_cleaners (line 172) | def get_selected_cleaners( class RecordCleaner (line 190) | class RecordCleaner: method __init__ (line 196) | def __init__(self, connection): method filter (line 199) | def filter(self, expiry): method sql (line 203) | def sql(self, expiry): method clean (line 212) | def clean(self, expiry: str, dry_run: bool = False): class ArpDeleter (line 220) | class ArpDeleter(RecordCleaner): class ArpCloser (line 225) | class ArpCloser(RecordCleaner): method sql (line 232) | def sql(self, expiry): class CamDeleter (line 261) | class CamDeleter(RecordCleaner): class RadiusAcctDeleter (line 266) | class RadiusAcctDeleter(RecordCleaner): class RadiusLogDeleter (line 276) | class RadiusLogDeleter(RecordCleaner): class NetboxDeleter (line 281) | class NetboxDeleter(RecordCleaner): class SessionDeleter (line 286) | class SessionDeleter(RecordCleaner): method clean (line 292) | def clean(self, expiry, dry_run=False): FILE: python/nav/bin/navdf.py function main (line 30) | def main(): function parse_args (line 42) | def parse_args(): FILE: python/nav/bin/navdump.py function main (line 38) | def main(): function parse_args (line 77) | def parse_args(): function warn (line 119) | def warn(msg): function fail (line 123) | def fail(resultcode, msg): function header (line 128) | def header(definition): function lineout (line 134) | def lineout(line): class Handlers (line 141) | class Handlers(object): method netbox (line 145) | def netbox(): method management_profile (line 170) | def management_profile(): method org (line 182) | def org(): method netboxgroup (line 194) | def netboxgroup(): method device_group (line 201) | def device_group(): method usage (line 206) | def usage(): method location (line 213) | def location(): method room (line 225) | def room(): method type (line 242) | def type(): method vendor (line 254) | def vendor(): method prefix (line 261) | def prefix(): method service (line 285) | def service(): FILE: python/nav/bin/naventity.py function main (line 45) | def main(): function reactor_main (line 57) | def reactor_main(box, portnumber, timeout=TIMEOUT): function collect_entities (line 70) | async def collect_entities(netbox, portnumber, timeout=TIMEOUT): function make_graph (line 81) | def make_graph(entities, netbox): function print_graph (line 93) | def print_graph(graph): function failure_handler (line 102) | def failure_handler(failure): function endit (line 109) | def endit(result): function parse_args (line 119) | def parse_args(): function device (line 150) | def device(devicestring): function _create_agentproxy (line 181) | def _create_agentproxy(netbox, portnumber, timeout=TIMEOUT): class GraphTraversal (line 199) | class GraphTraversal(asciitree.Traversal): method __init__ (line 200) | def __init__(self, graph): method get_children (line 204) | def get_children(self, node): method get_text (line 207) | def get_text(self, node): method get_roots (line 223) | def get_roots(self): FILE: python/nav/bin/navmain.py function main (line 49) | def main(args=None): function make_argparser (line 61) | def make_argparser(): function _add_bespoke_subparsers (line 99) | def _add_bespoke_subparsers(subparsers): function verify_root (line 141) | def verify_root(): function service_iterator (line 148) | def service_iterator(query_list, func): function action_iterator (line 162) | def action_iterator(query_list, action, ok_string, fail_string, verbose=... function c_info (line 205) | def c_info(args): function c_list (line 241) | def c_list(args): function c_start (line 246) | def c_start(args): function c_stop (line 260) | def c_stop(args): function c_restart (line 267) | def c_restart(args): function c_status (line 275) | def c_status(args): function c_version (line 288) | def c_version(_args): function command_config_where (line 295) | def command_config_where(_args): function command_config_path (line 310) | def command_config_path(_args): function command_config_install (line 318) | def command_config_install(args): FILE: python/nav/bin/navoidverify.py function main (line 46) | def main(): function reactor_main (line 63) | def reactor_main(boxes, baseoid): function verify (line 69) | async def verify(netbox, oid): function endit (line 87) | def endit(_result): function parse_args (line 92) | def parse_args(): function parallel (line 112) | def parallel(iterable, count, func, *args, **kwargs): function _create_agentproxy (line 124) | def _create_agentproxy(netbox): FILE: python/nav/bin/navrefresh.py function main (line 34) | def main(): function send_refresh_events (line 44) | def send_refresh_events(netboxes: list[Netbox], job: str): function parse_args (line 52) | def parse_args(): class SysnamePattern (line 67) | class SysnamePattern(list): method __init__ (line 70) | def __init__(self, pattern: str): function non_empty_string (line 78) | def non_empty_string(value: str): FILE: python/nav/bin/navsnmp.py function main (line 33) | def main(): function parse_args (line 45) | def parse_args(): function get_matching_boxes (line 62) | def get_matching_boxes(patterns): function snmp_printer (line 74) | def snmp_printer(netbox): FILE: python/nav/bin/navstats.py class NAVStatsConfig (line 39) | class NAVStatsConfig(NAVConfigParser): function main (line 45) | def main(): function collect_stats (line 51) | def collect_stats(config): function collect (line 69) | def collect(metric_path_fmt, query, valueindex): function create_metric (line 91) | def create_metric(result, metric_path_fmt, timestamp, valueindex=-1): FILE: python/nav/bin/navsynctypes.py function main (line 56) | def main(): function print_vendor (line 75) | def print_vendor(vendor: str): function print_type (line 85) | def print_type(typ: NetboxType): function escape (line 96) | def escape(v): function parse_args (line 101) | def parse_args(): FILE: python/nav/bin/navuser.py function main (line 33) | def main(): function listusers (line 40) | def listusers(args): function adduser (line 59) | def adduser(args): function removeuser (line 80) | def removeuser(args): function adminify (line 85) | def adminify(args): function passwd (line 106) | def passwd(args): function verify (line 135) | def verify(args): function lock (line 149) | def lock(args): function unlock (line 159) | def unlock(args): function usergetter (line 176) | def usergetter(login): function parse_args (line 183) | def parse_args(): FILE: python/nav/bin/netbiostracker.py function main (line 35) | def main(): FILE: python/nav/bin/pping.py function main (line 46) | def main(): function make_argparser (line 58) | def make_argparser(): class Pinger (line 66) | class Pinger(object): method __init__ (line 67) | def __init__(self, socket=None, foreground=False): method update_host_list (line 87) | def update_host_list(self): method generate_events (line 121) | def generate_events(self): method main (line 183) | def main(self): method signalhandler (line 211) | def signalhandler(self, signum, _frame): function start (line 230) | def start(foreground, socket): FILE: python/nav/bin/radiusparser.py function main (line 53) | def main(args=None): function parse_octals (line 175) | def parse_octals(line): function pid_running (line 186) | def pid_running(pidfile="/tmp/radiusparser_po.pid"): class Tail (line 228) | class Tail(object): method __init__ (line 231) | def __init__( method _recompute_rate (line 272) | def _recompute_rate(self, n, start, stop): method _fill_cache (line 306) | def _fill_cache(self): method _dequeue (line 325) | def _dequeue(self): method _reset (line 335) | def _reset(self): method nextline (line 343) | def nextline(self): method close (line 371) | def close(self): method __iter__ (line 378) | def __iter__(self): method next (line 387) | def next(self): function parse_line (line 409) | def parse_line(line): class Row (line 439) | class Row: method __init__ (line 440) | def __init__(self, m): method __getattr__ (line 444) | def __getattr__(self, attr): method __repr__ (line 450) | def __repr__(self): method __str__ (line 453) | def __str__(self): function iter_lines (line 457) | def iter_lines(file): FILE: python/nav/bin/servicemon.py class Controller (line 41) | class Controller: method __init__ (line 42) | def __init__(self, foreground=False): method get_checkers (line 60) | def get_checkers(self): method main (line 87) | def main(self): method signalhandler (line 123) | def signalhandler(self, signum, _): function main (line 143) | def main(args=None): function parse_args (line 168) | def parse_args(): FILE: python/nav/bin/smsd.py function main (line 66) | def main(): function parse_args (line 285) | def parse_args(): function setdelay (line 347) | def setdelay(seconds): function resetdelay (line 356) | def resetdelay(): function increasedelay (line 364) | def increasedelay(seconds, delayfactor, maxdelay): function backoff (line 373) | def backoff(seconds, error, retryvars): function backoffaction (line 411) | def backoffaction(error, retrylimitaction): function signalhandler (line 460) | def signalhandler(signum, _): function loginitsmtp (line 481) | def loginitsmtp(loglevel, mailaddr, fromaddr, mailserver): FILE: python/nav/bin/snmptrapd.py function main (line 61) | def main(): function parse_args (line 160) | def parse_args(): function Address (line 183) | def Address(address): function trap_handler (line 197) | def trap_handler(trap): function _log_trap_handle_result (line 234) | def _log_trap_handle_result(handled_by, trap): function verify_subsystem (line 254) | def verify_subsystem(): function signal_handler (line 265) | def signal_handler(signum, _): class SnmptrapdConfig (line 280) | class SnmptrapdConfig(NAVConfigParser): FILE: python/nav/bin/sortedstats_cacher.py function main (line 21) | def main(): function run (line 31) | def run(timeframe, config): function get_parser (line 42) | def get_parser(): function exit_if_running (line 53) | def exit_if_running(pidfile): FILE: python/nav/bin/start_arnold.py function main (line 65) | def main(args=None): function print_detention_profiles (line 92) | def print_detention_profiles(): function get_addresses_to_detain (line 100) | def get_addresses_to_detain(options): function parse_input (line 113) | def parse_input(lines): function detain (line 143) | def detain(address, profile, comment=''): function find_duration (line 176) | def find_duration(candidate, profile): function report_detentions (line 207) | def report_detentions(profile, detentions): function find_contact_addresses (line 239) | def find_contact_addresses(detentions): function get_organization (line 265) | def get_organization(ip): function parse_command_options (line 277) | def parse_command_options(): function valid_profile (line 303) | def valid_profile(detention_profile_id): FILE: python/nav/bin/t1000.py function main (line 57) | def main(): function pursue (line 93) | def pursue(identity, candidate): function is_detained_by_profile (line 128) | def is_detained_by_profile(identity): function find_autoenable_step (line 136) | def find_autoenable_step(identity): function should_pursue (line 148) | def should_pursue(identity, profile): function detain (line 163) | def detain(identity, candidate): FILE: python/nav/bin/update_ouis.py function main (line 45) | def main(): function run (line 53) | def run(): function _download_oui_file (line 65) | def _download_oui_file(url: str) -> str: function _parse_ouis (line 74) | def _parse_ouis(oui_data: str) -> Generator[Tuple[str, str], None, None]: function _parse_line (line 91) | def _parse_line(line: str) -> Tuple[str, str]: function _update_database (line 98) | def _update_database(ouis: Iterable[Tuple[str, str]]): FILE: python/nav/bitvector.py class BitVector (line 23) | class BitVector(object): method __init__ (line 34) | def __init__(self, octetstring): method to_bytes (line 37) | def to_bytes(self): method __len__ (line 40) | def __len__(self): method __repr__ (line 43) | def __repr__(self): method __setitem__ (line 46) | def __setitem__(self, posn, val): method __getitem__ (line 61) | def __getitem__(self, posn): method from_hex (line 79) | def from_hex(cls, hexstring): method to_binary (line 88) | def to_binary(self): method to_hex (line 98) | def to_hex(self): method reverse (line 103) | def reverse(self): method get_set_bits (line 110) | def get_set_bits(self): FILE: python/nav/bootstrap.py function bootstrap_django (line 30) | def bootstrap_django(caller=None): FILE: python/nav/bulkimport.py function _get_aliases (line 39) | def _get_aliases(aliases: str) -> list[str]: function _validate_aliases (line 45) | def _validate_aliases(aliases: str) -> None: class BulkImporter (line 52) | class BulkImporter: method __init__ (line 55) | def __init__(self, parser): method __iter__ (line 58) | def __iter__(self): method __next__ (line 61) | def __next__(self): method _decode_as_utf8 (line 72) | def _decode_as_utf8(row): method _create_objects_from_row (line 79) | def _create_objects_from_row(self, row): class NetboxImporter (line 88) | class NetboxImporter(BulkImporter): method _create_objects_from_row (line 91) | def _create_objects_from_row(self, row): method _get_netbox_from_row (line 117) | def _get_netbox_from_row(row): method _get_management_profiles (line 134) | def _get_management_profiles(netbox, profile_names): method _get_netboxinfo_from_function (line 147) | def _get_netboxinfo_from_function(netbox, function): method _get_groups_from_group (line 154) | def _get_groups_from_group(netbox, netboxgroup): method _parse_data (line 165) | def _parse_data(datastring): class ServiceImporter (line 173) | class ServiceImporter(BulkImporter): method _create_objects_from_row (line 176) | def _create_objects_from_row(self, row): method _get_handler_descr (line 193) | def _get_handler_descr(handler): method _get_service_properties (line 200) | def _get_service_properties(service, args): method _validate_handler_args (line 208) | def _validate_handler_args(handler_descr, service_args): class LocationImporter (line 221) | class LocationImporter(BulkImporter): method _create_objects_from_row (line 224) | def _create_objects_from_row(self, row): class RoomImporter (line 241) | class RoomImporter(BulkImporter): method _create_objects_from_row (line 244) | def _create_objects_from_row(self, row): class ManagementProfileImporter (line 264) | class ManagementProfileImporter(BulkImporter): method _create_objects_from_row (line 267) | def _create_objects_from_row(self, row): class OrgImporter (line 280) | class OrgImporter(BulkImporter): method _create_objects_from_row (line 283) | def _create_objects_from_row(self, row): class PrefixImporter (line 299) | class PrefixImporter(BulkImporter): method _create_objects_from_row (line 302) | def _create_objects_from_row(self, row): class UsageImporter (line 330) | class UsageImporter(BulkImporter): method _create_objects_from_row (line 333) | def _create_objects_from_row(self, row): class NetboxTypeImporter (line 339) | class NetboxTypeImporter(BulkImporter): method _create_objects_from_row (line 342) | def _create_objects_from_row(self, row): class VendorImporter (line 356) | class VendorImporter(BulkImporter): method _create_objects_from_row (line 359) | def _create_objects_from_row(self, row): class NetboxGroupImporter (line 365) | class NetboxGroupImporter(BulkImporter): method _create_objects_from_row (line 368) | def _create_objects_from_row(self, row): class CablingImporter (line 376) | class CablingImporter(BulkImporter): method _create_objects_from_row (line 379) | def _create_objects_from_row(self, row): class PatchImporter (line 393) | class PatchImporter(BulkImporter): method _create_objects_from_row (line 396) | def _create_objects_from_row(self, row): function get_object_or_fail (line 408) | def get_object_or_fail(cls, **kwargs): function raise_if_exists (line 426) | def raise_if_exists(cls, **kwargs): class BulkImportError (line 438) | class BulkImportError(BulkParseError): class DoesNotExist (line 444) | class DoesNotExist(BulkImportError): class MultipleObjectsReturned (line 450) | class MultipleObjectsReturned(BulkImportError): class AlreadyExists (line 456) | class AlreadyExists(BulkImportError): class InvalidValue (line 462) | class InvalidValue(BulkImportError): function reset_object_foreignkeys (line 468) | def reset_object_foreignkeys(obj): function get_foreign_key_fields (line 481) | def get_foreign_key_fields(obj): FILE: python/nav/bulkparse.py class BulkParser (line 38) | class BulkParser: method __init__ (line 46) | def __init__(self, data, delimiter=None): method __iter__ (line 78) | def __iter__(self): method __next__ (line 81) | def __next__(self): method _strip_cell_whitespace (line 94) | def _strip_cell_whitespace(row): method validate_row (line 107) | def validate_row(self, row): method is_valid_fieldvalue (line 118) | def is_valid_fieldvalue(self, fieldname, value): method get_header (line 127) | def get_header(cls): class CommentStripper (line 150) | class CommentStripper: method __init__ (line 155) | def __init__(self, source_iterator): method __iter__ (line 158) | def __iter__(self): method __next__ (line 161) | def __next__(self): function validate_attribute_list (line 167) | def validate_attribute_list(value): class NetboxBulkParser (line 184) | class NetboxBulkParser(BulkParser): method _validate_ip (line 201) | def _validate_ip(value): method _validate_data (line 210) | def _validate_data(datastring): class ManagementProfileBulkParser (line 222) | class ManagementProfileBulkParser(BulkParser): method _validate_configuration (line 236) | def _validate_configuration(configuration): method _validate_protocol (line 246) | def _validate_protocol(protocol): class UsageBulkParser (line 251) | class UsageBulkParser(BulkParser): method _validate_usageid (line 260) | def _validate_usageid(cls, value): class LocationBulkParser (line 264) | class LocationBulkParser(BulkParser): method _validate_locationid (line 272) | def _validate_locationid(cls, value): class OrgBulkParser (line 276) | class OrgBulkParser(BulkParser): method _validate_orgid (line 286) | def _validate_orgid(cls, value): class PrefixBulkParser (line 290) | class PrefixBulkParser(BulkParser): method _validate_netaddr (line 297) | def _validate_netaddr(value): method _validate_vlan (line 306) | def _validate_vlan(vlan): class RoomBulkParser (line 316) | class RoomBulkParser(BulkParser): method _validate_roomid (line 326) | def _validate_roomid(cls, value): method _validate_position (line 330) | def _validate_position(cls, value): class ServiceBulkParser (line 334) | class ServiceBulkParser(BulkParser): class NetboxGroupBulkParser (line 343) | class NetboxGroupBulkParser(BulkParser): class NetboxTypeBulkParser (line 350) | class NetboxTypeBulkParser(BulkParser): class VendorBulkParser (line 357) | class VendorBulkParser(BulkParser): method _validate_vendorid (line 365) | def _validate_vendorid(cls, value): class CablingBulkParser (line 369) | class CablingBulkParser(BulkParser): class PatchBulkParser (line 376) | class PatchBulkParser(BulkParser): class BulkParseError (line 386) | class BulkParseError(GeneralException): method __repr__ (line 389) | def __repr__(self): class RequiredFieldMissing (line 393) | class RequiredFieldMissing(BulkParseError): method __init__ (line 396) | def __init__(self, line_num, missing_field): method __str__ (line 401) | def __str__(self): class InvalidFieldValue (line 409) | class InvalidFieldValue(BulkParseError): method __init__ (line 412) | def __init__(self, line_num, field, value): method __str__ (line 418) | def __str__(self): FILE: python/nav/colors.py function colorize (line 67) | def colorize(color): function print_color (line 93) | def print_color(string, color, newline=True): function set_foreground (line 100) | def set_foreground(color): function reset_foreground (line 107) | def reset_foreground(): function get_terminal_width (line 114) | def get_terminal_width(): FILE: python/nav/config/__init__.py function get_config_locations (line 60) | def get_config_locations() -> Iterator[Path]: function list_config_files_from_dir (line 73) | def list_config_files_from_dir(dirname, suffix="conf"): function find_config_dir (line 83) | def find_config_dir(suffix="conf"): function read_flat_config (line 89) | def read_flat_config(config_file, delimiter='='): function getconfig (line 120) | def getconfig(configfile, defaults=None): class NAVConfigParser (line 147) | class NAVConfigParser(configparser.ConfigParser): method __init__ (line 165) | def __init__(self, default_config=None, default_config_files=None): method read_all (line 177) | def read_all(self): class NavConfigParserDefaultSection (line 194) | class NavConfigParserDefaultSection(object): method __init__ (line 204) | def __init__(self, section): method get (line 208) | def get(self, *args): method getboolean (line 211) | def getboolean(self, *args): function find_config_file (line 215) | def find_config_file(filename): function open_configfile (line 232) | def open_configfile(filename): function install_example_config_files (line 244) | def install_example_config_files(target_directory, overwrite=False, call... function _config_resource_walk (line 260) | def _config_resource_walk(source=''): function _install_single_config_resource_ (line 278) | def _install_single_config_resource_(source, target, overwrite=False): function verify_nav_config (line 298) | def verify_nav_config(config): function _is_directory_writable_by_user (line 340) | def _is_directory_writable_by_user(directory, username): class ConfigurationError (line 358) | class ConfigurationError(GeneralException): FILE: python/nav/config/toml.py class TOMLConfigParser (line 36) | class TOMLConfigParser(UserDict): method __init__ (line 50) | def __init__( method __getitem__ (line 64) | def __getitem__(self, key): method read_file (line 72) | def read_file(self, fp): method read_string (line 77) | def read_string(self, s: str, /, *, parse_float=float): method _merge_with_default (line 82) | def _merge_with_default(self, configdict): method _read (line 85) | def _read(self, filename): function merge_dict_with_defaults (line 98) | def merge_dict_with_defaults(data, defaults): FILE: python/nav/daemon.py class DaemonError (line 51) | class DaemonError(Exception): class UserNotFoundError (line 57) | class UserNotFoundError(DaemonError): method __init__ (line 60) | def __init__(self, username): method __str__ (line 64) | def __str__(self): class SwitchUserError (line 68) | class SwitchUserError(DaemonError): method __init__ (line 71) | def __init__(self, olduid, oldgid, newuid, newgid): method __str__ (line 78) | def __str__(self): class AlreadyRunningError (line 87) | class AlreadyRunningError(DaemonError): method __init__ (line 90) | def __init__(self, pid): method __str__ (line 94) | def __str__(self): class PidFileReadError (line 98) | class PidFileReadError(DaemonError): method __init__ (line 101) | def __init__(self, pidfile): method __str__ (line 105) | def __str__(self): class PidFileWriteError (line 109) | class PidFileWriteError(DaemonError): method __init__ (line 112) | def __init__(self, pidfile, error): method __str__ (line 117) | def __str__(self): class ForkError (line 124) | class ForkError(DaemonError): method __init__ (line 127) | def __init__(self, forkno, error): method __str__ (line 132) | def __str__(self): function switchuser (line 139) | def switchuser(username): function justme (line 203) | def justme(pidfile): function writepidfile (line 256) | def writepidfile(pidfile): function pidfile_path (line 275) | def pidfile_path(pidfile): function redirect_std_fds (line 283) | def redirect_std_fds(stdin=None, stdout=None, stderr=None): function daemonize (line 317) | def daemonize(pidfile, stdin=None, stdout=None, stderr=None): function daemonexit (line 382) | def daemonexit(pidfile): function safesleep (line 409) | def safesleep(delay): function signame (line 435) | def signame(signum): FILE: python/nav/db/__init__.py class ConnectionObject (line 39) | class ConnectionObject(nav.CacheableObject): method __init__ (line 45) | def __init__(self, object_, key): method is_invalid (line 50) | def is_invalid(self): method ping (line 70) | def ping(self): function escape (line 82) | def escape(string): function get_connection_parameters (line 93) | def get_connection_parameters(script_name='default', database='nav'): function get_connection_string (line 131) | def get_connection_string(db_params=None, script_name='default'): function getConnection (line 156) | def getConnection(scriptName, database='nav'): function closeConnections (line 192) | def closeConnections(): function commit_all_connections (line 201) | def commit_all_connections(): function retry_on_db_loss (line 208) | def retry_on_db_loss(count=3, delay=2, fallback=None, also_handled=None): class ConnectionParameters (line 263) | class ConnectionParameters(object): method __init__ (line 266) | def __init__(self, dbhost, dbport, dbname, user, password): method from_config (line 274) | def from_config(cls): method from_environment (line 279) | def from_environment(cls): method for_postgres_user (line 288) | def for_postgres_user(cls): method export (line 302) | def export(self, environ): method as_tuple (line 318) | def as_tuple(self): method __str__ (line 322) | def __str__(self): FILE: python/nav/debug.py function calltracer (line 24) | def calltracer(function, logfunction=print): function log_stacktrace (line 53) | def log_stacktrace(logger, stacktrace): function _dumpvars (line 85) | def _dumpvars(varitems): function log_last_django_query (line 93) | def log_last_django_query(logger): FILE: python/nav/dhcpstats/common.py function fetch_graph_urls_for_prefixes (line 45) | def fetch_graph_urls_for_prefixes(prefixes: list[IPy.IP]) -> list[str]: function fetch_paths_from_graphite (line 108) | def fetch_paths_from_graphite(): function group_paths (line 143) | def group_paths(paths: list["DhcpPath"]): function drop_groups_not_in_prefixes (line 156) | def drop_groups_not_in_prefixes( function range_str (line 171) | def range_str(first_ip: IPy.IP, last_ip: IPy.IP): class DhcpPath (line 203) | class DhcpPath: method from_graphite_path (line 244) | def from_graphite_path(cls, graphite_path: str): method from_external_info (line 310) | def from_external_info( method to_graphite_path (line 353) | def to_graphite_path(self, metric_name, wildcard_for_group=False): method intersects (line 375) | def intersects(self, prefixes: Iterable[IPy.IP]): method _unescape_graphite_address (line 388) | def _unescape_graphite_address(escaped_address: str) -> IPy.IP: method _check_ip_pair (line 400) | def _check_ip_pair(first_ip: IPy.IP, last_ip: IPy.IP): method is_standalone (line 415) | def is_standalone(self): FILE: python/nav/dhcpstats/errors.py class CommunicationError (line 21) | class CommunicationError(GeneralException): class KeaUnexpected (line 25) | class KeaUnexpected(CommunicationError): class KeaError (line 29) | class KeaError(CommunicationError): class KeaUnsupported (line 33) | class KeaUnsupported(CommunicationError): class KeaEmpty (line 37) | class KeaEmpty(CommunicationError): class KeaConflict (line 41) | class KeaConflict(CommunicationError): FILE: python/nav/dhcpstats/kea_dhcp.py class Pool (line 48) | class Pool: method __str__ (line 64) | def __str__(self): class Client (line 75) | class Client: method __init__ (line 91) | def __init__( method __str__ (line 143) | def __str__(self): method fetch_stats (line 149) | def fetch_stats(self) -> list[GraphiteMetric]: method _fetch_raw_stats (line 204) | def _fetch_raw_stats(self) -> dict: method _fetch_kea_config (line 212) | def _fetch_kea_config(self) -> dict: method _fetch_kea_config_hash (line 230) | def _fetch_kea_config_hash(self) -> Optional[str]: method _send_query (line 245) | def _send_query(self, command: str, **kwargs) -> dict: method _create_session (line 339) | def _create_session(self) -> Session: method _subnets_of_kea_config (line 398) | def _subnets_of_kea_config(self, config: dict) -> Iterator[dict]: method _pools_of_subnet (line 413) | def _pools_of_subnet(self, subnet: dict) -> Iterator[Pool]: method _stats_of_pool (line 465) | def _stats_of_pool(self, raw_stats: dict, pool: Pool) -> Iterator[Grap... method _bounds_of_pool_range (line 506) | def _bounds_of_pool_range(self, pool_range: str) -> tuple[IP, IP]: method _group_name_of_pool (line 530) | def _group_name_of_pool(self, pool: dict) -> Optional[str]: method _log_consistency_with_upstream_pools (line 547) | def _log_consistency_with_upstream_pools(self, local_pools: list): method _log_runtime (line 570) | def _log_runtime( function _extract_pool_stat (line 586) | def _extract_pool_stat(raw_stats: dict, pool: Pool, name: str) -> int: class _KeaStatus (line 606) | class _KeaStatus(IntEnum): method describe (line 616) | def describe(cls, status: int) -> str: function _raise_for_kea_status (line 623) | def _raise_for_kea_status(status: int): FILE: python/nav/django/apps.py class NavDjangoConfig (line 4) | class NavDjangoConfig(AppConfig): FILE: python/nav/django/context_processors.py function debug (line 43) | def debug(_request): function account_processor (line 57) | def account_processor(request): function nav_version (line 117) | def nav_version(_request): function footer_info (line 123) | def footer_info(_request): function toolbox (line 127) | def toolbox(request): function graphite_base (line 131) | def graphite_base(_request): function auth (line 136) | def auth(request): FILE: python/nav/django/decorators.py function require_admin (line 24) | def require_admin(func): FILE: python/nav/django/filter.py class NAVExceptionReporterFilter (line 35) | class NAVExceptionReporterFilter(SafeExceptionReporterFilter): method get_post_parameters (line 38) | def get_post_parameters(self, request): FILE: python/nav/django/forms.py class CIDRField (line 31) | class CIDRField(forms.CharField): method clean (line 34) | def clean(self, value): class PointField (line 41) | class PointField(forms.CharField): method clean (line 44) | def clean(self, value): class JSONWidget (line 50) | class JSONWidget(Textarea): method _render_value (line 51) | def _render_value(self, value): method render (line 64) | def render(self, name, value, attrs=None, renderer=None): class HStoreField (line 70) | class HStoreField(Field): method __init__ (line 71) | def __init__(self, **params): method to_python (line 75) | def to_python(self, value): function validate_aliases (line 79) | def validate_aliases(aliases: list[str]) -> list[str]: class AliasListWidget (line 104) | class AliasListWidget(forms.Widget): method get_context (line 109) | def get_context(self, name, value, attrs): method value_from_datadict (line 116) | def value_from_datadict(self, data, files, name): class AliasListField (line 120) | class AliasListField(forms.Field): method __init__ (line 125) | def __init__(self, *args, verbose_name='entry', **kwargs): method prepare_value (line 133) | def prepare_value(self, value): method clean (line 138) | def clean(self, value): function _parse_json_list (line 142) | def _parse_json_list(value): FILE: python/nav/django/legacy.py class LegacyCleanupMiddleware (line 23) | class LegacyCleanupMiddleware(MiddlewareMixin): method process_response (line 29) | def process_response(self, _request, response): FILE: python/nav/django/settings.py function _login_not_required (line 36) | def _login_not_required(view_func): class Suppress503 (line 74) | class Suppress503(logging.Filter): method filter (line 82) | def filter(self, record): FILE: python/nav/django/templatetags/breadcrumbs.py function _get_breadcrumb_config (line 10) | def _get_breadcrumb_config(): function to_breadcrumbs (line 46) | def to_breadcrumbs(path): function clean_path (line 70) | def clean_path(path): FILE: python/nav/django/templatetags/date_and_time.py function default_datetime (line 12) | def default_datetime(value): function short_time_format (line 23) | def short_time_format(value): function remove_microseconds (line 35) | def remove_microseconds(delta): FILE: python/nav/django/templatetags/forms.py function is_checkbox (line 11) | def is_checkbox(field): function show_field (line 16) | def show_field(field): FILE: python/nav/django/templatetags/info.py function time_since (line 32) | def time_since(timestamp): function days_since (line 51) | def days_since(timestamp): function _is_more_or_less_now (line 66) | def _is_more_or_less_now(timestamp): function is_max_timestamp (line 73) | def is_max_timestamp(timestamp): function run (line 82) | def run(function, arg): function get_attr (line 88) | def get_attr(value, arg): function find_attr (line 103) | def find_attr(obj, attrlist): function lookup (line 117) | def lookup(value, key): function interval (line 123) | def interval(value): function add_interval (line 134) | def add_interval(value, seconds): function get_graph_url (line 150) | def get_graph_url(obj, time_frame): function get_netbox_availability (line 155) | def get_netbox_availability(netbox, time_frame): function get_value (line 168) | def get_value(something, key): function sortdict (line 177) | def sortdict(dictionary, reverse=False): function is_list (line 183) | def is_list(value): function highlight (line 189) | def highlight(text, query): function dunderless (line 200) | def dunderless(mapping): FILE: python/nav/django/templatetags/maintenance.py function model_verbose_name (line 26) | def model_verbose_name(model): function component_name (line 37) | def component_name(component): function component_description (line 51) | def component_description(component): function component_db_table (line 63) | def component_db_table(component): FILE: python/nav/django/templatetags/popover.py function confirm_popover (line 23) | def confirm_popover( function popover_close_button (line 74) | def popover_close_button(text: str = "Cancel", classes: str = "secondary... class PopoverNode (line 91) | class PopoverNode(template.Node): method __init__ (line 94) | def __init__( method render (line 118) | def render(self, context): function _build_trigger_html (line 167) | def _build_trigger_html(element, id_value, text, classes): function _parse_popover_kwargs (line 181) | def _parse_popover_kwargs(bits, tag_name): function _validate_popover_params (line 211) | def _validate_popover_params(trigger_element, size, side, align, tag_name): function do_popover (line 239) | def do_popover(parser, token): function _strip_quotes (line 298) | def _strip_quotes(value): function _parse_bool (line 308) | def _parse_bool(value): FILE: python/nav/django/templatetags/port_info.py function get_direction_class (line 10) | def get_direction_class(direction): FILE: python/nav/django/templatetags/portadmin.py function drawLight (line 7) | def drawLight(value): FILE: python/nav/django/templatetags/query.py function query (line 26) | def query(viewname, **kwargs): FILE: python/nav/django/templatetags/radius.py function time_from_seconds (line 10) | def time_from_seconds(value): FILE: python/nav/django/templatetags/report.py function get_item (line 13) | def get_item(value, arg): function escapeslash (line 19) | def escapeslash(value): function report (line 24) | def report(name, **kwargs): FILE: python/nav/django/templatetags/silent_include.py class IncludeNode (line 14) | class IncludeNode(template.Node): method __init__ (line 15) | def __init__(self, template_name): method render (line 18) | def render(self, context): function try_to_include (line 32) | def try_to_include(_, token): FILE: python/nav/django/templatetags/string_manipulation.py function shorten_ifname (line 11) | def shorten_ifname(ifname): # pragma: nocover function deep_urlize (line 20) | def deep_urlize(value): function starts_with (line 28) | def starts_with(value, arg): FILE: python/nav/django/templatetags/thresholds.py function find_rules (line 26) | def find_rules(metrics): function find_thresholds (line 49) | def find_thresholds(metric): FILE: python/nav/django/templatetags/tools.py function get_tool (line 24) | def get_tool(tool_list, tool_name): FILE: python/nav/django/templatetags/watchdog.py function map_to_class (line 25) | def map_to_class(status): function map_to_faclass (line 33) | def map_to_faclass(status): FILE: python/nav/django/utils.py function reverse_with_query (line 29) | def reverse_with_query(viewname, **kwargs): function get_verbose_name (line 36) | def get_verbose_name(model, lookup): function pformat_request (line 63) | def pformat_request(request: HttpRequest, function, *attributes) -> None: function get_model_and_name (line 99) | def get_model_and_name(rel): function get_all_related_objects (line 107) | def get_all_related_objects(model): function get_all_related_many_to_many_objects (line 116) | def get_all_related_many_to_many_objects(model): function get_os_version (line 125) | def get_os_version(): FILE: python/nav/django/validators.py function is_valid_point_string (line 26) | def is_valid_point_string(point_string): class JSONBytesEncoder (line 40) | class JSONBytesEncoder(json.JSONEncoder): method default (line 41) | def default(self, obj): function validate_hstore (line 47) | def validate_hstore(value): FILE: python/nav/django/views.py function custom_500 (line 24) | def custom_500(request): function force_500 (line 39) | def force_500(request): FILE: python/nav/django/widgets.py class PointInput (line 21) | class PointInput(forms.TextInput): method render (line 22) | def render(self, name, value, *args, **kwargs): FILE: python/nav/errors.py class GeneralException (line 19) | class GeneralException(Exception): method __str__ (line 23) | def __str__(self): class ConfigurationError (line 32) | class ConfigurationError(GeneralException): class BasepathError (line 36) | class BasepathError(ConfigurationError): class RedirectError (line 40) | class RedirectError(GeneralException): class NoServicesFound (line 46) | class NoServicesFound(GeneralException): class NoNetboxTypeError (line 50) | class NoNetboxTypeError(GeneralException): FILE: python/nav/event.py class Event (line 29) | class Event(dict): method __init__ (line 37) | def __init__( method __repr__ (line 64) | def __repr__(self): method post (line 85) | def post(self): method delete (line 89) | def delete(self): class EventQ (line 109) | class EventQ(object): method _get_connection (line 113) | def _get_connection(cls): method allocate_id (line 122) | def allocate_id(cls): method post_event (line 133) | def post_event(cls, event): method consume_events (line 182) | def consume_events(cls, target): method delete_event (line 226) | def delete_event(cls, eventqid): class EventIdAllocationError (line 240) | class EventIdAllocationError(GeneralException): class EventAlreadyPostedError (line 246) | class EventAlreadyPostedError(GeneralException): class EventIncompleteError (line 252) | class EventIncompleteError(GeneralException): class EventNotPostedError (line 258) | class EventNotPostedError(GeneralException): function create_type_hierarchy (line 265) | def create_type_hierarchy(hierarchy): FILE: python/nav/event2.py class EventFactory (line 25) | class EventFactory(object): method __init__ (line 28) | def __init__(self, source, target, event_type, start_type=None, end_ty... method base (line 44) | def base(self, device=None, netbox=None, subid='', varmap=None, alert_... method start (line 79) | def start(self, device=None, netbox=None, subid='', varmap=None, alert... method end (line 85) | def end(self, device=None, netbox=None, subid='', varmap=None, alert_t... method notify (line 91) | def notify(self, device=None, netbox=None, subid='', varmap=None, aler... FILE: python/nav/eventengine/__init__.py function get_eventengine_output (line 21) | def get_eventengine_output(timeout=10): FILE: python/nav/eventengine/alerts.py class AlertGenerator (line 40) | class AlertGenerator(dict): method __init__ (line 43) | def __init__(self, event): method __repr__ (line 68) | def __repr__(self): method __bool__ (line 77) | def __bool__(self): method make_alert (line 84) | def make_alert(self): method make_alert_history (line 106) | def make_alert_history(self): method _resolve_alert_history (line 132) | def _resolve_alert_history(self): method _update_history_vars (line 139) | def _update_history_vars(self, alert): method _find_existing_alert_history (line 145) | def _find_existing_alert_history(self): method post (line 148) | def post(self, post_alert=True, set_state=True): method _post_alert (line 175) | def _post_alert(self, history=None): method _post_alert_history (line 184) | def _post_alert_history(self): method _post_alert_messages (line 193) | def _post_alert_messages(self, obj): method _make_messages (line 209) | def _make_messages(self): method is_event_duplicate (line 214) | def is_event_duplicate(self): method get_alert_type (line 224) | def get_alert_type(self): function ensure_alert_templates_are_available (line 245) | def ensure_alert_templates_are_available(): function render_templates (line 257) | def render_templates(alert): function _render_template (line 280) | def _render_template(details, alert): function get_list_of_templates_for (line 295) | def get_list_of_templates_for(event_type, alert_type="default"): FILE: python/nav/eventengine/config.py class EventEngineConfig (line 25) | class EventEngineConfig(NAVConfigParser): method get_timeout_for (line 42) | def get_timeout_for(self, option): method get_timeouts_for (line 58) | def get_timeouts_for(self, *options): FILE: python/nav/eventengine/daemon.py function main (line 35) | def main(): function parse_options (line 47) | def parse_options(): function make_option_parser (line 54) | def make_option_parser(): function exit_if_already_running (line 75) | def exit_if_already_running(): function daemonize (line 84) | def daemonize(): function install_signal_handlers (line 94) | def install_signal_handlers(): function sigterm_handler (line 100) | def sigterm_handler(signum, _frame): function sighup_handler (line 108) | def sighup_handler(_signum, _frame): function start_engine (line 118) | def start_engine(): FILE: python/nav/eventengine/engine.py function harakiri (line 48) | def harakiri(): function retry_on_db_loss (line 54) | def retry_on_db_loss(): function swallow_unhandled_exceptions (line 63) | def swallow_unhandled_exceptions(func): class EventEngine (line 80) | class EventEngine(object): method __init__ (line 94) | def __init__(self, target="eventEngine", config=EVENTENGINE_CONF): method _notifysleep (line 107) | def _notifysleep(self, delay): method start (line 135) | def start(self): method _load_severity_rules (line 146) | def _load_severity_rules(): method _start_export_script (line 150) | def _start_export_script(self): method _listen (line 164) | def _listen(): method _load_new_events_and_reschedule (line 173) | def _load_new_events_and_reschedule(self): method _has_overdue_callbacks (line 179) | def _has_overdue_callbacks(self): method _schedule_next_queuecheck (line 184) | def _schedule_next_queuecheck(self, delay=0, action=None): method load_new_events (line 192) | def load_new_events(self): method _log_task_queue (line 245) | def _log_task_queue(self): method _post_generic_alert (line 262) | def _post_generic_alert(self, event): method _box_is_on_maintenance (line 287) | def _box_is_on_maintenance(event): method handle_event (line 297) | def handle_event(self, event): method schedule (line 329) | def schedule(self, delay, action, args=()): method cancel (line 341) | def cancel(self, task): FILE: python/nav/eventengine/export.py class StreamExporter (line 37) | class StreamExporter(object): method __init__ (line 40) | def __init__(self, command): method run (line 45) | def run(self): method is_ok (line 51) | def is_ok(self): method export (line 73) | def export(self, alert): method _send_string (line 84) | def _send_string(self, string): FILE: python/nav/eventengine/plugin.py class UnsupportedEvent (line 22) | class UnsupportedEvent(ValueError): class EventHandler (line 28) | class EventHandler(object): method can_handle (line 32) | def can_handle(cls, event): method __init__ (line 42) | def __init__(self, event, engine): method handle (line 58) | def handle(self): method load_and_find_subclasses (line 63) | def load_and_find_subclasses(cls, package_names=None): method _box_is_on_maintenance (line 77) | def _box_is_on_maintenance(self): function _load_all_modules_in_package (line 83) | def _load_all_modules_in_package(package_name): function _find_package_modules (line 91) | def _find_package_modules(package_name): function _get_recursive_subclasses (line 104) | def _get_recursive_subclasses(cls, subclasses=None): FILE: python/nav/eventengine/plugins/aggregatelinkstate.py class AggregateLinkStateHandler (line 21) | class AggregateLinkStateHandler(EventHandler): method handle (line 26) | def handle(self): method _handle_duplicate (line 60) | def _handle_duplicate(self, alert, existing_alert): method _ignore (line 74) | def _ignore(self, msg): FILE: python/nav/eventengine/plugins/bgpstate.py class BGPStateHandler (line 22) | class BGPStateHandler(delayedstate.DelayedStateHandler): method get_target (line 29) | def get_target(self): method _get_up_alert (line 36) | def _get_up_alert(self): method _get_down_alert (line 41) | def _get_down_alert(self): method _post_down_warning (line 50) | def _post_down_warning(self): method _is_peer_down (line 53) | def _is_peer_down(self): FILE: python/nav/eventengine/plugins/boxstate.py class BoxStateHandler (line 23) | class BoxStateHandler(delayedstate.DelayedStateHandler): method _is_internally_down (line 30) | def _is_internally_down(self): method _set_internal_state_down (line 34) | def _set_internal_state_down(self): method _set_internal_state_up (line 39) | def _set_internal_state_up(self): method _set_internal_state (line 42) | def _set_internal_state(self, state): method get_target (line 47) | def get_target(self): method _get_up_alert (line 50) | def _get_up_alert(self): method _post_down_warning (line 56) | def _post_down_warning(self): method _get_down_alert (line 71) | def _get_down_alert(self): FILE: python/nav/eventengine/plugins/delayedstate.py class DelayedStateHandler (line 25) | class DelayedStateHandler(EventHandler): method __init__ (line 38) | def __init__(self, *args, **kwargs): method _set_wait_times (line 43) | def _set_wait_times(self): method handle (line 51) | def handle(self): method _handle_start (line 63) | def _handle_start(self): method _set_internal_state_down (line 100) | def _set_internal_state_down(self): method _set_internal_state_up (line 107) | def _set_internal_state_up(self): method _is_internally_down (line 114) | def _is_internally_down(self): method get_target (line 124) | def get_target(self): method _handle_end (line 128) | def _handle_end(self): method _get_up_alert (line 162) | def _get_up_alert(self): method _is_duplicate (line 165) | def _is_duplicate(self): method _get_waiting (line 169) | def _get_waiting(self): method _make_down_warning (line 178) | def _make_down_warning(self, _comment=None): method _post_down_warning (line 196) | def _post_down_warning(self): method _make_down_alert (line 200) | def _make_down_alert(self, _comment=None): method _get_down_alert (line 214) | def _get_down_alert(self): method _verify_shadow (line 224) | def _verify_shadow(self): method schedule (line 232) | def schedule(self, delay, action, args=()): method deschedule (line 237) | def deschedule(self): FILE: python/nav/eventengine/plugins/juniperalertcount.py class JuniperAlertCountHandler (line 24) | class JuniperAlertCountHandler(EventHandler): method handle (line 32) | def handle(self): method _handle_start (line 45) | def _handle_start(self): method _handle_end (line 77) | def _handle_end(self): method get_target (line 101) | def get_target(self): method _delete_event_with_incorrect_alert_type (line 104) | def _delete_event_with_incorrect_alert_type( FILE: python/nav/eventengine/plugins/linkstate.py class LinkStateHandler (line 27) | class LinkStateHandler(delayedstate.DelayedStateHandler): method __init__ (line 36) | def __init__(self, *args, **kwargs): method get_target (line 40) | def get_target(self): method get_link_partner (line 46) | def get_link_partner(self): method handle (line 50) | def handle(self): method _handle_end (line 55) | def _handle_end(self): method _set_internal_state_down (line 59) | def _set_internal_state_down(self): method _set_internal_state_up (line 62) | def _set_internal_state_up(self): method _set_ifoperstatus (line 65) | def _set_ifoperstatus(self, ifoperstatus): method _get_up_alert (line 71) | def _get_up_alert(self): method _get_down_alert (line 79) | def _get_down_alert(self): method _post_down_warning (line 99) | def _post_down_warning(self): method _hold_back_alert_due_to_redundancy_limit (line 102) | def _hold_back_alert_due_to_redundancy_limit(self): method _hold_back_alert_due_to_vlan_mismatch (line 117) | def _hold_back_alert_due_to_vlan_mismatch(self): method _get_target_vlans (line 138) | def _get_target_vlans(self): method _post_event_if_aggregate_degraded (line 153) | def _post_event_if_aggregate_degraded(self): method _post_event_if_aggregate_restored (line 162) | def _post_event_if_aggregate_restored(self): method _get_aggregate_link_event (line 171) | def _get_aggregate_link_event(self, start): method _is_a_master_for_virtualized_instances (line 199) | def _is_a_master_for_virtualized_instances(self): method _copy_event_for_instances (line 203) | def _copy_event_for_instances(self): method _copy_event_for_instance (line 209) | def _copy_event_for_instance(self, netbox, instance, ifc): class LinkStateConfiguration (line 228) | class LinkStateConfiguration(object): method __init__ (line 231) | def __init__(self, config): method get_vlan_limit_set (line 234) | def get_vlan_limit_set(self): method alert_only_on_redundancy_loss (line 247) | def alert_only_on_redundancy_loss(self): FILE: python/nav/eventengine/plugins/maintenancestate.py class MaintenanceStateHandler (line 22) | class MaintenanceStateHandler(EventHandler): method handle (line 27) | def handle(self): method _post_alert (line 37) | def _post_alert(self, event): FILE: python/nav/eventengine/plugins/modulestate.py class ModuleStateHandler (line 25) | class ModuleStateHandler(delayedstate.DelayedStateHandler): method get_target (line 35) | def get_target(self): method _is_internally_down (line 41) | def _is_internally_down(self): method _get_up_alert (line 45) | def _get_up_alert(self): method _set_internal_state_down (line 50) | def _set_internal_state_down(self): method _set_internal_state_up (line 56) | def _set_internal_state_up(self): method _get_down_alert (line 62) | def _get_down_alert(self): method _get_alert (line 74) | def _get_alert(self): method _post_down_warning (line 81) | def _post_down_warning(self): method _is_chassis_down (line 96) | def _is_chassis_down(self): FILE: python/nav/eventengine/plugins/servicestate.py class ServiceStateHandler (line 25) | class ServiceStateHandler(EventHandler): method handle (line 30) | def handle(self): method _update_service (line 44) | def _update_service(self): method _set_alert_type (line 55) | def _set_alert_type(alert, service): method _populate_alert (line 60) | def _populate_alert(self, alert): FILE: python/nav/eventengine/plugins/snmpagentstate.py class SnmpAgentStateHandler (line 23) | class SnmpAgentStateHandler(DelayedStateHandler): method get_target (line 30) | def get_target(self): method _get_up_alert (line 33) | def _get_up_alert(self): method _get_down_alert (line 38) | def _get_down_alert(self): method _is_netbox_currently_up (line 49) | def _is_netbox_currently_up(self): method _post_down_warning (line 53) | def _post_down_warning(self): FILE: python/nav/eventengine/plugins/thresholdstate.py class ThresholdStateHandler (line 22) | class ThresholdStateHandler(EventHandler): method handle (line 27) | def handle(self): method _post_alert (line 37) | def _post_alert(self, event): FILE: python/nav/eventengine/plugins/upgrade.py class UpgradeHandler (line 22) | class UpgradeHandler(EventHandler): method handle (line 27) | def handle(self): method _post_alert (line 37) | def _post_alert(self, event): FILE: python/nav/eventengine/severity.py class Expression (line 54) | class Expression(typing.NamedTuple): class Severity (line 71) | class Severity(int): method __new__ (line 74) | def __new__(cls, *args, **kwargs): method __add__ (line 78) | def __add__(self, value: int): method __sub__ (line 81) | def __sub__(self, value: int): class SeverityRules (line 85) | class SeverityRules(tuple): method __new__ (line 94) | def __new__(cls, rules: typing.Sequence[Rule]): method load_from_file (line 99) | def load_from_file(cls, filename: str = CONFIG_FILE) -> 'SeverityRules': method load (line 112) | def load(cls, string_or_stream: typing.Union[str, typing.IO]) -> 'Seve... method evaluate (line 118) | def evaluate(self, alert: AlertObject) -> Severity: method _parse_raw_severity_rules (line 139) | def _parse_raw_severity_rules( method _parse_rule_sublist (line 158) | def _parse_rule_sublist( method _parse_modifier (line 191) | def _parse_modifier(value: typing.Union[str, int]) -> SeverityModifier: method _translate_rule (line 211) | def _translate_rule(cls, rule: Rule): FILE: python/nav/eventengine/topology.py function netbox_appears_reachable (line 29) | def netbox_appears_reachable(netbox): function get_path_to_netbox (line 44) | def get_path_to_netbox(netbox): function _path_exists (line 117) | def _path_exists(graph, source, target): function get_graph_for_vlan (line 125) | def get_graph_for_vlan(vlan): function strip_down_nodes_from_graph (line 162) | def strip_down_nodes_from_graph(graph, keep=None): function strip_down_links_from_graph (line 175) | def strip_down_links_from_graph(graph): class NAVServer (line 199) | class NAVServer(object): method make_for (line 205) | def make_for(cls, dest): method __init__ (line 216) | def __init__(self, ip): method get_prefix (line 221) | def get_prefix(self): method add_to_graph (line 227) | def add_to_graph(self, graph): method get_switches_from_cam (line 232) | def get_switches_from_cam(self): method get_mac_from_arp (line 243) | def get_mac_from_arp(self): method __repr__ (line 251) | def __repr__(self): function get_source_address_for (line 255) | def get_source_address_for(dest): function _get_target_dgram_addr (line 279) | def _get_target_dgram_addr(target): FILE: python/nav/eventengine/unresolved.py function get_map (line 27) | def get_map(): function update (line 32) | def update(): function refers_to_unresolved_alert (line 39) | def refers_to_unresolved_alert(event): FILE: python/nav/ip.py class IP (line 25) | class IP(IPy.IP): method __cmp__ (line 32) | def __cmp__(self, other): method __eq__ (line 41) | def __eq__(self, other): method __hash__ (line 47) | def __hash__(self): FILE: python/nav/ipdevpoll/__init__.py class Plugin (line 31) | class Plugin(object): method __init__ (line 41) | def __init__(self, netbox, agent, containers, config: IpdevpollConfig ... method __str__ (line 56) | def __str__(self): method __repr__ (line 59) | def __repr__(self): method handle (line 62) | def handle(self): method can_handle (line 67) | def can_handle(cls, netbox): method _verify_vendor_restriction (line 84) | def _verify_vendor_restriction(cls, netbox): method on_plugin_load (line 94) | def on_plugin_load(cls): method name (line 103) | def name(self): method full_name (line 107) | def full_name(self): method _get_netbox_list (line 111) | def _get_netbox_list(self): FILE: python/nav/ipdevpoll/config.py class IpdevpollConfig (line 29) | class IpdevpollConfig(NAVConfigParser): function get_job_descriptions (line 95) | def get_job_descriptions(config=None): function get_jobs (line 100) | def get_jobs(config=None): function get_job_sections (line 116) | def get_job_sections(config): function get_netbox_filter (line 121) | def get_netbox_filter(section, config=None): class JobDescriptor (line 133) | class JobDescriptor(object): method __init__ (line 136) | def __init__(self, name, interval, intensity, plugins, description=''): method from_config_section (line 144) | def from_config_section(cls, config, section): function _parse_plugins (line 177) | def _parse_plugins(value): function _parse_description (line 184) | def _parse_description(descr): class InvalidJobSectionName (line 189) | class InvalidJobSectionName(ConfigurationError): FILE: python/nav/ipdevpoll/control.py function get_process_command (line 21) | def get_process_command(): FILE: python/nav/ipdevpoll/daemon.py class NetboxAction (line 48) | class NetboxAction(argparse.Action): method __call__ (line 49) | def __call__(self, parser, namespace, values, option_string=None): class IPDevPollProcess (line 75) | class IPDevPollProcess(object): method __init__ (line 78) | def __init__(self, options): method run (line 85) | def run(self): method install_sighandlers (line 102) | def install_sighandlers(self): method setup_scheduling (line 111) | def setup_scheduling(self): method setup_worker (line 143) | def setup_worker(self): method setup_single_job (line 159) | def setup_single_job(self): method setup_multiprocess (line 188) | def setup_multiprocess(self, process_count, max_jobs): method sighup_handler (line 217) | def sighup_handler(self, _signum, _frame): method sigterm_handler (line 226) | def sigterm_handler(self, signum, _frame): method sigusr1_handler (line 232) | def sigusr1_handler(self, _signum, _frame): method sigusr2_handler (line 238) | def sigusr2_handler(self, _signum, _frame): method shutdown (line 244) | def shutdown(self): method _log_shutdown_time (line 249) | def _log_shutdown_time(self): class CommandProcessor (line 257) | class CommandProcessor(object): method __init__ (line 262) | def __init__(self): method parse_options (line 266) | def parse_options(self): method make_option_parser (line 287) | def make_option_parser(self): method run (line 394) | def run(self): method init_logging (line 418) | def init_logging(self, stderr_only=False): method exit_if_already_running (line 445) | def exit_if_already_running(self): method daemonize (line 453) | def daemonize(self): method start_ipdevpoll (line 463) | def start_ipdevpoll(self): method _joblist (line 469) | def _joblist(): method _list_jobs (line 476) | def _list_jobs(*_args, **_kwargs): method _list_plugins (line 484) | def _list_plugins(*_args, **_kwargs): function main (line 490) | def main(): FILE: python/nav/ipdevpoll/dataloader.py function load_netbox (line 52) | def load_netbox(netbox_id): class NetboxLoader (line 65) | class NetboxLoader(dict): method __init__ (line 76) | def __init__(self): method load_all_s (line 82) | def load_all_s(self): method load_all (line 163) | def load_all(self): function is_netbox_changed (line 168) | def is_netbox_changed(netbox1, netbox2): function load_last_updated_times (line 202) | def load_last_updated_times(): FILE: python/nav/ipdevpoll/db.py class ResetDBConnectionError (line 39) | class ResetDBConnectionError(Exception): function django_debug_cleanup (line 43) | def django_debug_cleanup(): function sum_django_queries_runtime (line 71) | def sum_django_queries_runtime(): function cleanup_django_debug_after (line 77) | def cleanup_django_debug_after(func): function run_in_thread (line 93) | def run_in_thread(func, *args, **kwargs): function reset_connection_on_interface_error (line 103) | def reset_connection_on_interface_error(func): function synchronous_db_access (line 135) | def synchronous_db_access(func): function purge_old_job_log_entries (line 148) | def purge_old_job_log_entries(): function delete_stale_job_refresh_notifications (line 168) | def delete_stale_job_refresh_notifications(): function subscribe_to_event_notifications (line 183) | def subscribe_to_event_notifications(trigger: Optional[Callable] = None): function resubscribe_to_event_notifications (line 204) | def resubscribe_to_event_notifications(): function _remove_postgres_reader_and_get_its_trigger_function (line 226) | def _remove_postgres_reader_and_get_its_trigger_function(): function resubscribe_on_connection_loss (line 242) | def resubscribe_on_connection_loss(func): class PostgresNotifyReader (line 258) | class PostgresNotifyReader(abstract.FileDescriptor): method __init__ (line 267) | def __init__( method fileno (line 283) | def fileno(self): method doRead (line 288) | def doRead(self): method schedule_trigger (line 310) | def schedule_trigger(self): function _is_a_new_ipdevpoll_event (line 320) | def _is_a_new_ipdevpoll_event(notification): FILE: python/nav/ipdevpoll/descrparsers.py function parse_ntnu_convention (line 59) | def parse_ntnu_convention(sysname, ifalias): function parse_uninett_convention (line 99) | def parse_uninett_convention(_sysname, ifalias): FILE: python/nav/ipdevpoll/epollreactor2.py class EPollReactor2 (line 30) | class EPollReactor2(epollreactor.EPollReactor): method _remove (line 35) | def _remove(self, xer, primary, other, selectables, event, antievent): function install (line 67) | def install(): FILE: python/nav/ipdevpoll/jobs.py class AbortedJobError (line 46) | class AbortedJobError(Exception): method __init__ (line 49) | def __init__(self, msg, cause=None): method __str__ (line 53) | def __str__(self): class SuggestedReschedule (line 57) | class SuggestedReschedule(AbortedJobError): method __init__ (line 63) | def __init__(self, msg=None, cause=None, delay=60): class JobHandler (line 70) | class JobHandler(object): method __init__ (line 85) | def __init__(self, name, netbox, plugins=None, interval=None): method _create_agentproxy (line 99) | def _create_agentproxy(self): method _destroy_agentproxy (line 132) | def _destroy_agentproxy(self): method _find_plugins (line 139) | def _find_plugins(self): method _get_valid_plugins (line 161) | def _get_valid_plugins(self): method _get_willing_plugins (line 174) | def _get_willing_plugins(self, plugin_classes): method _iterate_plugins (line 205) | def _iterate_plugins(self, plugins): method run (line 254) | def run(self): method cancel (line 355) | def cancel(self): method _reset_timers (line 363) | def _reset_timers(self): method _start_plugin_timer (line 367) | def _start_plugin_timer(self, plugin): method _stop_plugin_timer (line 372) | def _stop_plugin_timer(self, result=None): method _log_timings (line 377) | def _log_timings(self): method get_current_runtime (line 403) | def get_current_runtime(self): method _save_container (line 407) | def _save_container(self): method _prepare_containers_for_save (line 430) | def _prepare_containers_for_save(self): method _cleanup_containers_after_save (line 436) | def _cleanup_containers_after_save(self): method _log_timed_result (line 461) | def _log_timed_result(self, res, msg): method _perform_save (line 464) | def _perform_save(self): method _log_containers (line 496) | def _log_containers(self, prefix=None): method _populate_storage_queue (line 504) | def _populate_storage_queue(self): method _container_factory (line 517) | def _container_factory(self, container_class, key, *args, **kwargs): method _raise_if_cancelled (line 521) | def _raise_if_cancelled(self): method get_instance_count (line 527) | def get_instance_count(cls): method _log_job_externally (line 535) | def _log_job_externally(self, success=True): FILE: python/nav/ipdevpoll/log.py class ContextFormatter (line 25) | class ContextFormatter(Formatter): method __init__ (line 34) | def __init__(self, pidlog=False): method format (line 45) | def format(self, record): method _set_context (line 51) | def _set_context(self, record): method _set_format (line 63) | def _set_format(self, fmt): class ContextLogger (line 68) | class ContextLogger(object): method __init__ (line 92) | def __init__(self, suffix=None, context_vars=None): method __get__ (line 99) | def __get__(self, obj, owner=None): method _logger_name (line 119) | def _logger_name(self, klass): method __set__ (line 128) | def __set__(self, obj, value): method __delete__ (line 131) | def __delete__(self, obj): function _context_search (line 140) | def _context_search(frame, maxdepth=10): function _stack_iter (line 146) | def _stack_iter(frame): function _first_true (line 156) | def _first_true(sequence): function _get_context_from_frame (line 166) | def _get_context_from_frame(frame): FILE: python/nav/ipdevpoll/neighbor.py function get_netbox_macs (line 47) | def get_netbox_macs(): function _get_netbox_macs (line 56) | def _get_netbox_macs(): function _mac_is_ignored (line 70) | def _mac_is_ignored(mac): function get_netbox_catids (line 79) | def get_netbox_catids(): function _get_netbox_catids (line 84) | def _get_netbox_catids(): class Neighbor (line 99) | class Neighbor(object): method __init__ (line 104) | def __init__(self, record, local_address=None): method identify (line 129) | def identify(self): method _identify_netbox (line 136) | def _identify_netbox(self): method _identify_interfaces (line 139) | def _identify_interfaces(self): method _netbox_from_mac (line 142) | def _netbox_from_mac(self, mac): method _netbox_from_ip (line 147) | def _netbox_from_ip(self, ip): method _netbox_from_sysname (line 171) | def _netbox_from_sysname(self, sysname): method _netbox_query (line 194) | def _netbox_query(self, query): method _interfaces_from_name (line 215) | def _interfaces_from_name(self, name): method _interface_query (line 247) | def _interface_query(self, query): method __repr__ (line 259) | def __repr__(self): FILE: python/nav/ipdevpoll/plugins/__init__.py class PluginImportError (line 33) | class PluginImportError(GeneralException): function import_plugins (line 37) | def import_plugins(): function import_plugin (line 53) | def import_plugin(config, alias): function get_plugin_from_module (line 85) | def get_plugin_from_module(module_): FILE: python/nav/ipdevpoll/plugins/arp.py class Arp (line 57) | class Arp(Plugin): method can_handle (line 65) | def can_handle(cls, netbox): method handle (line 71) | def handle(self): method _check_and_update_prefix_cache (line 103) | def _check_and_update_prefix_cache(cls): method _is_arp_already_collected (line 109) | def _is_arp_already_collected(self): method _get_ip_mib (line 114) | def _get_ip_mib(self): method is_arista (line 121) | def is_arista(self): method _process_data (line 130) | def _process_data(self, mappings): method _load_existing_mappings (line 166) | def _load_existing_mappings(self): method _update_prefix_cache (line 188) | def _update_prefix_cache(cls): method _load_prefixes_synchronously (line 195) | def _load_prefixes_synchronously(cls): method _update_prefix_cache_with_result (line 199) | def _update_prefix_cache_with_result(cls, prefixes): method _make_new_mappings (line 208) | def _make_new_mappings(self, mappings): method _expire_arp_records (line 232) | def _expire_arp_records(self, arp_ids): method _find_largest_matching_prefix (line 247) | def _find_largest_matching_prefix(self, ip): function ipv6_address_in_mappings (line 259) | def ipv6_address_in_mappings(mappings): FILE: python/nav/ipdevpoll/plugins/bgp.py class BGP (line 29) | class BGP(Plugin): method can_handle (line 33) | def can_handle(cls, netbox): method handle (line 39) | def handle(self): method _make_gwpeer (line 56) | def _make_gwpeer(self, bgp_peer_state): method _get_supported_mib (line 72) | def _get_supported_mib(self): FILE: python/nav/ipdevpoll/plugins/bridge.py class Bridge (line 35) | class Bridge(Plugin): method handle (line 39) | def handle(self): method _save_bridge_address (line 47) | def _save_bridge_address(self, bridge_address): method _set_port_numbers (line 56) | def _set_port_numbers(self, baseports): FILE: python/nav/ipdevpoll/plugins/cam.py class Cam (line 33) | class Cam(Plugin): method can_handle (line 58) | def can_handle(cls, netbox): method _has_interfaces (line 64) | def _has_interfaces(cls, netbox): method handle (line 68) | def handle(self): method _get_dot1d_mac_port_mapping (line 95) | def _get_dot1d_mac_port_mapping(self): method _get_dot1q_mac_port_mapping (line 109) | def _get_dot1q_mac_port_mapping(self): method _get_baseports (line 123) | def _get_baseports(self): method _get_bridge (line 130) | def _get_bridge(self): method _get_dot1d_instances (line 137) | def _get_dot1d_instances(self): method _log_fdb_stats (line 142) | def _log_fdb_stats(self, prefix, fdb): method _classify_ports (line 148) | def _classify_ports(self): method _store_cam_records (line 162) | def _store_cam_records(self): method _store_adjacency_candidates (line 169) | def _store_adjacency_candidates(self): method _make_candidates (line 181) | def _make_candidates(self, port, candidates): method _factory_netbox (line 191) | def _factory_netbox(self, netboxid): method _factory_interface (line 196) | def _factory_interface(self, ifindex): method _factory_candidate (line 202) | def _factory_candidate(self, port, candidate): method _get_dot1d_stp_blocking (line 219) | def _get_dot1d_stp_blocking(self): method _log_blocking_ports (line 236) | def _log_blocking_ports(self, blocking): method _store_blocking_ports (line 248) | def _store_blocking_ports(self, blocking): FILE: python/nav/ipdevpoll/plugins/cdp.py class CDP (line 37) | class CDP(Plugin): method can_handle (line 51) | def can_handle(cls, netbox): method _has_interfaces (line 57) | def _has_interfaces(cls, netbox): method handle (line 61) | def handle(self): method _get_stampcheck (line 96) | def _get_stampcheck(self, mib): method _get_cached_neighbors (line 104) | def _get_cached_neighbors(self): method _save_cached_neighbors (line 115) | def _save_cached_neighbors(self, neighbors): method _process_neighbors (line 125) | def _process_neighbors(self): method _process_identified (line 134) | def _process_identified(self, identified): method _store_candidates (line 144) | def _store_candidates(self, neighbor): method _store_candidate (line 150) | def _store_candidate(self, neighbor, interface): method _process_unidentified (line 169) | def _process_unidentified(self, unidentified): method _store_unidentified (line 173) | def _store_unidentified(self, record): class CDPNeighbor (line 186) | class CDPNeighbor(Neighbor): method _identify_netbox (line 189) | def _identify_netbox(self): method _identify_interfaces (line 211) | def _identify_interfaces(self): function looks_like_binary_garbage (line 215) | def looks_like_binary_garbage(deviceid): FILE: python/nav/ipdevpoll/plugins/ciscovlan.py class CiscoVlan (line 35) | class CiscoVlan(Plugin): method can_handle (line 41) | def can_handle(cls, netbox): method handle (line 50) | def handle(self): method _get_ifindexes (line 72) | def _get_ifindexes(self): method _store_access_ports (line 77) | def _store_access_ports(self, vlan_membership): method _store_trunk_ports (line 90) | def _store_trunk_ports(self, native_vlans, enabled_vlans): method _store_vlan_ifc_relationships (line 112) | def _store_vlan_ifc_relationships(self, routed_vlans): FILE: python/nav/ipdevpoll/plugins/debugging.py class Crash (line 52) | class Crash(Plugin): method handle (line 55) | def handle(self): class Error (line 59) | class Error(Plugin): method handle (line 62) | def handle(self): method error (line 67) | def error(self, deferred): class Fail (line 74) | class Fail(Plugin): method handle (line 77) | def handle(self): class Sleep (line 83) | class Sleep(Plugin): method handle (line 86) | def handle(self): class Noop (line 92) | class Noop(Plugin): method handle (line 95) | def handle(self): FILE: python/nav/ipdevpoll/plugins/dnsname.py class DnsName (line 36) | class DnsName(Plugin): method can_handle (line 40) | def can_handle(netbox): method handle (line 44) | def handle(self): method _handle_failure (line 54) | def _handle_failure(self, failure, ip=None): method _find_ptr_response (line 64) | def _find_ptr_response(self, dns_response): method _log_name (line 90) | def _log_name(self, dns_name): method _verify_name_change (line 103) | def _verify_name_change(self, new_name): FILE: python/nav/ipdevpoll/plugins/dot1q.py class Dot1q (line 40) | class Dot1q(Plugin): method __init__ (line 46) | def __init__(self, *args, **kwargs): method _remap_vlan (line 51) | def _remap_vlan(self, vlan_ident): method handle (line 56) | def handle(self): method _process_pvids (line 76) | def _process_pvids(self): method _set_port_pvid (line 89) | def _set_port_pvid(self, port, pvid): method _get_tagging_info (line 99) | def _get_tagging_info(self): method _retrieve_vlan_ports (line 116) | def _retrieve_vlan_ports(self): method _find_trunkports (line 127) | def _find_trunkports(self, egress, untagged): method _store_trunkports (line 148) | def _store_trunkports(self, trunkports): method _set_trunkport (line 152) | def _set_trunkport(self, port, vlans): method _get_vlan_names (line 169) | def _get_vlan_names(self): function vlan_list_to_hex (line 184) | def vlan_list_to_hex(vlans): FILE: python/nav/ipdevpoll/plugins/entity.py class Entity (line 36) | class Entity(Plugin): method __init__ (line 39) | def __init__(self, *args, **kwargs): method on_plugin_load (line 46) | def on_plugin_load(cls): method handle (line 52) | def handle(self): method _need_to_collect (line 64) | def _need_to_collect(self): method _process_entities (line 71) | def _process_entities(self, result): method _fix_hierarchy (line 81) | def _fix_hierarchy(self, containers): method _container_from_entity (line 127) | def _container_from_entity(self, ent): FILE: python/nav/ipdevpoll/plugins/extremevlan.py class ExtremeVlan (line 34) | class ExtremeVlan(Plugin): method __init__ (line 37) | def __init__(self, *args, **kwargs): method can_handle (line 44) | def can_handle(cls, netbox): method handle (line 52) | def handle(self): method _get_vlan_data (line 59) | def _get_vlan_data(self): method _consolidate_vlan_config (line 72) | def _consolidate_vlan_config(self, vlan_ports, ifindex_vlan): method _portnums_to_ifindexes (line 84) | def _portnums_to_ifindexes(self, portnums): method _store_access_ports (line 91) | def _store_access_ports(self, vlan_config): method _store_trunk_ports (line 99) | def _store_trunk_ports(self, vlan_config): FILE: python/nav/ipdevpoll/plugins/interfaces.py class Interfaces (line 43) | class Interfaces(Plugin): method __init__ (line 46) | def __init__(self, *args, **kwargs): method handle (line 52) | def handle(self): method _get_iftable_columns (line 61) | def _get_iftable_columns(self): method _process_interfaces (line 78) | def _process_interfaces(self, result): method _convert_row_to_container (line 93) | def _convert_row_to_container(self, netbox, ifindex, row): method _extract_interface_speed (line 129) | def _extract_interface_speed(speed, highspeed, always_use_highspeed=Fa... method _get_stack_status (line 151) | def _get_stack_status(self, interfaces): method _get_ifalias_from_lower_layers (line 171) | def _get_ifalias_from_lower_layers(self, stack): method _create_stack_containers (line 192) | def _create_stack_containers(self, stacklist): method _retrieve_duplex (line 199) | def _retrieve_duplex(self, interfaces): function typesafe_binary_mac_to_hex (line 214) | def typesafe_binary_mac_to_hex(octets): FILE: python/nav/ipdevpoll/plugins/juniperalarm.py class JuniperChassisAlarm (line 44) | class JuniperChassisAlarm(Plugin): method handle (line 60) | def handle(self): method _get_last_count (line 99) | def _get_last_count(self, variable: str): method _post_yellow_alarm_count_non_zero (line 111) | def _post_yellow_alarm_count_non_zero(self, count: int): method _post_yellow_alarm_count_zero (line 114) | def _post_yellow_alarm_count_zero(self): method _post_red_alarm_count_non_zero (line 117) | def _post_red_alarm_count_non_zero(self, count: int): method _post_red_alarm_count_zero (line 120) | def _post_red_alarm_count_zero(self): method _create_or_update_new_alarm_count (line 123) | def _create_or_update_new_alarm_count(self, count: int, variable: str): FILE: python/nav/ipdevpoll/plugins/juniperdot1q.py class JuniperDot1q (line 49) | class JuniperDot1q(dot1q.Dot1q): method __init__ (line 52) | def __init__(self, *args, **kwargs): method handle (line 59) | def handle(self): method _remap_vlan (line 66) | def _remap_vlan(self, vlan_ident): method _retrieve_vlan_ports (line 79) | def _retrieve_vlan_ports(self): method __is_a_moronic_juniper_device (line 94) | def __is_a_moronic_juniper_device(self): method __get_jnx_ex_vlan_tag (line 101) | def __get_jnx_ex_vlan_tag(self): FILE: python/nav/ipdevpoll/plugins/linkaggregate.py class LinkAggregate (line 26) | class LinkAggregate(Plugin): method __init__ (line 29) | def __init__(self, *args, **kwargs): method handle (line 35) | def handle(self): method _convert_to_interfaces (line 43) | def _convert_to_interfaces(self, aggregatedict): method _get_interface (line 53) | def _get_interface(self, ifindex): method _log_aggregates (line 61) | def _log_aggregates(self, aggregates): method _create_aggregate_containers (line 74) | def _create_aggregate_containers(self, aggregates): FILE: python/nav/ipdevpoll/plugins/linkstate.py class LinkState (line 27) | class LinkState(Plugin): method handle (line 31) | def handle(self): method _put_results (line 44) | def _put_results(self, results): method _update_interface (line 50) | def _update_interface(self, netbox, ifindex, row): FILE: python/nav/ipdevpoll/plugins/lldp.py class LLDP (line 39) | class LLDP(Plugin): method can_handle (line 54) | def can_handle(cls, netbox): method _has_interfaces (line 60) | def _has_interfaces(cls, netbox): method handle (line 64) | def handle(self): method _get_cached_remote_table (line 98) | def _get_cached_remote_table(self): method _save_cached_remote_table (line 109) | def _save_cached_remote_table(self, remote_table): method _get_chassis_id (line 120) | def _get_chassis_id(self, mib): method _get_stampcheck (line 145) | def _get_stampcheck(self, mib): method _process_remote (line 155) | def _process_remote(self): method _process_identified (line 164) | def _process_identified(self, identified): method _store_candidates (line 173) | def _store_candidates(self, neighbor): method _store_candidate (line 179) | def _store_candidate(self, neighbor, interface): method _process_unidentified (line 198) | def _process_unidentified(self, unidentified): method _store_unidentified (line 202) | def _store_unidentified(self, record): class LLDPNeighbor (line 215) | class LLDPNeighbor(Neighbor): method _identify_netbox (line 218) | def _identify_netbox(self): method _netbox_from_local (line 238) | def _netbox_from_local(self, chassid): method _identify_interfaces (line 258) | def _identify_interfaces(self): method _interfaces_from_local (line 284) | def _interfaces_from_local(self, portid): method _interfaces_from_mac (line 299) | def _interfaces_from_mac(self, mac): method _interfaces_from_ip (line 303) | def _interfaces_from_ip(self, ip): FILE: python/nav/ipdevpoll/plugins/modules.py class Modules (line 41) | class Modules(Plugin): method __init__ (line 44) | def __init__(self, *args, **kwargs): method on_plugin_load (line 51) | def on_plugin_load(cls): method handle (line 57) | def handle(self): method _need_to_collect (line 68) | def _need_to_collect(self): method _device_from_entity (line 75) | def _device_from_entity(self, ent): method _module_from_entity (line 100) | def _module_from_entity(self, ent): method _process_modules (line 113) | def _process_modules(self, entities): method _process_ports (line 130) | def _process_ports(self, entities, module_containers): method _process_entities (line 158) | def _process_entities(self, result): function get_ignored_serials (line 167) | def get_ignored_serials(config: configparser.ConfigParser) -> list[str]: FILE: python/nav/ipdevpoll/plugins/paloaltoarp.py class PaloaltoArp (line 40) | class PaloaltoArp(Arp): method can_handle (line 43) | def can_handle(cls, netbox): method handle (line 49) | def handle(self): method _has_paloalto_configurations (line 65) | def _has_paloalto_configurations(netbox: Netbox): method _get_paloalto_configurations (line 75) | def _get_paloalto_configurations(netbox: Netbox): method _get_paloalto_arp_mappings (line 84) | def _get_paloalto_arp_mappings(self, address: IP, key: str): method _do_request (line 95) | def _do_request(self, address: IP, key: str): function _parse_arp (line 129) | def _parse_arp(arpbytes: bytes) -> list[tuple[str, IP, str]]: function _paloalto_profile_queryset (line 150) | def _paloalto_profile_queryset(netbox: Netbox): FILE: python/nav/ipdevpoll/plugins/poe.py class Poe (line 32) | class Poe(Plugin): method __init__ (line 35) | def __init__(self, *args, **kwargs): method handle (line 40) | def handle(self): method _is_cisco (line 64) | def _is_cisco(self): method _map_cisco_power_ports_to_ifindex (line 71) | def _map_cisco_power_ports_to_ifindex(self): method _process_groups (line 96) | def _process_groups(self, groups, phy_indices): method _update_group (line 101) | def _update_group(self, netbox, index, row, phy_index): method _process_ports (line 110) | def _process_ports(self, ports, ifindices): method _update_port (line 115) | def _update_port(self, netbox, index, row, ifindex): method _resolve_ifindex (line 137) | def _resolve_ifindex(self, phy_indices, alias_mapping): method _log_invalid_portgroups (line 151) | def _log_invalid_portgroups(self): FILE: python/nav/ipdevpoll/plugins/prefix.py class Prefix (line 60) | class Prefix(Plugin): method on_plugin_load (line 67) | def on_plugin_load(cls): method handle (line 73) | def handle(self): method _get_ifc_aliases (line 120) | def _get_ifc_aliases(self): method _ignore_index_exceptions (line 123) | def _ignore_index_exceptions(self, failure, mib): method _get_adminup_ifcs (line 134) | def _get_adminup_ifcs(self): method create_containers (line 140) | def create_containers( method get_vlan_interfaces (line 174) | def get_vlan_interfaces(self): method _ignore_timeout (line 199) | def _ignore_timeout(self, failure, result=None): method _prefix_should_be_ignored (line 210) | def _prefix_should_be_ignored(self, prefix): function get_ignored_prefixes (line 217) | def get_ignored_prefixes(config): function _convert_string_to_prefix (line 228) | def _convert_string_to_prefix(string): class IgnoredPrefix (line 237) | class IgnoredPrefix(IP): method __init__ (line 262) | def __init__(self, string): method matches (line 273) | def matches(self, prefix): FILE: python/nav/ipdevpoll/plugins/propserial.py class ProprietarySerial (line 46) | class ProprietarySerial(Plugin): method handle (line 52) | def handle(self): method _set_chassis_serial (line 66) | def _set_chassis_serial(self, serial, source): FILE: python/nav/ipdevpoll/plugins/psu.py class PowerSupplyUnit (line 64) | class PowerSupplyUnit(Plugin): method __init__ (line 67) | def __init__(self, *args, **kwargs): method handle (line 75) | def handle(self): method _handle_unit (line 99) | def _handle_unit(self, in_unit): function get_mibretrievers_from_vendor_id (line 115) | def get_mibretrievers_from_vendor_id(vendor_id, agent_proxy): FILE: python/nav/ipdevpoll/plugins/psuwatch.py class PowerSupplyOrFanStateWatcher (line 46) | class PowerSupplyOrFanStateWatcher(Plugin): method __init__ (line 49) | def __init__(self, *args, **kwargs): method handle (line 57) | def handle(self): method _retrieve_current_unit_state (line 71) | def _retrieve_current_unit_state(self, unit): method _handle_state_change (line 90) | def _handle_state_change(self, unit, new_state): method _get_database_unit_list (line 101) | def _get_database_unit_list(self): method _update_internal_state (line 105) | def _update_internal_state(unit, new_state): method _post_event (line 120) | def _post_event(self, unit, new_state): FILE: python/nav/ipdevpoll/plugins/sensors.py class Sensors (line 47) | class Sensors(Plugin): method on_plugin_load (line 51) | def on_plugin_load(cls): method handle (line 58) | def handle(self): method mibfactory (line 83) | def mibfactory(self): method _store_sensors (line 102) | def _store_sensors(self, result): function loadmodules (line 144) | def loadmodules(config): function get_mib_map (line 153) | def get_mib_map(config): function _translate_enterprise_id (line 181) | def _translate_enterprise_id(name): function _expand_module_names (line 192) | def _expand_module_names(names): function _find_submodules (line 202) | def _find_submodules(name): function _get_space_separated_list (line 214) | def _get_space_separated_list(config, section, option): FILE: python/nav/ipdevpoll/plugins/snmpcheck.py class SnmpCheck (line 36) | class SnmpCheck(Plugin): method can_handle (line 46) | def can_handle(cls, netbox): method __init__ (line 49) | def __init__(self, *args, **kwargs): method handle (line 53) | def handle(self): method _do_check (line 68) | def _do_check(self): method _mark_as_down (line 80) | def _mark_as_down(self): method _mark_as_up (line 86) | def _mark_as_up(self): method _save_state (line 91) | def _save_state(self, state): method _dispatch_down_event (line 99) | def _dispatch_down_event(self): method _dispatch_up_event (line 103) | def _dispatch_up_event(self): method _currently_down (line 107) | def _currently_down(self): FILE: python/nav/ipdevpoll/plugins/staticroutes.py class StaticRoutes (line 32) | class StaticRoutes(Plugin): method on_plugin_load (line 40) | def on_plugin_load(cls): method can_handle (line 47) | def can_handle(cls, netbox): method handle (line 53) | def handle(self): method collect_routes (line 63) | def collect_routes(self): method route_to_containers (line 93) | def route_to_containers(self, route, descr=None): method is_wanted_route (line 113) | def is_wanted_route(cls, route): function get_throttle_delay (line 132) | def get_throttle_delay(config): FILE: python/nav/ipdevpoll/plugins/statmulticast.py class StatMulticast (line 33) | class StatMulticast(Plugin): method handle (line 37) | def handle(self): method _collect_hp_multicast (line 43) | def _collect_hp_multicast(self): method _count_ports_by_group (line 60) | def _count_ports_by_group(report): method _make_metrics_from_counts (line 70) | def _make_metrics_from_counts(self, count_report, timestamp=None): FILE: python/nav/ipdevpoll/plugins/statports.py class StatPorts (line 72) | class StatPorts(Plugin): method can_handle (line 74) | def can_handle(cls, netbox): method handle (line 79) | def handle(self): method _get_stats (line 93) | def _get_stats(self): method _make_metrics (line 111) | def _make_metrics(self, stats, netboxes, timestamp=None): method _log_instance_details (line 136) | def _log_instance_details(self): function use_hc_counters (line 152) | def use_hc_counters(row): FILE: python/nav/ipdevpoll/plugins/statsensors.py class StatSensors (line 35) | class StatSensors(Plugin): method can_handle (line 43) | def can_handle(cls, netbox): method _has_sensors (line 53) | def _has_sensors(cls, netbox): method handle (line 57) | def handle(self): method _get_sensors (line 74) | def _get_sensors(self): method _response_to_metrics (line 78) | def _response_to_metrics(self, result, sensors, netboxes): function convert_to_precision (line 102) | def convert_to_precision(value, sensor): FILE: python/nav/ipdevpoll/plugins/statsystem.py class StatSystem (line 73) | class StatSystem(Plugin): method handle (line 77) | def handle(self): method _collect_bandwidth (line 92) | def _collect_bandwidth(self, netboxes): method _collect_bandwidth_from_mib (line 106) | def _collect_bandwidth_from_mib(self, mib, netboxes): method _collect_cpu (line 136) | def _collect_cpu(self, netboxes): method _get_cpu_loadavg (line 150) | def _get_cpu_loadavg(self, mib, netboxes): method _get_cpu_utilization (line 167) | def _get_cpu_utilization(self, mib, netboxes): method _mibs_for_me (line 182) | def _mibs_for_me(self, mib_class_dict): method _collect_sysuptime (line 190) | def _collect_sysuptime(self, netboxes): method _collect_power (line 205) | def _collect_power(self, netboxes): method _collect_memory (line 227) | def _collect_memory(self, netboxes): FILE: python/nav/ipdevpoll/plugins/system.py class System (line 35) | class System(Plugin): method handle (line 39) | def handle(self): method _set_device_version (line 49) | def _set_device_version(self, version): function parse_version (line 90) | def parse_version(sysdescr): FILE: python/nav/ipdevpoll/plugins/typeoid.py class InvalidResponseError (line 41) | class InvalidResponseError(Exception): class TypeOid (line 45) | class TypeOid(Plugin): method __init__ (line 48) | def __init__(self, *args, **kwargs): method handle (line 54) | def handle(self): method _fetch_sysobjectid (line 63) | def _fetch_sysobjectid(self): method _is_sysobjectid_changed (line 73) | def _is_sysobjectid_changed(self, oid): method _switch_type (line 78) | def _switch_type(self, oid): method _get_type_from_oid (line 86) | def _get_type_from_oid(oid): method _set_type (line 94) | def _set_type(self, new_type): method _send_signal_if_changed_from_known_to_new_type (line 109) | def _send_signal_if_changed_from_known_to_new_type(self, new_type): method _create_new_type (line 116) | def _create_new_type(self, oid): method _get_vendor (line 136) | def _get_vendor(cls, sysobjectid): method _make_new_vendor (line 148) | def _make_new_vendor(cls, sysobjectid): function type_to_string (line 162) | def type_to_string(type_): FILE: python/nav/ipdevpoll/plugins/uptime.py class Uptime (line 30) | class Uptime(Plugin): method handle (line 34) | def handle(self): method _get_timestamps (line 46) | def _get_timestamps(self): function get_upsince (line 61) | def get_upsince(timestamp, ticks): FILE: python/nav/ipdevpoll/plugins/virtualrouter.py class VirtualRouter (line 27) | class VirtualRouter(Plugin): method can_handle (line 43) | def can_handle(cls, netbox): method __init__ (line 47) | def __init__(self, *args, **kwargs): method handle (line 52) | def handle(self): method gwportprefixes_found (line 66) | def gwportprefixes_found(self): method update_containers_with (line 73) | def update_containers_with(self, addresses, from_mib=None): FILE: python/nav/ipdevpoll/pool.py function initialize_worker (line 35) | def initialize_worker(): class Cancel (line 44) | class Cancel(amp.Command): class Shutdown (line 53) | class Shutdown(amp.Command): class Ping (line 60) | class Ping(amp.Command): class Job (line 67) | class Job(amp.Command): class JobHandler (line 84) | class JobHandler(amp.CommandLocator): method __init__ (line 89) | def __init__(self): method job_done (line 94) | def job_done(self, result, serial): method execute_job (line 103) | def execute_job(self, netbox, job, plugins, interval, serial): method cancel (line 126) | def cancel(self, serial): method shutdown (line 133) | def shutdown(self): method ping (line 139) | def ping(self): method log_jobs (line 143) | def log_jobs(self): class ProcessAMP (line 150) | class ProcessAMP(amp.AMP): method __init__ (line 153) | def __init__(self, is_worker, **kwargs): method makeConnection (line 158) | def makeConnection(self, transport): method connectionLost (line 180) | def connectionLost(self, reason): class InlinePool (line 191) | class InlinePool(object): method __init__ (line 194) | def __init__(self): method job_done (line 197) | def job_done(self, result, deferred): method execute_job (line 203) | def execute_job(self, job, netbox, plugins=None, interval=None): method cancel (line 211) | def cancel(self, deferred): class Worker (line 217) | class Worker(object): method __init__ (line 223) | def __init__(self, pool, threadpoolsize, max_jobs): method __repr__ (line 238) | def __repr__(self): method start (line 252) | def start(self): method pid (line 278) | def pid(self): method done (line 287) | def done(self): method _worker_died (line 291) | def _worker_died(self, _process, _reason): method _euthanize_unresponsive_worker (line 303) | def _euthanize_unresponsive_worker(self, timeout=10): method execute (line 334) | def execute(self, serial, command, **kwargs): method responds_to_ping (line 354) | def responds_to_ping(self, timeout=10): method cancel (line 369) | def cancel(self, serial): class WorkerPool (line 374) | class WorkerPool(object): method __init__ (line 380) | def __init__(self, workers, max_jobs, threadpoolsize=None): method worker_died (line 391) | def worker_died(self, worker): method _spawn_worker (line 398) | def _spawn_worker(self): method _cleanup (line 402) | def _cleanup(self, result, deferred): method _execute (line 408) | def _execute(self, command, **kwargs): method cancel (line 421) | def cancel(self, deferred): method execute_job (line 429) | def execute_job(self, job, netbox, plugins=None, interval=None): method log_summary (line 445) | def log_summary(self): class HackLog (line 454) | class HackLog(object): method msg (line 459) | def msg(data, **_kwargs): FILE: python/nav/ipdevpoll/schedule.py class NetboxJobScheduler (line 52) | class NetboxJobScheduler(object): method __init__ (line 66) | def __init__(self, job, netbox, pool): method get_current_runtime (line 83) | def get_current_runtime(self): method start (line 87) | def start(self): method cancel (line 92) | def cancel(self): method cancel_running_job (line 122) | def cancel_running_job(self): method run_job (line 127) | def run_job(self, dummy=None): method is_running (line 177) | def is_running(self): method _adjust_intensity_on_snmperror (line 181) | def _adjust_intensity_on_snmperror(cls, failure): method _update_counters (line 192) | def _update_counters(self, success): method _reschedule_on_success (line 198) | def _reschedule_on_success(self, result): method _reschedule_on_failure (line 209) | def _reschedule_on_failure(self, failure): method _log_finished_job (line 221) | def _log_finished_job(self, success=True): method get_runtime (line 241) | def get_runtime(self): method get_time_to_next_run (line 245) | def get_time_to_next_run(self): method reschedule (line 250) | def reschedule(self, delay): method _log_unhandled_error (line 271) | def _log_unhandled_error(self, failure): method _unregister_handler (line 277) | def _unregister_handler(self, result): method count_job (line 285) | def count_job(self): method uncount_job (line 291) | def uncount_job(self): method get_job_count (line 298) | def get_job_count(self): method is_job_limit_reached (line 301) | def is_job_limit_reached(self): method is_global_limit_reached (line 306) | def is_global_limit_reached(cls): method get_global_job_count (line 311) | def get_global_job_count(cls): method queue_myself (line 317) | def queue_myself(self, queue): method unqueue_next_job (line 320) | def unqueue_next_job(self): method unqueue_next_global_job (line 328) | def unqueue_next_global_job(cls): method get_job_queue (line 336) | def get_job_queue(self): class JobScheduler (line 342) | class JobScheduler(object): method __init__ (line 349) | def __init__(self, job, pool): method __repr__ (line 359) | def __repr__(self): method get_job_schedulers_by_name (line 363) | def get_job_schedulers_by_name(cls) -> dict[str, 'JobScheduler']: method initialize_from_config_and_run (line 368) | def initialize_from_config_and_run(cls, pool, onlyjob=None): method run (line 378) | def run(self): method _start_netbox_reload_loop (line 384) | def _start_netbox_reload_loop(self): method on_netbox_type_changed (line 400) | def on_netbox_type_changed(self, netbox_id, new_type, **_kwargs): method _setup_active_job_logging (line 421) | def _setup_active_job_logging(self): method _reload_netboxes (line 427) | def _reload_netboxes(self): method _process_reloaded_netboxes (line 436) | def _process_reloaded_netboxes(self, result): method _handle_reload_failures (line 454) | def _handle_reload_failures(self, failure): method add_netbox_scheduler (line 461) | def add_netbox_scheduler(self, netbox_id): method cancel_netbox_scheduler (line 467) | def cancel_netbox_scheduler(self, netbox_id): method reload (line 475) | def reload(cls): method log_active_jobs (line 481) | def log_active_jobs(cls, level=logging.DEBUG): class CounterFlusher (line 513) | class CounterFlusher(defaultdict): method __init__ (line 519) | def __init__(self, interval=60): method start (line 530) | def start(self): method increment (line 535) | def increment(self, name): method flush (line 539) | def flush(self): function handle_incoming_events (line 559) | def handle_incoming_events(): function _handle_incoming_events (line 566) | def _handle_incoming_events(): function _reschedule_jobs (line 581) | def _reschedule_jobs(boxes_to_reschedule: dict[tuple[int, str], list[Eve... function _event_pre_filter (line 600) | def _event_pre_filter(event: EventQueue): function _is_valid_refresh_event (line 614) | def _is_valid_refresh_event(event: EventQueue) -> bool: function _get_valid_job_names (line 631) | def _get_valid_job_names() -> set[str]: function _is_refresh_event_for_me (line 636) | def _is_refresh_event_for_me(event: EventQueue): FILE: python/nav/ipdevpoll/shadows/__init__.py class NetboxType (line 91) | class NetboxType(Shadow): method get_enterprise_id (line 95) | def get_enterprise_id(self): class NetboxInfo (line 113) | class NetboxInfo(Shadow): method get_dependencies (line 118) | def get_dependencies(cls): class Vendor (line 136) | class Vendor(Shadow): class Module (line 140) | class Module(Shadow): method __init__ (line 145) | def __init__(self, *args, **kwargs): method prepare_for_save (line 150) | def prepare_for_save(cls, containers): method _resolve_actual_duplicate_names (line 155) | def _resolve_actual_duplicate_names(cls, containers): method prepare (line 180) | def prepare(self, containers): method _fix_binary_garbage (line 186) | def _fix_binary_garbage(self): method _fix_missing_name (line 193) | def _fix_missing_name(self): method _resolve_duplicate_names (line 197) | def _resolve_duplicate_names(self): method _find_name_duplicates (line 225) | def _find_name_duplicates(self): method _handle_missing_modules (line 240) | def _handle_missing_modules(cls, containers): method cleanup (line 275) | def cleanup(self, containers): method _handle_new_module (line 278) | def _handle_new_module(self): method cleanup_after_save (line 294) | def cleanup_after_save(cls, containers): class Device (line 299) | class Device(Shadow): method __init__ (line 304) | def __init__(self, *args, **kwargs): method prepare (line 308) | def prepare(self, containers): method _fix_binary_garbage (line 312) | def _fix_binary_garbage(self): method _detect_version_changes (line 327) | def _detect_version_changes(self): method cleanup (line 348) | def cleanup(self, containers): method _post_events_version_changes (line 352) | def _post_events_version_changes(self, containers): class Location (line 367) | class Location(Shadow): class Room (line 371) | class Room(Shadow): class Category (line 375) | class Category(Shadow): class Organization (line 379) | class Organization(Shadow): class Usage (line 383) | class Usage(Shadow): class Vlan (line 387) | class Vlan(Shadow): method prepare (line 390) | def prepare(self, containers): method save (line 403) | def save(self, containers): method get_existing_model (line 414) | def get_existing_model(self, containers=None): method _has_no_prefixes (line 458) | def _has_no_prefixes(self, containers): method _revert_vlan_on_type_change_to_scope (line 464) | def _revert_vlan_on_type_change_to_scope(self, containers): method _is_type_changed_to_static (line 478) | def _is_type_changed_to_static(self, containers): method _ignore_unknown_organizations (line 488) | def _ignore_unknown_organizations(self): method _ignore_unknown_usages (line 495) | def _ignore_unknown_usages(self): method _get_my_prefixes (line 500) | def _get_my_prefixes(self, containers): method _get_vlan_from_my_prefixes (line 509) | def _get_vlan_from_my_prefixes(self, containers): method _log_if_multiple_prefixes (line 530) | def _log_if_multiple_prefixes(self, prefix_containers): method _guesstimate_net_type (line 538) | def _guesstimate_net_type(self, containers): method _get_router_count_for_prefix (line 587) | def _get_router_count_for_prefix(net_address, include_netboxid=None): method _get_virtual_address_count (line 609) | def _get_virtual_address_count(net_address): class GwPortPrefix (line 625) | class GwPortPrefix(Shadow): method cleanup_after_save (line 630) | def cleanup_after_save(cls, containers): method _delete_missing_addresses (line 634) | def _delete_missing_addresses(cls, containers): method _get_missing_addresses (line 651) | def _get_missing_addresses(cls, containers): method _parse_description (line 659) | def _parse_description(self, containers): method _are_description_variables_present (line 679) | def _are_description_variables_present(self): method _parse_description_with_all_parsers (line 688) | def _parse_description_with_all_parsers(self): method _update_with_parsed_description_data (line 697) | def _update_with_parsed_description_data(self, data, containers): method prepare (line 719) | def prepare(self, containers): class NetType (line 723) | class NetType(Shadow): method get (line 727) | def get(cls, net_type_id): class SwPortVlan (line 734) | class SwPortVlan(Shadow): class Arp (line 738) | class Arp(Shadow): method save (line 741) | def save(self, containers): class SwPortAllowedVlan (line 753) | class SwPortAllowedVlan(Shadow): class Sensor (line 758) | class Sensor(Shadow): method cleanup_after_save (line 763) | def cleanup_after_save(cls, containers): method _delete_missing_sensors (line 767) | def _delete_missing_sensors(cls, containers): method _get_missing_sensors (line 784) | def _get_missing_sensors(cls, containers): method prepare (line 792) | def prepare(self, containers): class PowerSupplyOrFan (line 806) | class PowerSupplyOrFan(Shadow): method __init__ (line 810) | def __init__(self, *args, **kwargs): method prepare (line 814) | def prepare(self, containers): method cleanup (line 820) | def cleanup(self, containers): method _handle_new_psu_or_fan (line 823) | def _handle_new_psu_or_fan(self): method cleanup_after_save (line 839) | def cleanup_after_save(cls, containers): method _delete_missing_psus_and_fans (line 844) | def _delete_missing_psus_and_fans(cls, containers): method _get_missing_psus_and_fans (line 862) | def _get_missing_psus_and_fans(cls, containers): method _alert_missing_devices_are_deleted (line 871) | def _alert_missing_devices_are_deleted(cls, deleted_psus_and_fans): class POEPort (line 888) | class POEPort(Shadow): method cleanup_after_save (line 893) | def cleanup_after_save(cls, containers): class POEGroup (line 899) | class POEGroup(Shadow): method cleanup_after_save (line 905) | def cleanup_after_save(cls, containers): method prepare (line 910) | def prepare(self, containers): FILE: python/nav/ipdevpoll/shadows/adjacency.py class AdjacencyManager (line 55) | class AdjacencyManager(DefaultManager): method __init__ (line 62) | def __init__(self, *args, **kwargs): method prepare (line 66) | def prepare(self): method _load_existing (line 70) | def _load_existing(self): method _map_existing (line 74) | def _map_existing(self): method cleanup (line 96) | def cleanup(self): method _handle_missing (line 100) | def _handle_missing(self): method _delete_expired (line 114) | def _delete_expired(self): class AdjacencyCandidate (line 121) | class AdjacencyCandidate(Shadow): method get_existing_model (line 125) | def get_existing_model(self, containers=None): method save (line 129) | def save(self, containers=None): method sentinel (line 135) | def sentinel(cls, containers, source): function candidate_key (line 148) | def candidate_key(cand): class UnrecognizedNeighborManager (line 162) | class UnrecognizedNeighborManager(DefaultManager): method __init__ (line 169) | def __init__(self, *args, **kwargs): method prepare (line 173) | def prepare(self): method _find_candidate_sources (line 180) | def _find_candidate_sources(self): method _load_and_map_existing (line 186) | def _load_and_map_existing(self): method make_key (line 198) | def make_key(obj): method cleanup (line 201) | def cleanup(self): class UnrecognizedNeighbor (line 214) | class UnrecognizedNeighbor(Shadow): method prepare (line 219) | def prepare(self, _=None): method save (line 232) | def save(self, containers=None): method sentinel (line 238) | def sentinel(cls, containers, source): FILE: python/nav/ipdevpoll/shadows/cam.py class CamManager (line 69) | class CamManager(DefaultManager): method __init__ (line 79) | def __init__(self, *args, **kwargs): method prepare (line 83) | def prepare(self): method _remove_sentinel (line 89) | def _remove_sentinel(self): method _load_open_records (line 93) | def _load_open_records(self): method _map_found_to_open (line 103) | def _map_found_to_open(self): method _log_stats (line 112) | def _log_stats(self): method save (line 129) | def save(self): method _get_port_for (line 154) | def _get_port_for(self, ifindex): method _get_saved_ifname_for (line 165) | def _get_saved_ifname_for(self, ifindex): method cleanup (line 176) | def cleanup(self): method _close_missing (line 181) | def _close_missing(cls, cam_detail): method add_sentinel (line 195) | def add_sentinel(cls, containers): FILE: python/nav/ipdevpoll/shadows/entity.py class EntityManager (line 41) | class EntityManager(DefaultManager): method __init__ (line 44) | def __init__(self, *args, **kwargs): method save (line 52) | def save(self): method prepare (line 57) | def prepare(self): method _delete_missing (line 76) | def _delete_missing(self): method get_purge_list (line 102) | def get_purge_list(self): method _build_dependency_graph (line 139) | def _build_dependency_graph(self): method _verify_stack_degradation (line 152) | def _verify_stack_degradation(self, missing): method get_managed (line 173) | def get_managed(self): function entitykey (line 186) | def entitykey(ent): function parententitykey (line 194) | def parententitykey(ent): class NetboxEntity (line 203) | class NetboxEntity(Shadow): method __init__ (line 209) | def __init__(self, *args, **kwargs): method __setattr__ (line 216) | def __setattr__(self, key, value): method save (line 223) | def save(self, containers): method _check_for_resolved_chassis_outage (line 227) | def _check_for_resolved_chassis_outage(self): method prepare (line 235) | def prepare(self, containers): method cleanup (line 238) | def cleanup(self, containers): method _handle_new_entity (line 241) | def _handle_new_entity(self): method get_chassis_entities (line 253) | def get_chassis_entities(cls, containers): method get_root_entities (line 269) | def get_root_entities(cls, containers): class EntityIndex (line 283) | class EntityIndex(object): method __init__ (line 289) | def __init__(self, entities): method match (line 295) | def match(self, entity): method index_by_id (line 314) | def index_by_id(self): method index_by_serial (line 321) | def index_by_serial(self): method index_by_name (line 333) | def index_by_name(self): FILE: python/nav/ipdevpoll/shadows/gwpeers.py class GatewayPeerSessionManager (line 37) | class GatewayPeerSessionManager(DefaultManager): method __init__ (line 42) | def __init__(self, *args, **kwargs): method prepare (line 48) | def prepare(self): method _load_existing_sessions (line 55) | def _load_existing_sessions(self): method _map_known_sessions (line 60) | def _map_known_sessions(self): method _map_unknown_sessions (line 67) | def _map_unknown_sessions(self): method cleanup (line 71) | def cleanup(self): class GatewayPeerSession (line 81) | class GatewayPeerSession(Shadow): method save (line 88) | def save(self, containers): method _verify_state_changes (line 92) | def _verify_state_changes(self, containers): method _log_all_state_changes (line 120) | def _log_all_state_changes(self, containers): method _make_bgpstate_event (line 145) | def _make_bgpstate_event(self, start=True, is_adminstatus=False): method _get_peer_name (line 171) | def _get_peer_name(self): method _get_peer_id (line 184) | def _get_peer_id(self): method is_ibgp (line 191) | def is_ibgp(self): function should_alert_on_ibgp (line 196) | def should_alert_on_ibgp(): FILE: python/nav/ipdevpoll/shadows/interface.py class InterfaceManager (line 39) | class InterfaceManager(DefaultManager): method __init__ (line 47) | def __init__(self, *args, **kwargs): method prepare (line 52) | def prepare(self): method _reset_baseport_numbers (line 68) | def _reset_baseport_numbers(self): method _load_existing_objects (line 80) | def _load_existing_objects(self): method _make_maps (line 86) | def _make_maps(self, db_ifcs): method _find_existing_for (line 106) | def _find_existing_for(self, snmp_ifc): method _resolve_changed_ifindexes (line 137) | def _resolve_changed_ifindexes(self): method _resolve_linkstate_alerts (line 164) | def _resolve_linkstate_alerts(self): method _get_unresolved_linkstate_alerts (line 184) | def _get_unresolved_linkstate_alerts(self): method cleanup (line 191) | def cleanup(self): method _mark_missing_interfaces (line 199) | def _mark_missing_interfaces(self): method _delete_missing_interfaces (line 215) | def _delete_missing_interfaces(self): method _get_indexless_ifcs (line 230) | def _get_indexless_ifcs(self): method _get_dead_ifcs (line 233) | def _get_dead_ifcs(self): method _generate_linkstate_events (line 252) | def _generate_linkstate_events(self): method get_linkstate_filter (line 276) | def get_linkstate_filter(self): class Interface (line 297) | class Interface(Shadow): method is_linkstate_changed (line 302) | def is_linkstate_changed(self): method matches_filter (line 305) | def matches_filter(self, linkstate_filter): method post_linkstate_event (line 314) | def post_linkstate_event(self): method is_admin_up (line 335) | def is_admin_up(self): method _make_linkstate_event (line 339) | def _make_linkstate_event(self, start=True): method get_existing_model (line 361) | def get_existing_model(self, containers=None): method set_existing_model (line 379) | def set_existing_model(self, django_object): method _verify_operstatus_change (line 383) | def _verify_operstatus_change(self, stored): method prepare (line 389) | def prepare(self, containers): method _strip_null_bytes (line 395) | def _strip_null_bytes(self, containers): method _set_netbox_if_unset (line 407) | def _set_netbox_if_unset(self, containers): method _set_ifindex_if_unset (line 412) | def _set_ifindex_if_unset(self, containers): method add_sentinel (line 420) | def add_sentinel(cls, containers): class InterfaceStack (line 432) | class InterfaceStack(Shadow): method cleanup_after_save (line 437) | def cleanup_after_save(cls, containers): class InterfaceAggregate (line 455) | class InterfaceAggregate(Shadow): method cleanup_after_save (line 460) | def cleanup_after_save(cls, containers): function mapby (line 480) | def mapby(items, *attrs): function ifnames (line 487) | def ifnames(ifcs): FILE: python/nav/ipdevpoll/shadows/netbox.py class Netbox (line 28) | class Netbox(Shadow): method __init__ (line 32) | def __init__(self, *args, **kwargs): method _translate_last_jobs (line 45) | def _translate_last_jobs(netbox): method is_up (line 61) | def is_up(self): method copy (line 64) | def copy(self, other): method prepare (line 78) | def prepare(self, containers): method _handle_sysname_conflicts (line 81) | def _handle_sysname_conflicts(self, containers): method cleanup_replaced_netbox (line 104) | def cleanup_replaced_netbox(cls, netbox_id, new_type): FILE: python/nav/ipdevpoll/shadows/prefix.py class PrefixManager (line 26) | class PrefixManager(DefaultManager): method cleanup (line 29) | def cleanup(self): method _get_missing_static_prefixes (line 42) | def _get_missing_static_prefixes(self): class Prefix (line 59) | class Prefix(Shadow): method save (line 66) | def save(self, containers): method _is_not_authorized_to_modify_prefix (line 76) | def _is_not_authorized_to_modify_prefix(self, containers): method _is_modification_of_existing_prefix_to_static (line 87) | def _is_modification_of_existing_prefix_to_static(self): method add_static_routes_sentinel (line 104) | def add_static_routes_sentinel(cls, containers): FILE: python/nav/ipdevpoll/shadows/swportblocked.py class SwPortBlockedManager (line 25) | class SwPortBlockedManager(DefaultManager): method __init__ (line 31) | def __init__(self, *args, **kwargs): method prepare (line 35) | def prepare(self): method _load_and_map_existing_objects (line 40) | def _load_and_map_existing_objects(self): method _find_existing_for (line 54) | def _find_existing_for(self, found_block): method cleanup (line 58) | def cleanup(self): class SwPortBlocked (line 67) | class SwPortBlocked(Shadow): method get_existing_model (line 71) | def get_existing_model(self, containers=None): method prepare (line 75) | def prepare(self, containers): method save (line 82) | def save(self, containers): FILE: python/nav/ipdevpoll/snmp/common.py function cache_for_session (line 34) | def cache_for_session(func): function _cache_result (line 52) | def _cache_result(result, cache, key): function throttled (line 57) | def throttled(func): class AgentProxyMixIn (line 75) | class AgentProxyMixIn(object): method __init__ (line 86) | def __init__(self, *args, **kwargs): method __repr__ (line 109) | def __repr__(self): method getTable (line 118) | def getTable(self, *args, **kwargs): method _get (line 123) | def _get(self, *args, **kwargs): method _walk (line 127) | def _walk(self, *args, **kwargs): method _getbulk (line 131) | def _getbulk(self, *args, **kwargs): class SNMPParameters (line 136) | class SNMPParameters: method __post_init__ (line 166) | def __post_init__(self): method version_string (line 178) | def version_string(self): method factory (line 183) | def factory( method get_params_from_ipdevpoll_config (line 218) | def get_params_from_ipdevpoll_config(cls, section: str = "snmp") -> di... method as_agentproxy_args (line 236) | def as_agentproxy_args(self) -> dict[str, Any]: class SnmpError (line 268) | class SnmpError(Exception): FILE: python/nav/ipdevpoll/snmp/pynetsnmp.py function pynetsnmp_limits_results (line 37) | def pynetsnmp_limits_results(): class AgentProxy (line 54) | class AgentProxy(common.AgentProxyMixIn, twistedsnmp.AgentProxy): method getTable (line 60) | def getTable(self, *args, **kwargs): method open (line 65) | def open(self): method count_open_sessions (line 75) | def count_open_sessions(cls): FILE: python/nav/ipdevpoll/storage.py class MetaShadow (line 26) | class MetaShadow(type): method __init__ (line 40) | def __init__(mcs, name, bases, dct): class DefaultManager (line 62) | class DefaultManager(object): method __init__ (line 71) | def __init__(self, cls, containers): method prepare (line 81) | def prepare(self): method save (line 85) | def save(self): method cleanup (line 90) | def cleanup(self): method get_managed (line 94) | def get_managed(self): method __repr__ (line 101) | def __repr__(self): class Shadow (line 109) | class Shadow(object, metaclass=MetaShadow): method __init__ (line 133) | def __init__(self, *args, **kwargs): method __eq__ (line 168) | def __eq__(self, other): method __hash__ (line 200) | def __hash__(self): method __ne__ (line 203) | def __ne__(self, other): method __repr__ (line 206) | def __repr__(self): method __setattr__ (line 215) | def __setattr__(self, attr, value): method is_shadowy_attribute (line 237) | def is_shadowy_attribute(cls, attr): method copy (line 244) | def copy(self, other): method get_dependencies (line 255) | def get_dependencies(cls): method get_touched (line 276) | def get_touched(self): method convert_to_model (line 285) | def convert_to_model(self, containers=None): method get_primary_key_attribute (line 321) | def get_primary_key_attribute(self): method get_primary_key (line 327) | def get_primary_key(self): method set_primary_key (line 332) | def set_primary_key(self, value): method get_existing_model (line 337) | def get_existing_model(self, containers=None): method set_existing_model (line 415) | def set_existing_model(self, django_object): method prepare_for_save (line 430) | def prepare_for_save(cls, containers): method cleanup_after_save (line 451) | def cleanup_after_save(cls, containers): method prepare (line 470) | def prepare(self, containers): method clear_cached_objects (line 484) | def clear_cached_objects(self): method save (line 490) | def save(self, containers): method update (line 509) | def update(self, containers): method get_diff_attrs (line 528) | def get_diff_attrs(self, other): method cleanup (line 543) | def cleanup(self, containers): function shadowify (line 554) | def shadowify(model): function shadowify_queryset (line 568) | def shadowify_queryset(queryset): function shadowify_queryset_and_commit (line 576) | def shadowify_queryset_and_commit(queryset): class ContainerRepository (line 584) | class ContainerRepository(dict): method factory (line 594) | def factory(self, key, container_class, *args, **kwargs): method add (line 615) | def add(self, container_class): method get (line 629) | def get(self, key, container_class): method __repr__ (line 639) | def __repr__(self): method sortedkeys (line 643) | def sortedkeys(self): function get_shadow_sort_order (line 654) | def get_shadow_sort_order(): FILE: python/nav/ipdevpoll/timestamps.py class TimestampChecker (line 31) | class TimestampChecker(object): method __init__ (line 60) | def __init__(self, agent, containers, var_name): method collect (line 70) | def collect(self, collectors): method load (line 90) | def load(self): method save (line 115) | def save(self): method _get_netbox (line 126) | def _get_netbox(self): method is_changed (line 129) | def is_changed(self, max_deviation=60): FILE: python/nav/ipdevpoll/utils.py function fire_eventually (line 42) | def fire_eventually(result): function binary_mac_to_hex (line 59) | def binary_mac_to_hex(binary_mac): function truncate_mac (line 72) | def truncate_mac(mac): function find_prefix (line 82) | def find_prefix(ip, prefix_list): function is_invalid_database_string (line 96) | def is_invalid_database_string(string): function is_invalid_utf8 (line 105) | def is_invalid_utf8(string): function log_unhandled_failure (line 120) | def log_unhandled_failure(logger, failure, msg, *args, **kwargs): function get_multibridgemib (line 137) | async def get_multibridgemib(agentproxy) -> "MultiBridgeMib": function get_dot1d_instances (line 148) | async def get_dot1d_instances(agentproxy) -> "list[LogicalMibInstance]": function get_arista_vrf_instances (line 190) | def get_arista_vrf_instances(agentproxy) -> Deferred: function _workaround_broken_aruba_alternate_communities (line 216) | def _workaround_broken_aruba_alternate_communities( FILE: python/nav/junos/nav_views.py function _loadyaml_bypass (line 29) | def _loadyaml_bypass(yaml_file): FILE: python/nav/jwtconf.py class LocalJWTConfig (line 16) | class LocalJWTConfig: class JWTConf (line 26) | class JWTConf(NAVConfigParser): method get_issuers_setting (line 34) | def get_issuers_setting(self) -> dict[str, Any]: method get_local_config (line 48) | def get_local_config(self) -> LocalJWTConfig: method _get_local_config (line 59) | def _get_local_config(self) -> LocalJWTConfig: method _get_settings_for_external_tokens (line 74) | def _get_settings_for_external_tokens(self): method _read_key_from_path (line 102) | def _read_key_from_path(self, path): method _validate_key (line 115) | def _validate_key(self, key): method _validate_type (line 120) | def _validate_type(self, key_type): method _validate_issuer (line 127) | def _validate_issuer(self, section): method _validate_audience (line 142) | def _validate_audience(self, audience): method _get_nav_token_config_option (line 147) | def _get_nav_token_config_option(self, option): method get_nav_private_key (line 157) | def get_nav_private_key(self): method get_nav_public_key (line 161) | def get_nav_public_key(self): method get_nav_name (line 165) | def get_nav_name(self): method get_access_token_lifetime (line 171) | def get_access_token_lifetime(self): method get_refresh_token_lifetime (line 182) | def get_refresh_token_lifetime(self): method _get_settings_for_nav_issued_tokens (line 193) | def _get_settings_for_nav_issued_tokens(self): FILE: python/nav/logengine.py function get_exception_dicts (line 66) | def get_exception_dicts(config): function create_message (line 153) | def create_message(line, database=None): class Message (line 174) | class Message(object): method __init__ (line 178) | def __init__(self, time, origin, msgtype, description): method find_priority (line 188) | def find_priority(self, msgtype): method find_category (line 199) | def find_category(self, origin): function find_year (line 207) | def find_year(mnd): function find_month (line 215) | def find_month(textual): function parse_timestamp (line 236) | def parse_timestamp(timestamp_str: str) -> datetime.datetime: function delete_old_messages (line 288) | def delete_old_messages(config): function verify_singleton (line 307) | def verify_singleton(quiet=False): function get_categories (line 330) | def get_categories(cursor): function get_origins (line 339) | def get_origins(cursor): function get_types (line 348) | def get_types(cursor): function read_log_lines (line 359) | def read_log_lines(config): function parse_and_insert (line 403) | def parse_and_insert( function insert_message (line 438) | def insert_message( function add_category (line 492) | def add_category(category, categories, database): function add_origin (line 497) | def add_origin(origin, category, origins, database): function add_type (line 509) | def add_type(facility, mnemonic, priorityid, types, database): function logengine (line 525) | def logengine(config, options): function swallow_all_but_db_exceptions (line 559) | def swallow_all_but_db_exceptions(func): function parse_options (line 571) | def parse_options(): function main (line 593) | def main(): FILE: python/nav/logs.py function set_log_config (line 42) | def set_log_config(): function set_log_levels (line 49) | def set_log_levels(): function _translate_log_level (line 67) | def _translate_log_level(level): function _set_custom_log_file (line 83) | def _set_custom_log_file(): function _read_dictconfig_from_yaml_file (line 104) | def _read_dictconfig_from_yaml_file(): function _get_logging_conf (line 116) | def _get_logging_conf(): function _get_logging_yaml (line 138) | def _get_logging_yaml() -> Optional[dict]: function reset_log_levels (line 151) | def reset_log_levels(level=logging.WARNING): function reopen_log_files (line 166) | def reopen_log_files(): function get_logfile_from_logger (line 190) | def get_logfile_from_logger(logger=logging.root): function init_stderr_logging (line 214) | def init_stderr_logging(formatter=None, rootlogger=''): function init_generic_logging (line 225) | def init_generic_logging( function _get_logfile_path (line 270) | def _get_logfile_path(logfile): FILE: python/nav/macaddress.py class MacAddress (line 52) | class MacAddress(object): method __init__ (line 64) | def __init__(self, addr): method from_octets (line 77) | def from_octets(cls, binary_mac): method toint (line 82) | def toint(self): method _parse_address_string (line 87) | def _parse_address_string(addr): method __str__ (line 102) | def __str__(self): method __repr__ (line 115) | def __repr__(self): method __lt__ (line 125) | def __lt__(self, other): method __le__ (line 128) | def __le__(self, other): method __eq__ (line 131) | def __eq__(self, other): method __ne__ (line 134) | def __ne__(self, other): method __gt__ (line 137) | def __gt__(self, other): method __ge__ (line 140) | def __ge__(self, other): method _compare (line 143) | def _compare(self, other, method): method __hash__ (line 151) | def __hash__(self): method to_string (line 154) | def to_string(self, delim=None): class MacPrefix (line 168) | class MacPrefix(object): method __init__ (line 183) | def __init__(self, prefix, min_prefix_len=MIN_PREFIX_LEN): method from_octets (line 199) | def from_octets(cls, binary_mac): method __len__ (line 203) | def __len__(self): method __getitem__ (line 219) | def __getitem__(self, key): method __str__ (line 251) | def __str__(self): method __repr__ (line 258) | def __repr__(self): function _clean_hexstring (line 265) | def _clean_hexstring(hexstr): function _int_to_delimited_hexstring (line 274) | def _int_to_delimited_hexstring(mac_addr, delim, step): function octets_to_hexstring (line 281) | def octets_to_hexstring(octets): FILE: python/nav/mailin/__init__.py function make_event (line 27) | def make_event(**kw): class Plugin (line 37) | class Plugin(object): method __init__ (line 44) | def __init__(self, name, config, logger): method init (line 54) | def init(self): method accept (line 58) | def accept(self, msg): method authorize (line 62) | def authorize(self, msg): method process (line 67) | def process(self, msg): FILE: python/nav/mailin/plugins/kake.py class Plugin (line 5) | class Plugin(nav.mailin.Plugin): method init (line 6) | def init(self): method accept (line 15) | def accept(self, msg): method process (line 18) | def process(self, msg): FILE: python/nav/mailin/plugins/whatsup.py class Plugin (line 28) | class Plugin(nav.mailin.Plugin): method init (line 29) | def init(self): method accept (line 38) | def accept(self, msg): method authorize (line 41) | def authorize(self, msg): method process (line 44) | def process(self, msg): FILE: python/nav/maintengine.py function schedule (line 45) | def schedule(): function check_tasks_without_end (line 54) | def check_tasks_without_end(): function do_state_transitions (line 89) | def do_state_transitions(): function cancel_tasks_without_components (line 110) | def cancel_tasks_without_components(): function check_state_differences (line 122) | def check_state_differences(): function create_event (line 171) | def create_event(subject, state, value, taskid=None): function check_devices_on_maintenance (line 213) | def check_devices_on_maintenance(): FILE: python/nav/metrics/__init__.py class GraphiteConfigParser (line 23) | class GraphiteConfigParser(NAVConfigParser): FILE: python/nav/metrics/carbon.py class CarbonWarning (line 43) | class CarbonWarning(UserWarning): function send_metrics_to (line 49) | def send_metrics_to(metric_tuples, host, port=2003): function _handle_error (line 74) | def _handle_error(error, host, port): function _reset_warning_registry (line 97) | def _reset_warning_registry(): function send_metrics (line 109) | def send_metrics(metric_tuples): function _socktype_from_addr (line 121) | def _socktype_from_addr(addr): function _metric_to_line (line 127) | def _metric_to_line(metric_tuple): function metrics_to_packets (line 133) | def metrics_to_packets(metric_tuples): FILE: python/nav/metrics/data.py function get_metric_average (line 40) | def get_metric_average(target, start="-5min", end="now", ignore_unknown=... function get_metric_max (line 76) | def get_metric_max(target, start="-5min", end="now"): function get_metric_data (line 90) | def get_metric_data(target, start="-5min", end="now"): function get_netboxes_availability (line 161) | def get_netboxes_availability( function populate_for_interval (line 203) | def populate_for_interval(result, targets, netboxes, start_time, end_time): function populate_for_time_frame (line 224) | def populate_for_time_frame(result, targets, netboxes, time_frames): FILE: python/nav/metrics/errors.py class GraphiteUnreachableError (line 19) | class GraphiteUnreachableError(Exception): method __init__ (line 22) | def __init__(self, msg, cause=None): FILE: python/nav/metrics/graphs.py function get_sensor_meta (line 29) | def get_sensor_meta(metric_path): class Graph (line 126) | class Graph(object): method __init__ (line 135) | def __init__( method __str__ (line 157) | def __str__(self): method __repr__ (line 160) | def __repr__(self): method set_timeframe (line 163) | def set_timeframe(self, timeframe): method add_target (line 176) | def add_target(self, target): method add_magic_target (line 180) | def add_magic_target(self, target): function get_simple_graph_url (line 212) | def get_simple_graph_url( function get_metric_meta (line 251) | def get_metric_meta(metric_path): function extract_series_name (line 289) | def extract_series_name(series): function translate_serieslist_to_regex (line 330) | def translate_serieslist_to_regex(series): function aliased_series (line 353) | def aliased_series(series_list: str, name: str, **meta: str) -> str: function summed_series (line 374) | def summed_series(*series_list: str) -> str: function nonempty_series (line 383) | def nonempty_series(series_list: str, x_files_factor: float = 0.0) -> str: function json_graph_url (line 398) | def json_graph_url(*series_list: str, title: str) -> str: FILE: python/nav/metrics/lookup.py function lookup (line 30) | def lookup(metric): function reverses (line 46) | def reverses(pattern): function _reverse_interface (line 64) | def _reverse_interface(sysname, ifname): function _reverse_sensor (line 73) | def _reverse_sensor(sysname, name): function _reverse_device_cpu (line 80) | def _reverse_device_cpu(sysname, cpuname): function _reverse_uptime (line 87) | def _reverse_uptime(sysname): function _reverse_device (line 96) | def _reverse_device(sysname): function _reverse_prefix (line 101) | def _reverse_prefix(netaddr): function _single_like_match (line 108) | def _single_like_match(model, related=None, **kwargs): FILE: python/nav/metrics/names.py class safe_name (line 31) | class safe_name(str): method __str__ (line 36) | def __str__(self): function escape_metric_name (line 42) | def escape_metric_name(name): function join_series (line 56) | def join_series(names): function get_all_leaves_below (line 73) | def get_all_leaves_below(top, ignored=None): function get_expanded_nodes (line 80) | def get_expanded_nodes(path): function get_metric_leaf_children (line 97) | def get_metric_leaf_children(path): function get_metric_nonleaf_children (line 110) | def get_metric_nonleaf_children(path): function nodewalk (line 123) | def nodewalk(top, ignored=None): function raw_metric_query (line 152) | def raw_metric_query(query, operation="find"): FILE: python/nav/metrics/templates.py function metric_prefix_for_ipdevpoll_job (line 25) | def metric_prefix_for_ipdevpoll_job(sysname, job_name): function metric_path_for_bandwith (line 32) | def metric_path_for_bandwith(sysname, is_percent): function metric_path_for_bandwith_peak (line 40) | def metric_path_for_bandwith_peak(sysname, is_percent): function metric_path_for_cpu_load (line 48) | def metric_path_for_cpu_load(sysname, cpu_name, interval): function metric_path_for_cpu_utilization (line 57) | def metric_path_for_cpu_utilization(sysname, cpu_name): function metric_path_for_interface (line 64) | def metric_path_for_interface(sysname, ifname, counter): function metric_path_for_packet_loss (line 72) | def metric_path_for_packet_loss(sysname): function metric_path_for_prefix (line 77) | def metric_path_for_prefix(netaddr, metric_name): function metric_path_for_roundtrip_time (line 85) | def metric_path_for_roundtrip_time(sysname): function metric_prefix_for_sensors (line 90) | def metric_prefix_for_sensors(sysname): function metric_path_for_sensor (line 95) | def metric_path_for_sensor(sysname, sensor): function metric_path_for_service_availability (line 102) | def metric_path_for_service_availability(sysname, handler, service_id): function metric_path_for_service_response_time (line 107) | def metric_path_for_service_response_time(sysname, handler, service_id): function metric_path_for_sysuptime (line 112) | def metric_path_for_sysuptime(sysname): function metric_path_for_power (line 117) | def metric_path_for_power(sysname, index): function metric_prefix_for_cpu (line 122) | def metric_prefix_for_cpu(sysname): function metric_prefix_for_device (line 127) | def metric_prefix_for_device(sysname): function metric_prefix_for_interface (line 134) | def metric_prefix_for_interface(sysname, ifname): function metric_prefix_for_memory (line 141) | def metric_prefix_for_memory(sysname, memory_name): function metric_prefix_for_ports (line 149) | def metric_prefix_for_ports(sysname): function metric_prefix_for_prefix (line 154) | def metric_prefix_for_prefix(netaddr): function metric_prefix_for_service (line 161) | def metric_prefix_for_service(sysname, handler, service_id): function metric_prefix_for_system (line 168) | def metric_prefix_for_system(sysname): function metric_prefix_for_multicast_group (line 173) | def metric_prefix_for_multicast_group(group): function metric_path_for_multicast_usage (line 178) | def metric_path_for_multicast_usage(group, sysname): function metric_path_for_dhcp (line 188) | def metric_path_for_dhcp( FILE: python/nav/metrics/thresholds.py class ThresholdEvaluator (line 96) | class ThresholdEvaluator(object): method __init__ (line 112) | def __init__(self, target, period=DEFAULT_INTERVAL, raw=False): method __repr__ (line 130) | def __repr__(self): method get_values (line 135) | def get_values(self): method evaluate (line 156) | def evaluate(self, expression, invert=False): method _get_matcher (line 177) | def _get_matcher(self, expression): method _gt (line 190) | def _gt(self, value, percent, metric): method _lt (line 195) | def _lt(self, value, percent, metric): method _calculate_current (line 200) | def _calculate_current(self, percent, metric): function get_metric_maximum (line 212) | def get_metric_maximum(metric): class InvalidExpressionError (line 228) | class InvalidExpressionError(Exception): function interval_to_graphite (line 234) | def interval_to_graphite(delta): FILE: python/nav/mibs/__init__.py function reduce_index (line 24) | def reduce_index(result): FILE: python/nav/mibs/alcatel_ind1_port_mib.py class AlcatelInd1PortMib (line 57) | class AlcatelInd1PortMib(MibRetriever): method get_all_sensors (line 63) | def get_all_sensors(self): method handle_column (line 73) | def handle_column(self, column, config): FILE: python/nav/mibs/arista_vrf_mib.py class AristaVrfMib (line 23) | class AristaVrfMib(mibretriever.MibRetriever): method get_vrf_states (line 29) | def get_vrf_states(self, only: str = None) -> Deferred: function _vrf_index_to_string (line 46) | def _vrf_index_to_string(index: OID) -> str: FILE: python/nav/mibs/bgp4_mib.py class BGP4Mib (line 32) | class BGP4Mib(mibretriever.MibRetriever): method is_supported (line 44) | def is_supported(self): method get_bgp_peer_states (line 54) | def get_bgp_peer_states(self): method _bgp_row_to_remote_ip (line 95) | def _bgp_row_to_remote_ip(row_index): FILE: python/nav/mibs/bgp4_v2_mib_juniper.py class BGP4V2JuniperMib (line 24) | class BGP4V2JuniperMib(BGP4Mib): method _bgp_row_to_remote_ip (line 36) | def _bgp_row_to_remote_ip(row_index): FILE: python/nav/mibs/bridge_mib.py class BridgeMib (line 24) | class BridgeMib(mibretriever.MibRetriever): method get_baseport_ifindex_map (line 29) | def get_baseport_ifindex_map(self): method get_base_bridge_address (line 39) | def get_base_bridge_address(self): method get_forwarding_database (line 44) | def get_forwarding_database(self): method get_stp_blocking_ports (line 62) | def get_stp_blocking_ports(self): method get_stp_port_states (line 69) | def get_stp_port_states(self): class MultiBridgeMib (line 79) | class MultiBridgeMib(BridgeMib, mibretriever.MultiMibMixIn): method get_baseport_ifindex_map (line 80) | def get_baseport_ifindex_map(self): method get_forwarding_database (line 84) | def get_forwarding_database(self): method get_stp_blocking_ports (line 88) | def get_stp_blocking_ports(self): method get_stp_port_states (line 100) | def get_stp_port_states(self): FILE: python/nav/mibs/cd6c_mib.py class CD6CMib (line 7) | class CD6CMib(MibRetriever): method get_all_sensors (line 33) | def get_all_sensors(self): method create_sensor (line 57) | def create_sensor(self, sensor, precision=0, uom=''): FILE: python/nav/mibs/cisco_auth_framework_mib.py class CiscoAuthFrameworkMib (line 28) | class CiscoAuthFrameworkMib(mibretriever.MibRetriever): method get_auth_session_vlans (line 33) | async def get_auth_session_vlans(self) -> dict[tuple[int, ...], dict[s... FILE: python/nav/mibs/cisco_bgp4_mib.py class CiscoBGP4Mib (line 24) | class CiscoBGP4Mib(BGP4Mib): method _bgp_row_to_remote_ip (line 36) | def _bgp_row_to_remote_ip(row_index): FILE: python/nav/mibs/cisco_c2900_mib.py class CiscoC2900Mib (line 20) | class CiscoC2900Mib(esswitch_mib.ESSwitchMib): FILE: python/nav/mibs/cisco_cdp_mib.py class CiscoCDPMib (line 32) | class CiscoCDPMib(mibretriever.MibRetriever): method get_neighbors_last_change (line 37) | def get_neighbors_last_change(self): method get_cdp_neighbors (line 45) | def get_cdp_neighbors(self): method _get_cdp_cache_table (line 56) | def _get_cdp_cache_table(self): method _make_cache_tuple (line 68) | def _make_cache_tuple(index, row): FILE: python/nav/mibs/cisco_enhanced_memory_pool_mib.py class CiscoEnhancedMemoryPoolMib (line 26) | class CiscoEnhancedMemoryPoolMib(mibretriever.MibRetriever): method get_memory_usage (line 30) | def get_memory_usage(self): FILE: python/nav/mibs/cisco_entity_fru_control_mib.py class CiscoEntityFruControlMib (line 57) | class CiscoEntityFruControlMib(mibretriever.MibRetriever): method __init__ (line 65) | def __init__(self, agent_proxy): method _get_fantray_status_table (line 71) | def _get_fantray_status_table(self): method _get_power_status_table (line 75) | def _get_power_status_table(self): method _translate_fan_status (line 80) | def _translate_fan_status(oper_status): method _translate_power_supply_status_value (line 89) | def _translate_power_supply_status_value(oper_status): method get_fan_status (line 98) | def get_fan_status(self, internal_id): method get_power_supply_status (line 107) | def get_power_supply_status(self, internal_id): method get_fan_status_table (line 116) | def get_fan_status_table(self): method get_psu_status_table (line 123) | def get_psu_status_table(self): method get_power_supplies (line 129) | def get_power_supplies(self): method get_fans (line 134) | def get_fans(self): FILE: python/nav/mibs/cisco_entity_sensor_mib.py class CiscoEntitySensorMib (line 20) | class CiscoEntitySensorMib(EntitySensorMib): FILE: python/nav/mibs/cisco_envmon_mib.py class CiscoEnvMonMib (line 36) | class CiscoEnvMonMib(mibretriever.MibRetriever): method _get_voltage_sensors (line 39) | def _get_voltage_sensors(self): method _get_temperature_sensors (line 50) | def _get_temperature_sensors(self): method _get_fanstate_sensors (line 62) | def _get_fanstate_sensors(self): method _get_powersupply_sensors (line 73) | def _get_powersupply_sensors(self): method _get_voltage_sensor_params (line 85) | def _get_voltage_sensor_params(self, voltage_sensors): method _get_temperature_sensor_params (line 117) | def _get_temperature_sensor_params(self, temperature_sensors): method _get_fanstate_sensor_params (line 143) | def _get_fanstate_sensor_params(self, fanstate_sensors): method _get_powersupply_sensor_params (line 169) | def _get_powersupply_sensor_params(self, powersupply_sensors): method get_all_sensors (line 200) | def get_all_sensors(self): FILE: python/nav/mibs/cisco_hsrp_mib.py class CiscoHSRPMib (line 24) | class CiscoHSRPMib(mibretriever.MibRetriever): method get_virtual_addresses (line 30) | def get_virtual_addresses(self): FILE: python/nav/mibs/cisco_ietf_ip_mib.py class CiscoIetfIpMib (line 25) | class CiscoIetfIpMib(IpMib): method address_index_to_ip (line 40) | def address_index_to_ip(cls, index): method prefix_index_to_ip (line 52) | def prefix_index_to_ip(cls, index, prefix_entry=None): method get_ifindex_ip_mac_mappings (line 61) | def get_ifindex_ip_mac_mappings(self): method get_interface_addresses (line 78) | def get_interface_addresses(self): method _binary_mac_to_hex (line 96) | def _binary_mac_to_hex(mac): FILE: python/nav/mibs/cisco_memory_pool_mib.py class CiscoMemoryPoolMib (line 26) | class CiscoMemoryPoolMib(mibretriever.MibRetriever): method get_memory_usage (line 30) | def get_memory_usage(self): FILE: python/nav/mibs/cisco_power_ethernet_ext_mib.py class CiscoPowerEthernetExtMib (line 20) | class CiscoPowerEthernetExtMib(mibretriever.MibRetriever): FILE: python/nav/mibs/cisco_process_mib.py class CiscoProcessMib (line 31) | class CiscoProcessMib(mibretriever.MibRetriever): method get_cpu_loadavg (line 35) | def get_cpu_loadavg(self): method _get_cpu_names (line 56) | def _get_cpu_names(self, indexes): method get_cpu_utilization (line 69) | def get_cpu_utilization(self): FILE: python/nav/mibs/cisco_stack_mib.py class CiscoStackMib (line 20) | class CiscoStackMib(mibretriever.MibRetriever): method get_bandwidth_percent (line 23) | def get_bandwidth_percent(self): method get_bandwidth_percent_peak (line 26) | def get_bandwidth_percent_peak(self): FILE: python/nav/mibs/cisco_vlan_iftable_relationship_mib.py class CiscoVlanIftableRelationshipMib (line 26) | class CiscoVlanIftableRelationshipMib(mibretriever.MibRetriever): method get_routed_vlan_ifindexes (line 32) | def get_routed_vlan_ifindexes(self): FILE: python/nav/mibs/cisco_vlan_membership_mib.py class CiscoVlanMembershipMib (line 23) | class CiscoVlanMembershipMib(mibretriever.MibRetriever): method get_vlan_membership (line 29) | def get_vlan_membership(self): FILE: python/nav/mibs/cisco_vtp_mib.py class CiscoVTPMib (line 26) | class CiscoVTPMib(mibretriever.MibRetriever): method get_trunk_native_vlans (line 30) | def get_trunk_native_vlans(self): method get_trunk_enabled_vlans (line 44) | def get_trunk_enabled_vlans(self, as_bitvector=False): method get_ethernet_vlan_states (line 83) | def get_ethernet_vlan_states(self): method get_operational_vlans (line 97) | def get_operational_vlans(self): method retrieve_alternate_bridge_mibs (line 102) | async def retrieve_alternate_bridge_mibs(self) -> list[LogicalMibInsta... FILE: python/nav/mibs/comet.py class Comet (line 39) | class Comet(MibRetriever): method get_all_sensors (line 45) | def get_all_sensors(self): method get_channels (line 54) | def get_channels(self): method get_binary_inputs (line 86) | def get_binary_inputs(self): class CometMS (line 136) | class CometMS(MibRetriever): method get_all_sensors (line 142) | def get_all_sensors(self): method get_channels (line 150) | def get_channels(self): FILE: python/nav/mibs/comet_t3611.py class CometT3611 (line 28) | class CometT3611(mibretriever.MibRetriever): method get_all_sensors (line 34) | def get_all_sensors(self): method _data_to_sensor (line 49) | def _data_to_sensor(self, result): FILE: python/nav/mibs/coriant_groove_mib.py function filter_port_by_adminstatus (line 28) | def filter_port_by_adminstatus(index, _, filter_data): class CoriantGrooveMib (line 136) | class CoriantGrooveMib(MibRetriever): method get_all_sensors (line 142) | def get_all_sensors(self): method _discover_sensors (line 158) | def _discover_sensors( method _make_sensor (line 230) | def _make_sensor(self, index, name, alias, column, config): method _get_sensor_description (line 244) | def _get_sensor_description(self, column): function _fix_text_columns (line 251) | def _fix_text_columns(): FILE: python/nav/mibs/cpqpower_mib.py class CPQPowerMib (line 173) | class CPQPowerMib(mibretriever.MibRetriever): method get_all_sensors (line 179) | def get_all_sensors(self): method _get_oid (line 188) | def _get_oid(self, column, index): method _get_names (line 192) | def _get_names(self): method _get_sensors (line 206) | def _get_sensors(self, names, sensors, extra_columns=None, filter=lamb... method _mksensors (line 219) | def _mksensors(self, index, row, table, names): FILE: python/nav/mibs/eltek_distributed_mib.py class EltekDistributedMib (line 44) | class EltekDistributedMib(MibRetriever): method get_all_sensors (line 50) | def get_all_sensors(self): method _verify_sensor (line 61) | def _verify_sensor(self, object_name): FILE: python/nav/mibs/entity_mib.py class EntityMib (line 36) | class EntityMib(mibretriever.MibRetriever): method retrieve_alternate_bridge_mibs (line 41) | async def retrieve_alternate_bridge_mibs(self) -> list[LogicalMibInsta... method get_last_change_time (line 83) | def get_last_change_time(self): method _get_named_table (line 91) | def _get_named_table(self, table_name): method get_entity_physical_table (line 99) | def get_entity_physical_table(self): method get_useful_physical_table_columns (line 105) | def get_useful_physical_table_columns(self): method get_alias_mapping (line 125) | def get_alias_mapping(self): method _process_alias_mapping (line 129) | def _process_alias_mapping(self, alias_mapping): method get_power_supplies (line 144) | def get_power_supplies(self): method get_fans (line 148) | def get_fans(self): method __filter_psu_or_fan (line 153) | def __filter_psu_or_fan(self, filter_function): class EntityTable (line 164) | class EntityTable(dict): method __init__ (line 167) | def __init__(self, mibresult): method is_module (line 181) | def is_module(self, entity): method is_port (line 190) | def is_port(entity): method is_chassis (line 194) | def is_chassis(entity): method is_power_supply (line 198) | def is_power_supply(entity): method is_fan (line 202) | def is_fan(entity): method is_transceiver (line 205) | def is_transceiver(self, entity): method get_modules (line 209) | def get_modules(self): method get_ports (line 222) | def get_ports(self): method get_chassis (line 233) | def get_chassis(self): method get_nearest_module_parent (line 245) | def get_nearest_module_parent(self, entity): method get_nearest_port_parent (line 259) | def get_nearest_port_parent(self, entity): method get_chassis_of (line 273) | def get_chassis_of(self, entity): method clean (line 284) | def clean(self): method _parse_mfg_date (line 292) | def _parse_mfg_date(self): method _strip_whitespace (line 301) | def _strip_whitespace(self): method _fix_broken_chassis_relative_positions (line 308) | def _fix_broken_chassis_relative_positions(self): method _rename_stack_duplicates (line 324) | def _rename_stack_duplicates(self): method _get_non_chassis_duplicates (line 341) | def _get_non_chassis_duplicates(self): function parse_dateandtime_tc (line 361) | def parse_dateandtime_tc(value): function _entity_to_powersupply_or_fan (line 397) | def _entity_to_powersupply_or_fan(entity): FILE: python/nav/mibs/entity_sensor_mib.py class EntitySensorMib (line 64) | class EntitySensorMib(mibretriever.MibRetriever): method __init__ (line 72) | def __init__(self, agent_proxy): method _get_sensors (line 77) | def _get_sensors(self): method get_all_sensors (line 92) | def get_all_sensors(self): FILE: python/nav/mibs/esswitch_mib.py class ESSwitchMib (line 26) | class ESSwitchMib(mibretriever.MibRetriever): method get_bandwidth (line 33) | def get_bandwidth(self): method get_bandwidth_peak (line 38) | def get_bandwidth_peak(self): FILE: python/nav/mibs/etherlike_mib.py class EtherLikeMib (line 24) | class EtherLikeMib(mibretriever.MibRetriever): method get_duplex (line 30) | def get_duplex(self): FILE: python/nav/mibs/extreme_vlan_mib.py class ExtremeVlanMib (line 24) | class ExtremeVlanMib(mibretriever.MibRetriever): method get_vlan_ports (line 29) | def get_vlan_ports(self): method get_ifindex_vlan_map (line 41) | def get_ifindex_vlan_map(self): function _strip_slot_numbers_from_index (line 53) | def _strip_slot_numbers_from_index(table): function _convert_columns_to_portlists (line 57) | def _convert_columns_to_portlists(table): FILE: python/nav/mibs/geist_mibv3.py class GeistMibV3 (line 31) | class GeistMibV3(ItWatchDogsMibV3): FILE: python/nav/mibs/geist_mibv4.py class GeistMibV4 (line 36) | class GeistMibV4(ItWatchDogsMibV4): FILE: python/nav/mibs/hp_httpmanageable_mib.py class HPHTTPManageableMib (line 21) | class HPHTTPManageableMib(MibRetriever): method get_serial_number (line 27) | def get_serial_number(self): FILE: python/nav/mibs/hpicf_fan_mib.py class HpIcfFanMib (line 43) | class HpIcfFanMib(mibretriever.MibRetriever): method __init__ (line 48) | def __init__(self, agent_proxy): method _get_fan_status_table (line 54) | def _get_fan_status_table(self): method _translate_fan_status (line 64) | def _translate_fan_status(psu_status): method get_fan_status (line 73) | def get_fan_status(self, internal_id): method get_fans (line 86) | def get_fans(self): FILE: python/nav/mibs/hpicf_powersupply_mib.py class HpIcfPowerSupplyMib (line 40) | class HpIcfPowerSupplyMib(mibretriever.MibRetriever): method __init__ (line 45) | def __init__(self, agent_proxy): method _get_psu_status_table (line 51) | def _get_psu_status_table(self): method _translate_psu_status (line 61) | def _translate_psu_status(psu_status): method get_power_supply_status (line 70) | def get_power_supply_status(self, internal_id): method get_power_supplies (line 83) | def get_power_supplies(self): function _psu_index_from_internal_id (line 107) | def _psu_index_from_internal_id(internal_id): FILE: python/nav/mibs/ibm_pdu_mib.py class IbmPduMib (line 35) | class IbmPduMib(MibRetriever): method get_all_sensors (line 43) | def get_all_sensors(self): method _get_phase_sensors (line 52) | def _get_phase_sensors(self): method _get_outlet_sensors (line 84) | def _get_outlet_sensors(self): method _outlet_row_to_sensors (line 104) | def _outlet_row_to_sensors(self, index, row): FILE: python/nav/mibs/ieee8023_lag_mib.py class IEEE8023LagMib (line 24) | class IEEE8023LagMib(mibretriever.MibRetriever): method retrieve_selected_aggregators (line 30) | def retrieve_selected_aggregators(self): method retrieve_attached_aggregators (line 45) | def retrieve_attached_aggregators(self): method retrieve_aggregations_by_operational_key (line 60) | def retrieve_aggregations_by_operational_key(self): FILE: python/nav/mibs/if_mib.py class IfMib (line 25) | class IfMib(mibretriever.MibRetriever): method get_if_table_last_change (line 28) | def get_if_table_last_change(self): method get_if_table (line 33) | def get_if_table(self): method get_ifnames (line 41) | def get_ifnames(self): method get_ifaliases (line 56) | def get_ifaliases(self): method get_ifindexes (line 66) | def get_ifindexes(self): method get_admin_status (line 72) | def get_admin_status(self): method get_stack_status (line 87) | def get_stack_status(self): FILE: python/nav/mibs/ip_forward_mib.py class IpForwardMib (line 56) | class IpForwardMib(mibretriever.MibRetriever): method get_routes (line 62) | def get_routes(self, protocols=None): method get_decoded_routes (line 86) | def get_decoded_routes(self, protocols=None): method get_cidr_route_column (line 120) | def get_cidr_route_column(self, column, index): function decode_route_entry (line 127) | def decode_route_entry(index): FILE: python/nav/mibs/ip_mib.py class IpMib (line 32) | class IpMib(mibretriever.MibRetriever): method inetaddress_to_ip (line 38) | def inetaddress_to_ip(oid): method _chop_index (line 91) | def _chop_index(cls, index, entry): method address_index_to_ip (line 118) | def address_index_to_ip(cls, index): method prefix_index_to_ip (line 126) | def prefix_index_to_ip(cls, index, prefix_entry='ipAddressPrefixEntry'): method _get_ifindex_ip_mac_mappings (line 144) | def _get_ifindex_ip_mac_mappings(self, column='ipNetToPhysicalPhysAddr... method _get_ifindex_ipv4_mac_mappings (line 166) | def _get_ifindex_ipv4_mac_mappings(self, column='ipNetToMediaPhysAddre... method _binary_mac_to_hex (line 199) | def _binary_mac_to_hex(mac): method get_ifindex_ip_mac_mappings (line 204) | def get_ifindex_ip_mac_mappings(self): method _get_interface_ipv4_addresses (line 224) | def _get_interface_ipv4_addresses( method _get_interface_addresses (line 272) | def _get_interface_addresses( method get_interface_addresses (line 316) | def get_interface_addresses(self): method get_ipv6_octet_counters (line 334) | def get_ipv6_octet_counters(self): class MultiIpMib (line 349) | class MultiIpMib(IpMib, mibretriever.MultiMibMixIn): method get_ifindex_ip_mac_mappings (line 354) | def get_ifindex_ip_mac_mappings(self): function _set_integrator (line 359) | def _set_integrator(results): class IndexToIpException (line 363) | class IndexToIpException(Exception): FILE: python/nav/mibs/ipv6_mib.py class Ipv6Mib (line 31) | class Ipv6Mib(mibretriever.MibRetriever): method ipv6address_to_ip (line 37) | def ipv6address_to_ip(oid): method get_ifindex_ip_mac_mappings (line 65) | def get_ifindex_ip_mac_mappings(self): method get_interface_addresses (line 94) | def get_interface_addresses(self): FILE: python/nav/mibs/itw_mib.py class BaseITWatchDogsMib (line 330) | class BaseITWatchDogsMib(mibretriever.MibRetriever): method _get_oid_for_sensor (line 331) | def _get_oid_for_sensor(self, sensor_name): method _make_result_dict (line 343) | def _make_result_dict( method _handle_sensor_group (line 361) | def _handle_sensor_group(self, sensor_group, table_data): method get_all_sensors (line 390) | def get_all_sensors(self): function get_range (line 444) | def get_range(mib, node): function convert_units (line 456) | def convert_units(mib, node): class ItWatchDogsMib (line 469) | class ItWatchDogsMib(BaseITWatchDogsMib): FILE: python/nav/mibs/itw_mibv3.py class ItWatchDogsMibV3 (line 390) | class ItWatchDogsMibV3(BaseITWatchDogsMib): method _get_power_dms_params (line 396) | def _get_power_dms_params(self, power_dms): method _get_io_expanders_params (line 428) | def _get_io_expanders_params(self, io_expanders): method get_all_sensors (line 506) | def get_all_sensors(self): FILE: python/nav/mibs/itw_mibv4.py class ItWatchDogsMibV4 (line 139) | class ItWatchDogsMibV4(BaseITWatchDogsMib): FILE: python/nav/mibs/juniper_alarm_mib.py class JuniperAlarmMib (line 24) | class JuniperAlarmMib(MibRetriever): method get_yellow_alarm_count (line 29) | def get_yellow_alarm_count(self): method get_red_alarm_count (line 33) | def get_red_alarm_count(self): method _get_alarm_count (line 38) | def _get_alarm_count(self, oid): FILE: python/nav/mibs/juniper_dom_mib.py class JuniperDomMib (line 52) | class JuniperDomMib(MibRetriever): method get_all_sensors (line 58) | def get_all_sensors(self): method handle_column (line 68) | def handle_column(self, column, config): FILE: python/nav/mibs/juniper_mib.py class JuniperMib (line 62) | class JuniperMib(MibRetriever): method get_serial_number (line 68) | def get_serial_number(self): method get_cpu_loadavg (line 77) | def get_cpu_loadavg(self): method get_cpu_utilization (line 105) | def get_cpu_utilization(self): method get_power_supplies (line 125) | def get_power_supplies(self): method get_fans (line 129) | def get_fans(self): method _get_fru_by_type (line 134) | def _get_fru_by_type(self, fru_type): method get_fru_status (line 154) | def get_fru_status(self, internal_id): method get_all_sensors (line 166) | def get_all_sensors(self): method _get_sensors (line 175) | def _get_sensors(self, config): method _row_to_sensor (line 195) | def _row_to_sensor(self, config, index, row): method _translate_fru_status_value (line 224) | def _translate_fru_status_value(oper_status): method get_memory_usage (line 233) | def get_memory_usage(self): function _fru_row_to_powersupply_or_fan (line 253) | def _fru_row_to_powersupply_or_fan(fru_row): FILE: python/nav/mibs/lldp_mib.py class LLDPMib (line 31) | class LLDPMib(mibretriever.MibRetriever): method get_remote_last_change (line 36) | def get_remote_last_change(self): method get_remote_table (line 44) | def get_remote_table(self): method _retrieve_rem_table (line 55) | def _retrieve_rem_table(self): method _remote_entry_to_neighbor (line 68) | def _remote_entry_to_neighbor(row): method _translate_port_numbers (line 81) | def _translate_port_numbers(self, remote_table): method _is_remote_table_index_broken (line 148) | def _is_remote_table_index_broken(remote_table): method _retrieve_local_ports (line 153) | def _retrieve_local_ports(self): method _make_interface_lookup_dict (line 171) | def _make_interface_lookup_dict(self): class IdType (line 191) | class IdType(str): method __repr__ (line 192) | def __repr__(self): method isdigit (line 195) | def isdigit(self): class BinaryOrString (line 204) | class BinaryOrString(IdType): method __new__ (line 205) | def __new__(cls, *args, **_kwargs): class MacAddress (line 217) | class MacAddress(IdType): method __new__ (line 218) | def __new__(cls, *args, **_kwargs): class NetworkAddress (line 230) | class NetworkAddress(IdType): method __new__ (line 240) | def __new__(cls, *args, **_kwargs): class IdSubtypes (line 256) | class IdSubtypes(object): method get (line 258) | def get(cls, typename, value): class chassisComponent (line 265) | class chassisComponent(IdType): class interfaceAlias (line 268) | class interfaceAlias(BinaryOrString): class portComponent (line 271) | class portComponent(IdType): class macAddress (line 274) | class macAddress(MacAddress): class networkAddress (line 277) | class networkAddress(NetworkAddress): class interfaceName (line 280) | class interfaceName(BinaryOrString): class local (line 283) | class local(BinaryOrString): class agentCircuitId (line 286) | class agentCircuitId(IdType): FILE: python/nav/mibs/mg_snmp_ups_mib.py class MgSnmpUpsMib (line 23) | class MgSnmpUpsMib(UpsMib): FILE: python/nav/mibs/mibretriever.py class MibRetrieverError (line 55) | class MibRetrieverError(GeneralException): class MIBObject (line 61) | class MIBObject(object): method __init__ (line 80) | def __init__(self, mib, name): method _build_type (line 95) | def _build_type(self): method to_python (line 120) | def to_python(self, value): method __lt__ (line 132) | def __lt__(self, other): method __eq__ (line 139) | def __eq__(self, other): method __repr__ (line 146) | def __repr__(self): class MibTableDescriptor (line 150) | class MibTableDescriptor(object): method __init__ (line 153) | def __init__(self, table_object, row_object, column_objects): method __repr__ (line 165) | def __repr__(self): method build (line 174) | def build(cls, mib, table_name): method build_all (line 208) | def build_all(cls, mib): class MibTableResultRow (line 219) | class MibTableResultRow(dict): method __init__ (line 226) | def __init__(self, index, columns=None): class MibRetrieverMaker (line 240) | class MibRetrieverMaker(type): method __init__ (line 256) | def __init__(cls, name, bases, dct): method __make_scalar_getters (line 284) | def __make_scalar_getters(cls): method __scalar_getter (line 296) | def __scalar_getter(node_name): method __make_table_getters (line 322) | def __make_table_getters(cls): method __table_getter (line 330) | def __table_getter(node_name): method __make_node_objects (line 344) | def __make_node_objects(cls): method __prepopulate_text_columns (line 351) | def __prepopulate_text_columns(cls): class MibRetriever (line 365) | class MibRetriever(object, metaclass=MibRetrieverMaker): method __init__ (line 372) | def __init__(self, agent_proxy): method get_module_name (line 379) | def get_module_name(self): method get_next (line 384) | def get_next(self, object_name, translate_result=False): method retrieve_column (line 396) | def retrieve_column(self, column_name): method retrieve_columns (line 452) | def retrieve_columns(self, column_names) -> Awaitable: method retrieve_table (line 494) | def retrieve_table(self, table_name): method translate_result (line 551) | def translate_result(cls, result): method retrieve_column_by_index (line 568) | def retrieve_column_by_index(self, column, index): class MultiMibMixIn (line 581) | class MultiMibMixIn(MibRetriever): method __init__ (line 594) | def __init__(self, agent_proxy, instances: list[LogicalMibInstance]): method _multiquery (line 612) | def _multiquery(self, method, *args, **kwargs): method __timeout_handler (line 658) | def __timeout_handler(self, failure, descr): method _dictintegrator (line 674) | def _dictintegrator(results): method _make_agents (line 689) | def _make_agents(self): method _prune_instances (line 701) | def _prune_instances(self) -> Iterator[LogicalMibInstance]: method _get_alternate_agent (line 716) | def _get_alternate_agent(self, instance: LogicalMibInstance): function is_text_object (line 744) | def is_text_object(mib_dict, obj_name): FILE: python/nav/mibs/netswitch_mib.py class NetswitchMib (line 34) | class NetswitchMib(mibretriever.MibRetriever): method get_memory_usage (line 38) | def get_memory_usage(self): FILE: python/nav/mibs/old_cisco_cpu_mib.py class OldCiscoCpuMib (line 21) | class OldCiscoCpuMib(mibretriever.MibRetriever): method get_cpu_loadavg (line 25) | def get_cpu_loadavg(self): method get_cpu_utilization (line 32) | def get_cpu_utilization(self): FILE: python/nav/mibs/pdu2_mib.py class PDU2Mib (line 63) | class PDU2Mib(MibRetriever): method get_all_sensors (line 69) | def get_all_sensors(self): method retrieve_sensor_columns (line 78) | def retrieve_sensor_columns(self, table): method get_sensor (line 82) | def get_sensor(self, table, index, row, name, description, internal_na... method get_inlet_sensors (line 110) | def get_inlet_sensors(self): method get_inlet_pole_sensors (line 132) | def get_inlet_pole_sensors(self, inlets): method get_over_current_protection_sensors (line 159) | def get_over_current_protection_sensors(self): FILE: python/nav/mibs/power_ethernet_mib.py class PowerEthernetMib (line 21) | class PowerEthernetMib(mibretriever.MibRetriever): method get_groups_table (line 25) | def get_groups_table(self): method get_ports_table (line 33) | def get_ports_table(self): FILE: python/nav/mibs/powernet_mib.py class PowerNetMib (line 42) | class PowerNetMib(UpsMib): method get_all_sensors (line 83) | def get_all_sensors(self): method _get_pdu_bank_load_sensors (line 91) | def _get_pdu_bank_load_sensors(self): method get_serial_number (line 130) | def get_serial_number(self): FILE: python/nav/mibs/pwt_3phase_mibv1.py function for_table (line 40) | def for_table(table_name): class Pwt3PhaseV1Mib (line 54) | class Pwt3PhaseV1Mib(mibretriever.MibRetriever): method _get_oid_for_sensor (line 59) | def _get_oid_for_sensor(self, sensor_name): method _make_result_dict (line 71) | def _make_result_dict( method _get_internal_sensors_params (line 99) | def _get_internal_sensors_params(self, internal_sensors): method get_all_sensors (line 224) | def get_all_sensors(self): FILE: python/nav/mibs/qbridge_mib.py class QBridgeMib (line 28) | class QBridgeMib(mibretriever.MibRetriever): method get_baseport_pvid_map (line 33) | def get_baseport_pvid_map(self): method get_vlan_current_egress_ports (line 43) | def get_vlan_current_egress_ports(self): method get_vlan_current_untagged_ports (line 55) | def get_vlan_current_untagged_ports(self): method get_vlan_static_egress_ports (line 67) | def get_vlan_static_egress_ports(self): method get_vlan_static_untagged_ports (line 79) | def get_vlan_static_untagged_ports(self): method get_forwarding_database (line 92) | def get_forwarding_database(self): method get_vlan_static_names (line 111) | def get_vlan_static_names(self): function filter_newest_current_entries (line 122) | def filter_newest_current_entries(dot1qvlancurrenttable): function convert_data_to_portlist (line 134) | def convert_data_to_portlist(result, juniper_hack): function portlist_spec (line 138) | def portlist_spec(data): function portlist_juniper (line 145) | def portlist_juniper(data): function portlist (line 162) | def portlist(data, juniper_hack=False): FILE: python/nav/mibs/rittal_cmc_iii.py class RittalCMCIIIMib (line 67) | class RittalCMCIIIMib(MibRetriever): method get_module_name (line 72) | def get_module_name(self): method get_all_sensors (line 77) | def get_all_sensors(self): method get_devices (line 84) | def get_devices(self): method get_sensors (line 92) | def get_sensors(self, devices): FILE: python/nav/mibs/snmpv2_mib.py class Snmpv2Mib (line 28) | class Snmpv2Mib(mibretriever.MibRetriever): method _get_sysvariable (line 34) | def _get_sysvariable(self, var): method get_sysObjectID (line 54) | def get_sysObjectID(self): method get_sysDescr (line 58) | def get_sysDescr(self): method get_sysUpTime (line 64) | def get_sysUpTime(self): method get_timestamp_and_uptime (line 69) | def get_timestamp_and_uptime(self): method get_uptime_deviation (line 81) | def get_uptime_deviation(first_uptime, second_uptime): FILE: python/nav/mibs/spagent_mib.py class SPAgentMib (line 99) | class SPAgentMib(MibRetriever): method get_all_sensors (line 105) | def get_all_sensors(self): method _get_sensors (line 118) | def _get_sensors(self, config): method _row_to_sensor (line 141) | def _row_to_sensor(self, config, index, row): FILE: python/nav/mibs/statistics_mib.py class StatisticsMib (line 29) | class StatisticsMib(mibretriever.MibRetriever): method get_cpu_utilization (line 35) | def get_cpu_utilization(self): method get_cpu_loadavg (line 41) | def get_cpu_loadavg(self): method get_ipv4_multicast_groups_per_port (line 45) | def get_ipv4_multicast_groups_per_port(self): FILE: python/nav/mibs/types.py class LogicalMibInstance (line 23) | class LogicalMibInstance: FILE: python/nav/mibs/ups_mib.py class UpsMib (line 27) | class UpsMib(mibretriever.MibRetriever): method _get_named_column (line 104) | def _get_named_column(self, column): method get_all_sensors (line 111) | def get_all_sensors(self): method _get_sensors (line 121) | def _get_sensors(self, object_name, sensor_params): FILE: python/nav/mibs/vrrp_mib.py class VRRPMib (line 24) | class VRRPMib(mibretriever.MibRetriever): method get_virtual_addresses (line 30) | def get_virtual_addresses(self): FILE: python/nav/mibs/wlsx_systemext_mib.py class WLSXSystemextMib (line 21) | class WLSXSystemextMib(MibRetriever): method get_serial_number (line 27) | def get_serial_number(self): FILE: python/nav/mibs/xups_mib.py class XupsMib (line 23) | class XupsMib(UpsMib): FILE: python/nav/models/api.py class APIToken (line 30) | class APIToken(models.Model): method __str__ (line 62) | def __str__(self): method is_expired (line 66) | def is_expired(self): method get_absolute_url (line 70) | def get_absolute_url(self): class Meta (line 74) | class Meta(object): class JWTRefreshToken (line 78) | class JWTRefreshToken(models.Model): method __str__ (line 105) | def __str__(self): method is_active (line 108) | def is_active(self) -> bool: method get_absolute_url (line 115) | def get_absolute_url(self): class Meta (line 119) | class Meta(object): FILE: python/nav/models/apps.py class NavModelsConfig (line 4) | class NavModelsConfig(AppConfig): FILE: python/nav/models/arnold.py class Identity (line 36) | class Identity(models.Model): method __str__ (line 93) | def __str__(self): class Meta (line 100) | class Meta(object): class Event (line 108) | class Event(models.Model): method __str__ (line 130) | def __str__(self): class Meta (line 133) | class Meta(object): class Justification (line 138) | class Justification(models.Model): method __str__ (line 145) | def __str__(self): class Meta (line 148) | class Meta(object): class QuarantineVlan (line 153) | class QuarantineVlan(models.Model): method __str__ (line 160) | def __str__(self): class Meta (line 163) | class Meta(object): class DetentionProfile (line 168) | class DetentionProfile(models.Model): method __str__ (line 202) | def __str__(self): class Meta (line 205) | class Meta(object): FILE: python/nav/models/cabling.py class Cabling (line 26) | class Cabling(models.Model): class Meta (line 43) | class Meta(object): method __str__ (line 47) | def __str__(self): method verbose (line 50) | def verbose(self): class Patch (line 68) | class Patch(models.Model): class Meta (line 87) | class Meta(object): method __str__ (line 91) | def __str__(self): FILE: python/nav/models/event.py class Subsystem (line 43) | class Subsystem(models.Model): class Meta (line 49) | class Meta(object): method __str__ (line 52) | def __str__(self): class VariableMapBase (line 60) | class VariableMapBase(object): method __init__ (line 69) | def __init__(self): method __get__ (line 72) | def __get__(self, obj, obj_type=None): method __set__ (line 85) | def __set__(self, obj, vardict): method _as_dict (line 101) | def _as_dict(self, obj): method _delete_missing_variables (line 104) | def _delete_missing_variables(self, vardict, variables): method _update_variables (line 107) | def _update_variables(self, obj, vardict): class VariableMap (line 111) | class VariableMap(VariableMapBase): method _as_dict (line 112) | def _as_dict(self, obj): method _delete_missing_variables (line 116) | def _delete_missing_variables(self, vardict, variables): method _update_variables (line 120) | def _update_variables(self, obj, vardict): class StateVariableMap (line 135) | class StateVariableMap(VariableMapBase): method _as_dict (line 144) | def _as_dict(self, obj): method _delete_missing_variables (line 151) | def _delete_missing_variables(self, vardict, variables): method _update_variables (line 158) | def _update_variables(self, obj, vardict): class UnknownEventSubject (line 175) | class UnknownEventSubject(object): method __init__ (line 178) | def __init__(self, alert): method get_absolute_url (line 183) | def get_absolute_url(self): method __str__ (line 188) | def __str__(self): method _get_description_from_message (line 196) | def _get_description_from_message(self): class EventMixIn (line 205) | class EventMixIn(object): method get_key (line 208) | def get_key(self): method get_subject (line 233) | def get_subject(self): method _fetch_subject (line 251) | def _fetch_subject(self): class ThresholdEvent (line 289) | class ThresholdEvent(object): method __init__ (line 295) | def __init__(self, event): method __str__ (line 318) | def __str__(self): method get_absolute_url (line 330) | def get_absolute_url(self): class EventQueue (line 341) | class EventQueue(models.Model, EventMixIn): class Meta (line 398) | class Meta(object): method __repr__ (line 401) | def __repr__(self): method __str__ (line 416) | def __str__(self): method save (line 425) | def save(self, *args, **kwargs): class EventType (line 433) | class EventType(models.Model): class Meta (line 447) | class Meta(object): method __str__ (line 450) | def __str__(self): class EventQueueVar (line 454) | class EventQueueVar(models.Model): class Meta (line 467) | class Meta(object): method __str__ (line 471) | def __str__(self): class AlertQueue (line 479) | class AlertQueue(models.Model, EventMixIn): class Meta (line 548) | class Meta(object): method __str__ (line 551) | def __str__(self): method save (line 559) | def save(self, *args, **kwargs): class AlertType (line 567) | class AlertType(models.Model): class Meta (line 581) | class Meta(object): method __str__ (line 585) | def __str__(self): class AlertQueueMessage (line 589) | class AlertQueueMessage(models.Model): class Meta (line 606) | class Meta(object): method __str__ (line 610) | def __str__(self): class AlertQueueVariable (line 614) | class AlertQueueVariable(models.Model): class Meta (line 629) | class Meta(object): method __str__ (line 633) | def __str__(self): class AlertHistoryQuerySet (line 637) | class AlertHistoryQuerySet(models.QuerySet): method unresolved (line 640) | def unresolved(self, event_type_id=None): class AlertHistory (line 654) | class AlertHistory(models.Model, EventMixIn): class Meta (line 706) | class Meta(object): method __str__ (line 709) | def __str__(self): method is_stateful (line 712) | def is_stateful(self): method is_open (line 717) | def is_open(self): method get_downtime (line 722) | def get_downtime(self): method is_acknowledged (line 738) | def is_acknowledged(self): method acknowledge (line 748) | def acknowledge(self, account, comment): method save (line 766) | def save(self, *args, **kwargs): class AlertHistoryMessage (line 774) | class AlertHistoryMessage(models.Model): class Meta (line 797) | class Meta(object): method __str__ (line 801) | def __str__(self): class AlertHistoryVariable (line 805) | class AlertHistoryVariable(models.Model): class Meta (line 827) | class Meta(object): method __str__ (line 831) | def __str__(self): class Acknowledgement (line 835) | class Acknowledgement(models.Model): class Meta (line 856) | class Meta(object): method __str__ (line 859) | def __str__(self): FILE: python/nav/models/fields.py class DateTimeInfinityField (line 40) | class DateTimeInfinityField(models.DateTimeField): method get_db_prep_value (line 41) | def get_db_prep_value(self, value, connection, prepared=False): class VarcharField (line 53) | class VarcharField(models.TextField): method db_type (line 54) | def db_type(self, connection): method formfield (line 57) | def formfield(self, **kwargs): class DictAsJsonField (line 65) | class DictAsJsonField(models.TextField): method db_type (line 71) | def db_type(self, connection): method from_db_value (line 74) | def from_db_value(self, value, expression, connection): method to_python (line 77) | def to_python(self, value): method get_prep_value (line 98) | def get_prep_value(self, value): class CIDRField (line 103) | class CIDRField(VarcharField): method to_python (line 104) | def to_python(self, value): class PointField (line 114) | class PointField(models.CharField): method __init__ (line 115) | def __init__(self, *args, **kwargs): method db_type (line 119) | def db_type(self, connection): method from_db_value (line 122) | def from_db_value(self, value, expression, connection): method to_python (line 125) | def to_python(self, value): method get_db_prep_value (line 134) | def get_db_prep_value(self, value, connection, prepared=False): method formfield (line 140) | def formfield(self, **kwargs): class LegacyGenericForeignKey (line 146) | class LegacyGenericForeignKey(FieldCacheMixin): method __init__ (line 168) | def __init__(self, model_name_field, model_fk_field, for_concrete_mode... method __str__ (line 175) | def __str__(self): method contribute_to_class (line 180) | def contribute_to_class(self, cls, name): method get_cache_name (line 191) | def get_cache_name(self): method instance_pre_init (line 194) | def instance_pre_init(self, signal, sender, args, kwargs, **_kwargs): method __get__ (line 208) | def __get__(self, instance, instance_type=None): method __set__ (line 225) | def __set__(self, instance, value): method get_model_name (line 240) | def get_model_name(obj) -> str: method get_model_class (line 244) | def get_model_class(table_name) -> Optional[models.Model]: FILE: python/nav/models/images.py class Image (line 14) | class Image(models.Model): class Meta (line 44) | class Meta(object): method _check_image_existance (line 48) | def _check_image_existance(self): method _check_thumb_existance (line 51) | def _check_thumb_existance(self): method _check_readable (line 55) | def _check_readable(self): method _get_url (line 58) | def _get_url(self): method _get_thumb_url (line 63) | def _get_thumb_url(self): method _type (line 68) | def _type(self): method _get_basepath (line 73) | def _get_basepath(self): method _get_fullpath (line 76) | def _get_fullpath(self): method _get_thumb_path (line 79) | def _get_thumb_path(self): FILE: python/nav/models/logger.py class LoggerCategory (line 26) | class LoggerCategory(models.Model): method __str__ (line 33) | def __str__(self): class Meta (line 36) | class Meta(object): class Origin (line 40) | class Origin(models.Model): method __str__ (line 54) | def __str__(self): class Meta (line 57) | class Meta(object): class Priority (line 61) | class Priority(models.Model): method __str__ (line 70) | def __str__(self): class Meta (line 73) | class Meta(object): class LogMessageType (line 77) | class LogMessageType(models.Model): method __str__ (line 92) | def __str__(self): class Meta (line 95) | class Meta(object): class LogMessage (line 100) | class LogMessage(models.Model): class Meta (line 127) | class Meta(object): class ErrorError (line 131) | class ErrorError(models.Model): class Meta (line 139) | class Meta(object): class MessageView (line 143) | class MessageView(models.Model): class Meta (line 178) | class Meta(object): FILE: python/nav/models/manage.py class UpsManager (line 69) | class UpsManager(models.Manager): method get_queryset (line 72) | def get_queryset(self): class NetboxQuerySet (line 82) | class NetboxQuerySet(models.QuerySet): method on_maintenance (line 91) | def on_maintenance(self, on_maintenance): method with_chassis_serials (line 106) | def with_chassis_serials(self): class ManagementProfile (line 121) | class ManagementProfile(models.Model): class Meta (line 148) | class Meta(object): method __str__ (line 154) | def __str__(self): method is_snmp (line 158) | def is_snmp(self): method snmp_version (line 162) | def snmp_version(self): method snmp_community (line 184) | def snmp_community(self): class NetboxProfile (line 191) | class NetboxProfile(models.Model): class Meta (line 200) | class Meta(object): method __str__ (line 204) | def __str__(self): class Netbox (line 208) | class Netbox(models.Model): class Meta (line 286) | class Meta(object): method __str__ (line 292) | def __str__(self): method clean (line 295) | def clean(self): method device (line 307) | def device(self): method get_preferred_snmp_management_profile (line 315) | def get_preferred_snmp_management_profile( method is_up (line 346) | def is_up(self): method is_snmp_down (line 350) | def is_snmp_down(self): method get_absolute_url (line 356) | def get_absolute_url(self): method last_updated (line 362) | def last_updated(self, job='inventory'): method get_last_jobs (line 375) | def get_last_jobs(self): method get_gwport_count (line 397) | def get_gwport_count(self): method get_gwports (line 401) | def get_gwports(self): method get_gwports_sorted (line 407) | def get_gwports_sorted(self): method get_swport_count (line 413) | def get_swport_count(self): method get_swports (line 417) | def get_swports(self): method get_swports_sorted (line 421) | def get_swports_sorted(self): method get_physical_ports (line 426) | def get_physical_ports(self): method get_physical_ports_sorted (line 430) | def get_physical_ports_sorted(self): method get_sensors (line 435) | def get_sensors(self): method get_availability (line 440) | def get_availability(self): method get_week_availability (line 445) | def get_week_availability(self): method get_uplinks (line 453) | def get_uplinks(self): method get_uplinks_regarding_of_vlan (line 468) | def get_uplinks_regarding_of_vlan(self): method get_function (line 481) | def get_function(self): method get_prefix (line 488) | def get_prefix(self): method get_filtered_prefix (line 495) | def get_filtered_prefix(self): method get_short_sysname (line 510) | def get_short_sysname(self): method is_on_maintenance (line 518) | def is_on_maintenance(self): method last_downtime_ended (line 525) | def last_downtime_ended(self): method get_unresolved_alerts (line 541) | def get_unresolved_alerts(self, kind=None): method get_powersupplies (line 545) | def get_powersupplies(self): method get_fans (line 550) | def get_fans(self): method get_system_metrics (line 553) | def get_system_metrics(self): method has_unignored_unrecognized_neighbors (line 578) | def has_unignored_unrecognized_neighbors(self): method get_chassis (line 582) | def get_chassis(self): method get_environment_sensors (line 589) | def get_environment_sensors(self): method mac_addresses (line 597) | def mac_addresses(self) -> set[str]: class NetboxInfo (line 606) | class NetboxInfo(models.Model): class Meta (line 621) | class Meta(object): method __str__ (line 625) | def __str__(self): method cache_set (line 629) | def cache_set(cls, netbox, key, variable, value): method cache_get (line 638) | def cache_get(cls, netbox, key, variable): class NetboxEntity (line 662) | class NetboxEntity(models.Model): class Meta (line 744) | class Meta: method __str__ (line 748) | def __str__(self): method is_chassis (line 760) | def is_chassis(self): method get_software_revision (line 764) | def get_software_revision(self): method _get_applicable_software_revision (line 773) | def _get_applicable_software_revision(self): method _get_cisco_sup_software_version (line 783) | def _get_cisco_sup_software_version(self): method get_parents (line 811) | def get_parents(self): class NetboxPrefix (line 823) | class NetboxPrefix(models.Model): class Meta (line 840) | class Meta(object): method __str__ (line 844) | def __str__(self): method save (line 847) | def save(self, *_args, **_kwargs): class Device (line 852) | class Device(models.Model): class Meta (line 865) | class Meta(object): method __str__ (line 868) | def __str__(self): method get_related_objects (line 871) | def get_related_objects(self): method get_preferred_related_object (line 881) | def get_preferred_related_object(self): method get_extended_description (line 897) | def get_extended_description(self): class Module (line 908) | class Module(models.Model): class Meta (line 941) | class Meta(object): method __str__ (line 947) | def __str__(self): method get_absolute_url (line 952) | def get_absolute_url(self): method get_gwports (line 959) | def get_gwports(self): method get_gwports_sorted (line 965) | def get_gwports_sorted(self): method get_swports (line 971) | def get_swports(self): method get_swports_sorted (line 977) | def get_swports_sorted(self): method get_physical_ports (line 983) | def get_physical_ports(self): method get_physical_ports_sorted (line 987) | def get_physical_ports_sorted(self): method is_on_maintenace (line 992) | def is_on_maintenace(self): method get_entity (line 996) | def get_entity(self): method get_chassis (line 1012) | def get_chassis(self): class Memory (line 1035) | class Memory(models.Model): class Meta (line 1051) | class Meta(object): method __str__ (line 1055) | def __str__(self): class AliasQuerySet (line 1062) | class AliasQuerySet(models.QuerySet): method aka (line 1065) | def aka(self, partial_alias: str): method aka_or_description (line 1074) | def aka_or_description(self, query: str): class AliasesMixin (line 1086) | class AliasesMixin: method aliases_string (line 1090) | def aliases_string(self) -> str: method verbose_string (line 1094) | def verbose_string(self): method get_all_aliases (line 1102) | def get_all_aliases(self): class Room (line 1107) | class Room(models.Model, AliasesMixin): class Meta (line 1125) | class Meta(object): method __str__ (line 1130) | def __str__(self): method get_absolute_url (line 1136) | def get_absolute_url(self): method latitude (line 1140) | def latitude(self): method longitude (line 1145) | def longitude(self): class TreeMixin (line 1150) | class TreeMixin(object): method num_ancestors (line 1153) | def num_ancestors(self): method has_children (line 1159) | def has_children(self): method get_children (line 1163) | def get_children(self): method get_descendants (line 1167) | def get_descendants(self, include_self=False): class Location (line 1177) | class Location(models.Model, TreeMixin, AliasesMixin): class Meta (line 1195) | class Meta(object): method __str__ (line 1200) | def __str__(self): method get_all_rooms (line 1206) | def get_all_rooms(self): method get_absolute_url (line 1212) | def get_absolute_url(self): class Organization (line 1216) | class Organization(models.Model, TreeMixin): class Meta (line 1233) | class Meta(object): method __str__ (line 1238) | def __str__(self): method get_absolute_url (line 1244) | def get_absolute_url(self): method extract_emails (line 1248) | def extract_emails(self): class Category (line 1254) | class Category(models.Model): class Meta (line 1262) | class Meta(object): method __str__ (line 1267) | def __str__(self): method is_gw (line 1270) | def is_gw(self): method is_gsw (line 1274) | def is_gsw(self): method is_sw (line 1278) | def is_sw(self): method is_edge (line 1282) | def is_edge(self): method is_srv (line 1286) | def is_srv(self): method is_other (line 1290) | def is_other(self): class NetboxGroup (line 1295) | class NetboxGroup(models.Model): class Meta (line 1309) | class Meta(object): method __str__ (line 1314) | def __str__(self): method get_absolute_url (line 1317) | def get_absolute_url(self): class NetboxCategory (line 1321) | class NetboxCategory(models.Model): class Meta (line 1333) | class Meta(object): method __str__ (line 1337) | def __str__(self): class NetboxType (line 1341) | class NetboxType(models.Model): class Meta (line 1356) | class Meta(object): method __str__ (line 1360) | def __str__(self): method get_enterprise_id (line 1363) | def get_enterprise_id(self): class Vendor (line 1382) | class Vendor(models.Model): class Meta (line 1388) | class Meta(object): method __str__ (line 1392) | def __str__(self): class GwPortPrefix (line 1400) | class GwPortPrefix(models.Model): class Meta (line 1421) | class Meta(object): method __str__ (line 1424) | def __str__(self): class PrefixManager (line 1428) | class PrefixManager(models.Manager): method contains_ip (line 1429) | def contains_ip(self, ipaddr): method within (line 1446) | def within(self, scope): method private (line 1454) | def private(self): class Prefix (line 1466) | class Prefix(models.Model): class Meta (line 1486) | class Meta(object): method __str__ (line 1489) | def __str__(self): method get_prefix_length (line 1495) | def get_prefix_length(self): method get_prefix_size (line 1500) | def get_prefix_size(self): method get_router_ports (line 1504) | def get_router_ports(self): method get_graph_url (line 1514) | def get_graph_url(self): method get_absolute_url (line 1525) | def get_absolute_url(self): method get_dhcp_graph_urls (line 1528) | def get_dhcp_graph_urls(self): class Vlan (line 1539) | class Vlan(models.Model): class Meta (line 1580) | class Meta(object): method __str__ (line 1583) | def __str__(self): method has_meaningful_net_ident (line 1593) | def has_meaningful_net_ident(self): method get_graph_urls (line 1600) | def get_graph_urls(self): method get_graph_url (line 1604) | def get_graph_url(self, family=4): method get_dhcp_graph_urls (line 1636) | def get_dhcp_graph_urls(self): class NetType (line 1647) | class NetType(models.Model): class Meta (line 1656) | class Meta(object): method __str__ (line 1659) | def __str__(self): class PrefixUsage (line 1663) | class PrefixUsage(models.Model): class Meta (line 1670) | class Meta(object): method __str__ (line 1673) | def __str__(self): class Usage (line 1677) | class Usage(models.Model): class Meta (line 1684) | class Meta(object): method __str__ (line 1689) | def __str__(self): class Arp (line 1693) | class Arp(models.Model): class Meta (line 1719) | class Meta(object): method __str__ (line 1722) | def __str__(self): class SwPortVlan (line 1730) | class SwPortVlan(models.Model): class Meta (line 1763) | class Meta(object): method __str__ (line 1767) | def __str__(self): class SwPortAllowedVlan (line 1771) | class SwPortAllowedVlan(models.Model): class Meta (line 1788) | class Meta(object): method __contains__ (line 1791) | def __contains__(self, item): method get_allowed_vlans (line 1795) | def get_allowed_vlans(self): method vlan_list_to_hex (line 1808) | def vlan_list_to_hex(vlans): method set_allowed_vlans (line 1820) | def set_allowed_vlans(self, vlans): method _calculate_allowed_vlans (line 1823) | def _calculate_allowed_vlans(self): method __str__ (line 1827) | def __str__(self): class SwPortBlocked (line 1831) | class SwPortBlocked(models.Model): class Meta (line 1844) | class Meta(object): method __str__ (line 1848) | def __str__(self): class AdjacencyCandidate (line 1852) | class AdjacencyCandidate(models.Model): class Meta (line 1890) | class Meta(object): method __str__ (line 1896) | def __str__(self): class NetboxVtpVlan (line 1906) | class NetboxVtpVlan(models.Model): class Meta (line 1922) | class Meta(object): method __str__ (line 1926) | def __str__(self): class Cam (line 1930) | class Cam(models.Model): class Meta (line 1952) | class Meta(object): method __str__ (line 1958) | def __str__(self): class Interface (line 1966) | class Interface(models.Model): class Meta (line 2064) | class Meta(object): method __init__ (line 2068) | def __init__(self, *args, **kwargs): method __str__ (line 2074) | def __str__(self): method audit_logname (line 2078) | def audit_logname(self): method vlan_netident (line 2085) | def vlan_netident(self): method sort_ports_by_ifname (line 2095) | def sort_ports_by_ifname(cls, ports): method get_absolute_url (line 2098) | def get_absolute_url(self): method get_vlan_numbers (line 2105) | def get_vlan_numbers(self): method get_allowed_vlan_ranges (line 2118) | def get_allowed_vlan_ranges(self): method get_last_cam_record (line 2130) | def get_last_cam_record(self): method get_active_time (line 2137) | def get_active_time(self, interval=600): method get_port_metrics (line 2174) | def get_port_metrics(self): method get_link_display (line 2195) | def get_link_display(self): method get_trunkvlans_as_range (line 2203) | def get_trunkvlans_as_range(self): method is_swport (line 2227) | def is_swport(self): method is_gwport (line 2231) | def is_gwport(self): method is_physical_port (line 2240) | def is_physical_port(self): method is_admin_up (line 2244) | def is_admin_up(self): method is_oper_up (line 2248) | def is_oper_up(self): method below_me (line 2252) | def below_me(self): method above_me (line 2256) | def above_me(self): method get_aggregator (line 2260) | def get_aggregator(self): method get_bundled_interfaces (line 2273) | def get_bundled_interfaces(self): method is_degraded (line 2277) | def is_degraded(self): method get_sorted_vlans (line 2286) | def get_sorted_vlans(self): method is_on_maintenace (line 2290) | def is_on_maintenace(self): method has_unignored_unrecognized_neighbors (line 2294) | def has_unignored_unrecognized_neighbors(self): class InterfaceStack (line 2303) | class InterfaceStack(models.Model): class Meta (line 2319) | class Meta(object): class InterfaceAggregate (line 2323) | class InterfaceAggregate(models.Model): class Meta (line 2339) | class Meta(object): class IanaIftype (line 2343) | class IanaIftype(models.Model): class Meta (line 2350) | class Meta(object): class RoutingProtocolAttribute (line 2354) | class RoutingProtocolAttribute(models.Model): class Meta (line 2367) | class Meta(object): class GatewayPeerSession (line 2371) | class GatewayPeerSession(models.Model): class Meta (line 2398) | class Meta(object): method get_peer_as_netbox (line 2401) | def get_peer_as_netbox(self): method get_peer_display (line 2412) | def get_peer_display(self): method __repr__ (line 2421) | def __repr__(self): method __str__ (line 2433) | def __str__(self): class Sensor (line 2442) | class Sensor(models.Model): class Meta (line 2610) | class Meta(object): method __str__ (line 2614) | def __str__(self): method get_absolute_url (line 2619) | def get_absolute_url(self): method get_metric_name (line 2622) | def get_metric_name(self): method get_graph_url (line 2625) | def get_graph_url(self, time_frame='1day'): method get_graph (line 2628) | def get_graph(self, format="png"): method get_display_range (line 2662) | def get_display_range(self): method on_message (line 2680) | def on_message(self): method off_message (line 2684) | def off_message(self): method on_state (line 2688) | def on_state(self): method alert_type_class (line 2696) | def alert_type_class(self): method normalized_unit (line 2702) | def normalized_unit(self): method get_display_configuration (line 2718) | def get_display_configuration(self): class PowerSupplyOrFan (line 2729) | class PowerSupplyOrFan(models.Model): class Meta (line 2766) | class Meta(object): method get_unresolved_alerts (line 2769) | def get_unresolved_alerts(self): method is_on_maintenance (line 2775) | def is_on_maintenance(self): method __str__ (line 2779) | def __str__(self): method get_absolute_url (line 2784) | def get_absolute_url(self): method is_psu (line 2789) | def is_psu(self): method is_fan (line 2792) | def is_fan(self): class UnrecognizedNeighbor (line 2796) | class UnrecognizedNeighbor(models.Model): class Meta (line 2816) | class Meta(object): method __str__ (line 2820) | def __str__(self): class IpdevpollJobLog (line 2830) | class IpdevpollJobLog(models.Model): class Meta (line 2845) | class Meta(object): method __str__ (line 2848) | def __str__(self): method is_overdue (line 2857) | def is_overdue(self): method previous (line 2869) | def previous(self): method has_result (line 2882) | def has_result(self): method get_last_runtimes (line 2886) | def get_last_runtimes(self, job_count=30): method get_absolute_url (line 2905) | def get_absolute_url(self): class Netbios (line 2910) | class Netbios(models.Model): class Meta (line 2922) | class Meta(object): class POEGroup (line 2926) | class POEGroup(models.Model): method get_graph_url (line 2956) | def get_graph_url(self, time_frame='1day'): method get_active_ports (line 2960) | def get_active_ports(self): method name (line 2966) | def name(self): class Meta (line 2972) | class Meta(object): class POEPort (line 2978) | class POEPort(models.Model): class Meta (line 3039) | class Meta(object): FILE: python/nav/models/msgmaint.py class Message (line 34) | class Message(models.Model): class Meta (line 61) | class Meta(object): method __str__ (line 64) | def __str__(self): class MaintenanceTaskQuerySet (line 68) | class MaintenanceTaskQuerySet(models.QuerySet): method current (line 71) | def current(self, relative_to=None): method past (line 82) | def past(self, relative_to=None): method future (line 87) | def future(self, relative_to=None): method endless (line 92) | def endless(self): class MaintenanceTask (line 97) | class MaintenanceTask(models.Model): class Meta (line 121) | class Meta(object): method __str__ (line 124) | def __str__(self): method full_representation (line 127) | def full_representation(self): method get_components (line 137) | def get_components(self): method get_event_subjects (line 143) | def get_event_subjects(self): method is_endless (line 164) | def is_endless(self): class MaintenanceComponent (line 169) | class MaintenanceComponent(models.Model): class Meta (line 185) | class Meta(object): method __str__ (line 189) | def __str__(self): method get_component_class (line 192) | def get_component_class(self) -> models.Model: class MessageToMaintenanceTask (line 197) | class MessageToMaintenanceTask(models.Model): class Meta (line 209) | class Meta(object): method __str__ (line 213) | def __str__(self): FILE: python/nav/models/oui.py class OUI (line 6) | class OUI(models.Model): method __str__ (line 12) | def __str__(self): class Meta (line 15) | class Meta(object): FILE: python/nav/models/profiles.py class AccountManager (line 86) | class AccountManager(models.Manager): method get_by_natural_key (line 89) | def get_by_natural_key(self, login): class Account (line 94) | class Account(AbstractBaseUser): class Meta (line 133) | class Meta(object): method __str__ (line 137) | def __str__(self): method natural_key (line 143) | def natural_key(self) -> tuple[str]: method get_absolute_url (line 147) | def get_absolute_url(self): method get_active_profile (line 151) | def get_active_profile(self): method get_groups (line 158) | def get_groups(self): method get_privileges (line 168) | def get_privileges(self): method get_tools (line 180) | def get_tools(self): method has_perm (line 188) | def has_perm(self, action, target): method is_system_account (line 206) | def is_system_account(self): method is_default_account (line 210) | def is_default_account(self): method is_admin_account (line 214) | def is_admin_account(self): method is_admin (line 218) | def is_admin(self): method is_anonymous (line 223) | def is_anonymous(self): method is_authenticated (line 228) | def is_authenticated(self): method is_staff (line 233) | def is_staff(self): method is_superuser (line 243) | def is_superuser(self): method username (line 253) | def username(self): method set_password (line 258) | def set_password(self, password): method check_password (line 272) | def check_password(self, password): method has_old_style_password_hash (line 304) | def has_old_style_password_hash(self): method has_plaintext_password (line 308) | def has_plaintext_password(self): method has_deprecated_password_hash_method (line 317) | def has_deprecated_password_hash_method(self): method has_password_issues (line 325) | def has_password_issues(self): method _verify_old_password_hash_and_rehash (line 338) | def _verify_old_password_hash_and_rehash(self, password): method locked (line 352) | def locked(self): method is_active (line 356) | def is_active(self): method locked (line 361) | def locked(self, value): method password_hash (line 368) | def password_hash(self): method unlocked_password (line 375) | def unlocked_password(self): method get_email_addresses (line 382) | def get_email_addresses(self): method has_default_dashboard (line 386) | def has_default_dashboard(self): method default_dashboard (line 391) | def default_dashboard(self): method set_default_dashboard (line 399) | def set_default_dashboard(self, dashboard_id: int): class AccountGroup (line 416) | class AccountGroup(models.Model): class Meta (line 433) | class Meta(object): method __str__ (line 437) | def __str__(self): method is_system_group (line 440) | def is_system_group(self): method is_protected_group (line 444) | def is_protected_group(self): method is_admin_group (line 452) | def is_admin_group(self): class NavbarLink (line 457) | class NavbarLink(models.Model): class Meta (line 469) | class Meta(object): method __str__ (line 473) | def __str__(self): class Privilege (line 477) | class Privilege(models.Model): class Meta (line 494) | class Meta(object): method __str__ (line 497) | def __str__(self): class PrivilegeType (line 501) | class PrivilegeType(models.Model): class Meta (line 507) | class Meta(object): method __str__ (line 510) | def __str__(self): class AlertAddress (line 514) | class AlertAddress(models.Model): class Meta (line 536) | class Meta(object): method __str__ (line 539) | def __str__(self): method has_valid_address (line 542) | def has_valid_address(self): method send (line 549) | def send(self, alert, subscription): class AlertSender (line 622) | class AlertSender(models.Model): method __str__ (line 638) | def __str__(self): method send (line 642) | def send(self, *args, **kwargs): method load_dispatcher_class (line 658) | def load_dispatcher_class(self): method blacklist (line 675) | def blacklist(self, reason=None): method scheme (line 680) | def scheme(self): class Meta (line 683) | class Meta(object): class AlertPreference (line 687) | class AlertPreference(models.Model): class Meta (line 707) | class Meta(object): method __str__ (line 710) | def __str__(self): class AlertProfile (line 718) | class AlertProfile(models.Model): class Meta (line 751) | class Meta(object): method __str__ (line 754) | def __str__(self): method get_active_timeperiod (line 757) | def get_active_timeperiod(self): class TimePeriod (line 802) | class TimePeriod(models.Model): class Meta (line 824) | class Meta(object): method __str__ (line 827) | def __str__(self): class AlertSubscription (line 835) | class AlertSubscription(models.Model): class Meta (line 873) | class Meta(object): method delete (line 876) | def delete(self): method __str__ (line 881) | def __str__(self): class FilterGroupContent (line 893) | class FilterGroupContent(models.Model): class Meta (line 927) | class Meta(object): method __str__ (line 931) | def __str__(self): class Operator (line 943) | class Operator(models.Model): class Meta (line 1019) | class Meta(object): method __str__ (line 1023) | def __str__(self): method get_operator_mapping (line 1026) | def get_operator_mapping(self): method get_ip_operator_mapping (line 1030) | def get_ip_operator_mapping(self): class Expression (line 1035) | class Expression(models.Model): class Meta (line 1054) | class Meta(object): method __str__ (line 1057) | def __str__(self): method get_operator_mapping (line 1064) | def get_operator_mapping(self): class Filter (line 1069) | class Filter(models.Model): class Meta (line 1083) | class Meta(object): method __str__ (line 1086) | def __str__(self): method verify (line 1089) | def verify(self, alert): class FilterGroup (line 1201) | class FilterGroup(models.Model): class Meta (line 1222) | class Meta(object): method __str__ (line 1225) | def __str__(self): class MatchField (line 1229) | class MatchField(models.Model): class Meta (line 1400) | class Meta(object): method __str__ (line 1403) | def __str__(self): method get_lookup_mapping (line 1406) | def get_lookup_mapping(self): class SMSQueue (line 1429) | class SMSQueue(models.Model): class Meta (line 1457) | class Meta(object): method __str__ (line 1460) | def __str__(self): method save (line 1463) | def save(self, *args, **kwargs): class AccountAlertQueue (line 1471) | class AccountAlertQueue(models.Model): class Meta (line 1494) | class Meta(object): method delete (line 1497) | def delete(self, *args, **kwargs): method send (line 1513) | def send(self): class NetmapView (line 1561) | class NetmapView(models.Model): method __str__ (line 1585) | def __str__(self): method topology_unicode (line 1588) | def topology_unicode(self): method get_absolute_url (line 1591) | def get_absolute_url(self): method get_set_defaultview_url (line 1594) | def get_set_defaultview_url(self): class Meta (line 1598) | class Meta(object): class NetmapViewDefaultView (line 1602) | class NetmapViewDefaultView(models.Model): class Meta (line 1619) | class Meta(object): method __repr__ (line 1622) | def __repr__(self): class NetmapViewCategories (line 1628) | class NetmapViewCategories(models.Model): method __str__ (line 1645) | def __str__(self): class Meta (line 1648) | class Meta(object): class NetmapViewNodePosition (line 1653) | class NetmapViewNodePosition(models.Model): class Meta (line 1672) | class Meta(object): class AccountTool (line 1676) | class AccountTool(models.Model): method __str__ (line 1690) | def __str__(self): class Meta (line 1693) | class Meta(object): class AccountDashboard (line 1697) | class AccountDashboard(models.Model): method __str__ (line 1714) | def __str__(self): method get_absolute_url (line 1717) | def get_absolute_url(self): method to_json_dict (line 1720) | def to_json_dict(self): method can_access (line 1732) | def can_access(self, account): method can_edit (line 1735) | def can_edit(self, account): method is_subscribed (line 1740) | def is_subscribed(self, account): method is_default_for_account (line 1743) | def is_default_for_account(self, account): class Meta (line 1747) | class Meta(object): class AccountDefaultDashboard (line 1752) | class AccountDefaultDashboard(models.Model): class Meta (line 1767) | class Meta: class AccountDashboardSubscription (line 1771) | class AccountDashboardSubscription(models.Model): class Meta (line 1785) | class Meta(object): class AccountNavlet (line 1790) | class AccountNavlet(models.Model): method __str__ (line 1809) | def __str__(self): method to_json_dict (line 1812) | def to_json_dict(self): class Meta (line 1820) | class Meta(object): class ReportSubscription (line 1825) | class ReportSubscription(models.Model): class Meta (line 1850) | class Meta(object): method __str__ (line 1853) | def __str__(self): method serialize (line 1868) | def serialize(self): method get_period_description (line 1874) | def get_period_description(period): method get_type_description (line 1878) | def get_type_description(report_type): FILE: python/nav/models/rack.py class RackManager (line 28) | class RackManager(models.Manager): method get_all_sensor_pks_in_room (line 31) | def get_all_sensor_pks_in_room(self, room): class RackEncoder (line 42) | class RackEncoder(json.JSONEncoder): method default (line 45) | def default(self, obj): class Rack (line 52) | class Rack(models.Model): class Meta (line 69) | class Meta(object): method __str__ (line 72) | def __str__(self): method configuration (line 76) | def configuration(self): method _column (line 101) | def _column(self, column): method left_column (line 105) | def left_column(self): method right_column (line 110) | def right_column(self): method center_column (line 115) | def center_column(self): method add_left_item (line 119) | def add_left_item(self, item): method add_center_item (line 127) | def add_center_item(self, item): method add_right_item (line 135) | def add_right_item(self, item): method remove_left_item (line 143) | def remove_left_item(self, index): method remove_center_item (line 149) | def remove_center_item(self, index): method remove_right_item (line 155) | def remove_right_item(self, index): method get_all_sensor_pks (line 161) | def get_all_sensor_pks(self): function rack_decoder (line 168) | def rack_decoder(obj): class BaseRackItem (line 180) | class BaseRackItem(object): method __init__ (line 186) | def __init__(self, id=None, **kwargs): method to_json (line 189) | def to_json(self): method title (line 196) | def title(self): method get_metric (line 200) | def get_metric(self): method unit_of_measurement (line 204) | def unit_of_measurement(self): method get_absolute_url (line 211) | def get_absolute_url(self): method human_readable (line 215) | def human_readable(self): method get_display_range (line 219) | def get_display_range(self): method get_display_configuration (line 226) | def get_display_configuration(self): class SensorRackItem (line 231) | class SensorRackItem(BaseRackItem): method __init__ (line 234) | def __init__(self, sensor, **kwargs): method to_json (line 243) | def to_json(self): method title (line 248) | def title(self): method get_metric (line 254) | def get_metric(self): method unit_of_measurement (line 258) | def unit_of_measurement(self): method get_absolute_url (line 262) | def get_absolute_url(self): method human_readable (line 266) | def human_readable(self): method get_display_range (line 270) | def get_display_range(self): method get_display_configuration (line 276) | def get_display_configuration(self): method sensor_exists (line 281) | def sensor_exists(self): class SensorsDiffRackItem (line 285) | class SensorsDiffRackItem(BaseRackItem): method __init__ (line 288) | def __init__(self, minuend, subtrahend, **kwargs): method to_json (line 303) | def to_json(self): method title (line 309) | def title(self): method get_metric (line 312) | def get_metric(self): method unit_of_measurement (line 318) | def unit_of_measurement(self): method get_absolute_url (line 321) | def get_absolute_url(self): method human_readable (line 324) | def human_readable(self): method get_display_range (line 329) | def get_display_range(self): class SensorsSumRackItem (line 333) | class SensorsSumRackItem(BaseRackItem): method __init__ (line 336) | def __init__(self, title, sensors, **kwargs): method to_json (line 347) | def to_json(self): method title (line 353) | def title(self): method get_metric (line 356) | def get_metric(self): method unit_of_measurement (line 361) | def unit_of_measurement(self): method get_absolute_url (line 366) | def get_absolute_url(self): method human_readable (line 369) | def human_readable(self): method get_display_range (line 372) | def get_display_range(self): FILE: python/nav/models/service.py class Service (line 32) | class Service(models.Model): class Meta (line 58) | class Meta(object): method __str__ (line 62) | def __str__(self): method get_statistics (line 65) | def get_statistics(self): method is_on_maintenance (line 93) | def is_on_maintenance(self): method last_downtime_ended (line 106) | def last_downtime_ended(self): method get_handler_description (line 122) | def get_handler_description(self): class ServiceProperty (line 136) | class ServiceProperty(models.Model): class Meta (line 150) | class Meta(object): method __str__ (line 154) | def __str__(self): FILE: python/nav/models/sql/baseline/arnold.sql type blocked_reason (line 1) | CREATE TABLE blocked_reason ( type identity (line 7) | CREATE TABLE identity ( type event (line 30) | CREATE TABLE event ( type quarantine_vlans (line 43) | CREATE TABLE quarantine_vlans ( type block (line 53) | CREATE TABLE block ( FILE: python/nav/models/sql/baseline/indexes.sql type vlan_vlan_btree (line 11) | CREATE INDEX vlan_vlan_btree ON vlan USING btree (vlan) type prefix_vlanid_btree (line 13) | CREATE INDEX prefix_vlanid_btree ON prefix USING btree (vlanid) type interface_to_interfaceid_btree (line 15) | CREATE INDEX interface_to_interfaceid_btree ON interface USING btree (to... type gwportprefix_interfaceid_btree (line 17) | CREATE INDEX gwportprefix_interfaceid_btree ON gwportprefix USING btree ... type gwportprefix_prefixid_btree (line 18) | CREATE INDEX gwportprefix_prefixid_btree ON gwportprefix USING btree (pr... type swportvlan_interfaceid_btree (line 20) | CREATE INDEX swportvlan_interfaceid_btree ON swportvlan USING btree (int... type swportvlan_vlanid_btree (line 21) | CREATE INDEX swportvlan_vlanid_btree ON swportvlan USING btree (vlanid) type arp_netboxid_btree (line 23) | CREATE INDEX arp_netboxid_btree ON arp USING btree (netboxid) type arp_mac_btree (line 24) | CREATE INDEX arp_mac_btree ON arp USING btree (mac) type arp_ip_btree (line 25) | CREATE INDEX arp_ip_btree ON arp USING btree (ip) type arp_start_time_btree (line 26) | CREATE INDEX arp_start_time_btree ON arp USING btree (start_time) type arp_end_time_btree (line 27) | CREATE INDEX arp_end_time_btree ON arp USING btree (end_time) type arp_prefixid_btree (line 28) | CREATE INDEX arp_prefixid_btree ON arp USING btree (prefixid) type cam_mac_btree (line 30) | CREATE INDEX cam_mac_btree ON cam USING btree (mac) type cam_end_time_btree (line 31) | CREATE INDEX cam_end_time_btree ON cam USING btree (end_time) type cam_misscnt_btree (line 32) | CREATE INDEX cam_misscnt_btree ON cam USING btree (misscnt) type cam_netboxid_ifindex_end_time_btree (line 33) | CREATE INDEX cam_netboxid_ifindex_end_time_btree ON cam USING btree (net... type cam_netboxid_start_time_btree (line 35) | CREATE INDEX cam_netboxid_start_time_btree ON cam USING btree (netboxid,... type eventq_target_btree (line 37) | CREATE INDEX eventq_target_btree ON eventq USING btree (target) type eventqvar_eventqid_btree (line 39) | CREATE INDEX eventqvar_eventqid_btree ON eventqvar USING btree (eventqid) type alertqmsg_alertqid_btree (line 41) | CREATE INDEX alertqmsg_alertqid_btree ON alertqmsg USING btree (alertqid) type alertqvar_alertqid_btree (line 43) | CREATE INDEX alertqvar_alertqid_btree ON alertqvar USING btree (alertqid) type alerthist_start_time_btree (line 45) | CREATE INDEX alerthist_start_time_btree ON alerthist USING btree (start_... type alerthist_end_time_btree (line 46) | CREATE INDEX alerthist_end_time_btree ON alerthist USING btree (end_time) type alerthistmsg_alerthistid_btree (line 48) | CREATE INDEX alerthistmsg_alerthistid_btree ON alerthistmsg USING btree ... type alerthistvar_alerthistid_btree (line 50) | CREATE INDEX alerthistvar_alerthistid_btree ON alerthistvar USING btree ... type alerthist_open_states_by_eventtype (line 52) | CREATE INDEX alerthist_open_states_by_eventtype ON alerthist USING btree... type cam_open_records_by_netbox (line 54) | CREATE INDEX cam_open_records_by_netbox ON cam USING btree (netboxid) WH... type ipdevpoll_job_log_netboxjob_btree (line 56) | CREATE INDEX ipdevpoll_job_log_netboxjob_btree ON ipdevpoll_job_log (net... type interface_stack_higher (line 58) | CREATE INDEX interface_stack_higher ON interface_stack (higher) type interface_stack_lower (line 59) | CREATE INDEX interface_stack_lower ON interface_stack (lower) type netbios_ip (line 62) | CREATE INDEX netbios_ip ON manage.netbios (ip) type interface_aggregate_aggregator (line 64) | CREATE INDEX interface_aggregate_aggregator ON interface_aggregate (aggr... type interface_aggregate_interface (line 65) | CREATE INDEX interface_aggregate_interface ON interface_aggregate (inter... type account_idx (line 73) | CREATE INDEX account_idx ON Account(login) type log_message_type_btree (line 81) | CREATE INDEX log_message_type_btree ON log_message USING btree (type) type log_message_origin_btree (line 82) | CREATE INDEX log_message_origin_btree ON log_message USING btree (origin) type log_message_time_btree (line 83) | CREATE INDEX log_message_time_btree ON log_message USING btree (time) type log_message_expiration_btree (line 86) | CREATE INDEX log_message_expiration_btree ON log_message USING btree(new... type radiusacct_active_user_idx (line 93) | CREATE INDEX radiusacct_active_user_idx ON radiusacct (UserName) WHERE A... type radiusacct_start_user_index (line 95) | CREATE INDEX radiusacct_start_user_index ON radiusacct (AcctStartTime, l... type radiusacct_stop_user_index (line 96) | CREATE INDEX radiusacct_stop_user_index ON radiusacct (AcctStopTime, low... type radiuslog_time_index (line 98) | CREATE INDEX radiuslog_time_index ON radiuslog(time) type radiuslog_username_index (line 99) | CREATE INDEX radiuslog_username_index ON radiuslog(lower(UserName)) FILE: python/nav/models/sql/baseline/logger.sql type priority (line 6) | CREATE TABLE priority ( type log_message_type (line 17) | CREATE TABLE log_message_type ( type category (line 30) | CREATE TABLE category ( type origin (line 39) | CREATE TABLE origin ( type log_message (line 51) | CREATE TABLE log_message ( type errorerror (line 66) | CREATE TABLE errorerror ( type message_view (line 75) | CREATE VIEW message_view AS FILE: python/nav/models/sql/baseline/manage.sql type org (line 23) | CREATE TABLE org ( type usage (line 34) | CREATE TABLE usage ( type location (line 40) | CREATE TABLE location ( type room (line 48) | CREATE TABLE room ( type nettype (line 57) | CREATE TABLE nettype ( type vlan (line 74) | CREATE TABLE vlan ( type prefix (line 84) | CREATE TABLE prefix ( type vendor (line 91) | CREATE TABLE vendor ( type cat (line 95) | CREATE TABLE cat ( type device (line 112) | CREATE TABLE device ( type type (line 122) | CREATE TABLE type ( type netbox (line 132) | CREATE TABLE netbox ( type netboxprefix (line 154) | CREATE VIEW netboxprefix AS type netbox_vtpvlan (line 163) | CREATE TABLE netbox_vtpvlan ( type netboxgroup (line 171) | CREATE TABLE netboxgroup ( type netboxcategory (line 193) | CREATE TABLE netboxcategory ( type netboxinfo (line 201) | CREATE TABLE netboxinfo ( type module (line 210) | CREATE TABLE module ( type mem (line 224) | CREATE TABLE mem ( type interface (line 237) | CREATE TABLE interface ( type iana_iftype (line 290) | CREATE TABLE iana_iftype ( type gwportprefix (line 298) | CREATE TABLE gwportprefix ( type rproto_attr (line 307) | CREATE TABLE rproto_attr ( type swportvlan (line 321) | CREATE TABLE swportvlan ( type swportallowedvlan (line 329) | CREATE TABLE swportallowedvlan ( type swportblocked (line 335) | CREATE TABLE swportblocked ( type swport (line 344) | CREATE VIEW swport AS ( type gwport (line 371) | CREATE VIEW gwport AS ( type interface_swport (line 396) | CREATE VIEW interface_swport AS ( type interface_gwport (line 413) | CREATE VIEW interface_gwport AS ( type cabling (line 429) | CREATE TABLE cabling ( type patch (line 439) | CREATE TABLE patch ( function remove_floating_devices (line 449) | CREATE OR REPLACE FUNCTION remove_floating_devices() RETURNS TRIGGER AS ' type arp (line 474) | CREATE TABLE arp ( type manage (line 491) | CREATE OR REPLACE VIEW manage.live_clients AS type cam (line 496) | CREATE TABLE cam ( type prefix_active_ip_cnt (line 522) | CREATE VIEW prefix_active_ip_cnt AS type prefix_max_ip_cnt (line 529) | CREATE VIEW prefix_max_ip_cnt AS type allowedvlan (line 537) | CREATE VIEW allowedvlan AS ( type allowedvlan_both (line 554) | CREATE VIEW allowedvlan_both AS type subsystem (line 565) | CREATE TABLE subsystem ( type eventtype (line 593) | CREATE TABLE eventtype ( type eventq (line 637) | CREATE TABLE eventq ( type eventqvar (line 652) | CREATE TABLE eventqvar ( type alerttype (line 667) | CREATE TABLE alerttype ( type alerthist (line 753) | CREATE TABLE alerthist ( type alerthistmsg (line 775) | CREATE TABLE alerthistmsg ( type alerthistvar (line 786) | CREATE TABLE alerthistvar ( type alertq (line 797) | CREATE TABLE alertq ( type alertqmsg (line 814) | CREATE TABLE alertqmsg ( type alertqvar (line 824) | CREATE TABLE alertqvar ( type service (line 838) | CREATE TABLE service ( type serviceproperty (line 847) | CREATE TABLE serviceproperty ( type message (line 859) | CREATE TABLE message ( function message_replace (line 872) | CREATE OR REPLACE FUNCTION message_replace() RETURNS TRIGGER AS ' type message_with_replaced (line 911) | CREATE OR REPLACE VIEW message_with_replaced AS type maint_task (line 935) | CREATE TABLE maint_task ( type maint_component (line 944) | CREATE TABLE maint_component ( type message_to_maint_task (line 952) | CREATE TABLE message_to_maint_task ( type maint (line 959) | CREATE OR REPLACE VIEW maint AS type schema_change_log (line 965) | CREATE TABLE schema_change_log ( type manage (line 981) | CREATE TABLE manage.sensor ( type manage (line 994) | CREATE TABLE manage.powersupply_or_fan ( type manage (line 1025) | CREATE TABLE manage.adjacency_candidate ( type manage (line 1039) | CREATE TABLE manage.unrecognized_neighbor ( type manage (line 1056) | CREATE TABLE manage.ipdevpoll_job_log ( function close_snmpagentstates_on_community_clear (line 1073) | CREATE OR REPLACE FUNCTION close_snmpagentstates_on_community_clear() type netboxentity (line 1183) | CREATE TABLE netboxentity ( type enterprise_number (line 1255) | CREATE VIEW enterprise_number AS type manage (line 1270) | CREATE TABLE manage.interface_aggregate ( type prefix_usage (line 1279) | CREATE TABLE prefix_usage ( FILE: python/nav/models/sql/baseline/manage2.sql type manage (line 15) | CREATE TABLE manage.macwatch ( type macwatch_match (line 29) | CREATE TABLE macwatch_match ( type image (line 40) | CREATE TABLE image ( type apitoken (line 54) | CREATE TABLE apitoken ( type manage (line 71) | CREATE TABLE manage.thresholdrule ( function close_thresholdstate_on_thresholdrule_delete (line 89) | CREATE OR REPLACE FUNCTION close_thresholdstate_on_thresholdrule_delete() type manage (line 115) | CREATE TABLE manage.alerthist_ack ( FILE: python/nav/models/sql/baseline/navprofiles.sql type alertsender (line 31) | CREATE TABLE alertsender ( type Account (line 54) | CREATE TABLE Account ( function group_membership (line 68) | CREATE OR REPLACE FUNCTION group_membership() RETURNS trigger AS $group_... type AccountGroup (line 90) | CREATE TABLE AccountGroup ( type accountgroup_accounts (line 102) | CREATE TABLE accountgroup_accounts ( type accountingroup (line 123) | CREATE VIEW accountingroup AS ( type AccountProperty (line 141) | CREATE TABLE AccountProperty ( type alertaddress (line 169) | CREATE TABLE alertaddress ( type alertprofile (line 204) | CREATE TABLE alertprofile ( type alertpreference (line 229) | CREATE TABLE alertpreference ( type timeperiod (line 262) | CREATE TABLE timeperiod ( type filtergroup (line 287) | CREATE TABLE filtergroup ( type alertsubscription (line 315) | CREATE TABLE alertsubscription ( type filtergroup_group_permission (line 352) | CREATE TABLE filtergroup_group_permission ( type filter (line 382) | CREATE TABLE filter ( type filtergroupcontent (line 408) | CREATE TABLE filtergroupcontent ( type MatchField (line 445) | CREATE TABLE MatchField ( type expression (line 471) | CREATE TABLE expression ( type Operator (line 500) | CREATE TABLE Operator ( type smsq (line 521) | CREATE TABLE smsq ( type accountalertqueue (line 547) | CREATE TABLE accountalertqueue ( type NavbarLink (line 582) | CREATE TABLE NavbarLink ( type AccountOrg (line 606) | CREATE TABLE AccountOrg ( type Privilege (line 632) | CREATE TABLE Privilege ( type AccountGroupPrivilege (line 648) | CREATE TABLE AccountGroupPrivilege ( type PrivilegeByGroup (line 672) | CREATE VIEW PrivilegeByGroup AS ( type statuspreference (line 684) | CREATE TABLE statuspreference ( type statuspreference_organization (line 703) | CREATE TABLE statuspreference_organization ( type statuspreference_category (line 723) | CREATE TABLE statuspreference_category ( type profiles (line 1067) | CREATE TABLE profiles.netmap_view ( type profiles (line 1084) | CREATE TABLE profiles.netmap_view_categories ( type profiles (line 1091) | CREATE TABLE profiles.netmap_view_nodeposition ( type profiles (line 1101) | CREATE TABLE profiles.netmap_view_defaultview ( type profiles (line 1109) | CREATE TABLE profiles.accounttool( type profiles (line 1120) | CREATE TABLE profiles.django_session ( type profiles (line 1127) | CREATE TABLE profiles.account_dashboard ( type profiles (line 1137) | CREATE TABLE IF NOT EXISTS profiles.account_navlet ( function insert_default_navlets_for_existing_users (line 1155) | CREATE OR REPLACE FUNCTION insert_default_navlets_for_existing_users() R... function create_new_dashboard (line 1202) | CREATE OR REPLACE FUNCTION create_new_dashboard() RETURNS trigger AS $$ FILE: python/nav/models/sql/baseline/radius.sql type radiusacct (line 23) | CREATE TABLE radiusacct ( type radiuslog (line 46) | CREATE TABLE radiuslog ( FILE: python/nav/models/sql/changes/sc.03.08.0000.sql type manage (line 3) | CREATE TABLE manage.schema_change_log ( FILE: python/nav/models/sql/changes/sc.03.09.0001.sql type manage (line 9) | CREATE TABLE manage.macwatch ( FILE: python/nav/models/sql/changes/sc.03.10.0001.sql type manage (line 1) | CREATE TABLE manage.sensor ( FILE: python/nav/models/sql/changes/sc.03.10.0002.sql type manage (line 1) | CREATE TABLE manage.powersupply_or_fan ( FILE: python/nav/models/sql/changes/sc.03.11.0001.sql type manage (line 3) | CREATE OR REPLACE VIEW manage.netboxmac AS FILE: python/nav/models/sql/changes/sc.03.11.0003.sql type manage (line 2) | CREATE TABLE manage.adjacency_candidate ( FILE: python/nav/models/sql/changes/sc.03.11.0004.sql type manage (line 7) | CREATE TABLE manage.adjacency_candidate ( FILE: python/nav/models/sql/changes/sc.03.11.0007.sql type manage (line 2) | CREATE TABLE manage.unrecognized_neighbor ( FILE: python/nav/models/sql/changes/sc.03.11.0010.sql type alerthist_open_states_by_eventtype (line 2) | CREATE INDEX alerthist_open_states_by_eventtype ON alerthist USING btree... FILE: python/nav/models/sql/changes/sc.03.11.0011.sql type cam_open_records_by_netbox (line 2) | CREATE INDEX cam_open_records_by_netbox ON cam USING btree (netboxid) WH... FILE: python/nav/models/sql/changes/sc.03.12.0001.sql type profiles (line 2) | CREATE TABLE profiles.netmap_view ( type profiles (line 14) | CREATE TABLE profiles.netmap_view_categories ( type profiles (line 21) | CREATE TABLE profiles.netmap_view_nodeposition ( FILE: python/nav/models/sql/changes/sc.03.12.0005.sql type profiles (line 2) | CREATE TABLE profiles.netmap_view_defaultview ( FILE: python/nav/models/sql/changes/sc.03.12.0026.sql type manage (line 3) | CREATE TABLE manage.ipdevpoll_job_log ( type ipdevpoll_job_log_netboxjob_btree (line 17) | CREATE INDEX ipdevpoll_job_log_netboxjob_btree FILE: python/nav/models/sql/changes/sc.03.12.0027.sql function trim_old_ipdevpoll_job_log_entries (line 2) | CREATE OR REPLACE FUNCTION trim_old_ipdevpoll_job_log_entries() FILE: python/nav/models/sql/changes/sc.03.12.0100.sql function trim_old_ipdevpoll_job_log_entries (line 2) | CREATE OR REPLACE FUNCTION trim_old_ipdevpoll_job_log_entries() FILE: python/nav/models/sql/changes/sc.03.13.0001.sql type manage (line 2) | CREATE TABLE manage.macwatch_match( FILE: python/nav/models/sql/changes/sc.03.13.0010.sql type rrd_datasource_rrd_fileid_btree (line 2) | CREATE INDEX rrd_datasource_rrd_fileid_btree ON rrd_datasource(rrd_fileid) FILE: python/nav/models/sql/changes/sc.03.14.0001.sql type manage (line 3) | CREATE TABLE manage.netbios ( FILE: python/nav/models/sql/changes/sc.03.14.0002.sql type profiles (line 2) | CREATE TABLE profiles.tool( type profiles (line 11) | CREATE TABLE profiles.accounttool( FILE: python/nav/models/sql/changes/sc.03.14.0003.sql type profiles (line 5) | CREATE TABLE profiles.accounttool( FILE: python/nav/models/sql/changes/sc.03.14.0005.sql type manage (line 2) | CREATE OR REPLACE VIEW manage.prefix_active_ip_cnt AS FILE: python/nav/models/sql/changes/sc.03.15.0001.sql type profiles (line 2) | CREATE TABLE profiles.django_session ( FILE: python/nav/models/sql/changes/sc.03.15.0002.sql type manage (line 3) | CREATE TABLE manage.image ( FILE: python/nav/models/sql/changes/sc.03.15.0003.sql type manage (line 2) | CREATE TABLE manage.interface_stack ( type interface_stack_higher (line 9) | CREATE INDEX interface_stack_higher ON interface_stack (higher) type interface_stack_lower (line 10) | CREATE INDEX interface_stack_lower ON interface_stack (lower) FILE: python/nav/models/sql/changes/sc.03.15.0070.sql type manage (line 3) | CREATE TABLE manage.apitoken ( FILE: python/nav/models/sql/changes/sc.03.15.0071.sql type netbios_ip (line 3) | CREATE INDEX netbios_ip ON manage.netbios (ip) FILE: python/nav/models/sql/changes/sc.03.15.0100.sql type profiles (line 3) | CREATE TABLE IF NOT EXISTS profiles.account_navlet ( FILE: python/nav/models/sql/changes/sc.03.15.0101.sql function insert_default_navlets_for_existing_users (line 13) | CREATE OR REPLACE FUNCTION insert_default_navlets_for_existing_users() R... function insert_default_navlets_for_new_users (line 33) | CREATE OR REPLACE FUNCTION insert_default_navlets_for_new_users() RETURN... FILE: python/nav/models/sql/changes/sc.03.15.0104.sql type manage (line 2) | CREATE OR REPLACE VIEW manage.netboxmac AS FILE: python/nav/models/sql/changes/sc.04.00.0002.sql type manage (line 1) | CREATE TABLE manage.thresholdrule ( FILE: python/nav/models/sql/changes/sc.04.00.0003.sql function close_thresholdstate_on_thresholdrule_delete (line 2) | CREATE OR REPLACE FUNCTION close_thresholdstate_on_thresholdrule_delete() FILE: python/nav/models/sql/changes/sc.04.00.0017.sql function insert_default_navlets_for_existing_users (line 9) | CREATE OR REPLACE FUNCTION insert_default_navlets_for_existing_users() R... function insert_default_navlets_for_new_users (line 35) | CREATE OR REPLACE FUNCTION insert_default_navlets_for_new_users() RETURN... FILE: python/nav/models/sql/changes/sc.04.02.0001.sql type manage (line 1) | CREATE TABLE manage.alerthist_ack ( FILE: python/nav/models/sql/changes/sc.04.02.0102.sql function trim_old_ipdevpoll_job_log_entries (line 5) | CREATE OR REPLACE FUNCTION trim_old_ipdevpoll_job_log_entries() FILE: python/nav/models/sql/changes/sc.04.02.0103.sql function never_use_null_subid (line 1) | CREATE OR REPLACE FUNCTION never_use_null_subid() FILE: python/nav/models/sql/changes/sc.04.03.0002.sql type manage (line 1) | CREATE TABLE manage.netboxentity ( FILE: python/nav/models/sql/changes/sc.04.04.0001.sql type enterprise_number (line 2) | CREATE VIEW enterprise_number AS FILE: python/nav/models/sql/changes/sc.04.06.0001.sql type manage (line 2) | CREATE TABLE manage.interface_aggregate ( type interface_aggregate_aggregator (line 9) | CREATE INDEX interface_aggregate_aggregator ON interface_aggregate (aggr... type interface_aggregate_interface (line 10) | CREATE INDEX interface_aggregate_interface ON interface_aggregate (inter... FILE: python/nav/models/sql/changes/sc.04.06.0051.sql type profiles (line 2) | CREATE TABLE profiles.account_dashboard ( FILE: python/nav/models/sql/changes/sc.04.06.0052.sql type manage (line 2) | CREATE TABLE IF NOT EXISTS manage.prefix_usage ( FILE: python/nav/models/sql/changes/sc.04.06.0054.sql function create_new_dashboard (line 8) | CREATE OR REPLACE FUNCTION create_new_dashboard() RETURNS trigger AS $$ FILE: python/nav/models/sql/changes/sc.04.07.0001.sql type manage (line 1) | CREATE TABLE manage.peersession ( function peersession_update_timestamp (line 24) | CREATE OR REPLACE FUNCTION peersession_update_timestamp() FILE: python/nav/models/sql/changes/sc.04.07.0060.sql type manage (line 3) | CREATE TABLE IF NOT EXISTS manage.rack ( FILE: python/nav/models/sql/changes/sc.04.07.0100.sql type "manage" (line 1) | CREATE TABLE "manage"."auditlog_logentry" ( type "manage" (line 17) | CREATE INDEX "auditlog_logentry_b512ddf1" ON "manage"."auditlog_logentry... type "manage" (line 18) | CREATE INDEX "auditlog_logentry_verb_210dd763c4f184d9_like" ON "manage".... FILE: python/nav/models/sql/changes/sc.04.08.0020.sql type manage (line 1) | CREATE OR REPLACE VIEW manage.netboxmac as FILE: python/nav/models/sql/changes/sc.04.08.0050.sql type profiles (line 1) | CREATE TABLE IF NOT EXISTS profiles.report_subscription ( FILE: python/nav/models/sql/changes/sc.04.08.0410.sql type manage (line 1) | CREATE TABLE manage.poegroup ( type manage (line 11) | CREATE TABLE manage.poeport ( FILE: python/nav/models/sql/changes/sc.05.00.0010.sql type "manage" (line 1) | CREATE TABLE "manage".management_profile( type "manage" (line 9) | CREATE TABLE "manage".netbox_profile FILE: python/nav/models/sql/changes/sc.05.00.0020.sql type manage (line 1) | CREATE OR REPLACE VIEW manage.netboxmac as FILE: python/nav/models/sql/changes/sc.05.02.0001.sql function pg_temp (line 6) | CREATE FUNCTION pg_temp.severitymap(numeric) RETURNS numeric AS FILE: python/nav/models/sql/changes/sc.05.11.0001.sql type manage (line 1) | CREATE TABLE manage.oui ( FILE: python/nav/models/sql/changes/sc.05.14.0001.sql type manage (line 1) | CREATE TABLE manage.jwtrefreshtoken ( FILE: python/nav/models/sql/changes/sc.05.15.0001.sql type profiles (line 4) | CREATE TABLE profiles.account_dashboard_subscription ( FILE: python/nav/models/sql/changes/sc.05.15.0502.sql type profiles (line 7) | CREATE TABLE profiles.django_content_type (id integer NOT NULL PRIMARY K... type profiles (line 16) | CREATE TABLE profiles.auth_permission (id integer NOT NULL PRIMARY KEY G... type profiles (line 21) | CREATE TABLE profiles.auth_group (id integer NOT NULL PRIMARY KEY GENERA... type profiles (line 22) | CREATE TABLE profiles.auth_group_permissions (id integer NOT NULL PRIMAR... type auth_permission_content_type_id_2f476e4b (line 26) | CREATE INDEX auth_permission_content_type_id_2f476e4b ON auth_permission... type auth_group_name_a6ea08ec_like (line 27) | CREATE INDEX auth_group_name_a6ea08ec_like ON auth_group (name varchar_p... type auth_group_permissions_group_id_b120cbf9 (line 31) | CREATE INDEX auth_group_permissions_group_id_b120cbf9 ON auth_group_perm... type auth_group_permissions_permission_id_84c5c92e (line 32) | CREATE INDEX auth_group_permissions_permission_id_84c5c92e ON auth_group... FILE: python/nav/models/sql/changes/sc.05.17.0002.sql type profiles (line 1) | CREATE TABLE profiles.account_default_dashboard ( FILE: python/nav/models/sql/changes/sc.05.17.0003.sql function create_new_dashboard (line 4) | CREATE OR REPLACE FUNCTION create_new_dashboard() RETURNS trigger AS $$ FILE: python/nav/models/sql/changes/sc.05.17.0005.sql type netboxentity_deviceid_btree (line 3) | CREATE INDEX netboxentity_deviceid_btree ON netboxentity (deviceid) WHER... FILE: python/nav/models/sql/changes/sc.05.18.0502.sql type profiles (line 5) | CREATE TABLE profiles.account_emailaddress ( type account_emailaddress_email_03be32b2 (line 32) | CREATE INDEX account_emailaddress_email_03be32b2 ON profiles.account_ema... type account_emailaddress_email_03be32b2_like (line 35) | CREATE INDEX account_emailaddress_email_03be32b2_like ON profiles.accoun... type account_emailaddress_user_id_2c513194 (line 38) | CREATE INDEX account_emailaddress_user_id_2c513194 ON profiles.account_e... type unique_primary_email (line 41) | CREATE UNIQUE INDEX unique_primary_email ON profiles.account_emailaddres... type unique_verified_email (line 44) | CREATE UNIQUE INDEX unique_verified_email ON profiles.account_emailaddre... type profiles (line 52) | CREATE TABLE profiles.account_emailconfirmation ( type account_emailconfirmation_email_address_id_5b7f8c58 (line 79) | CREATE INDEX account_emailconfirmation_email_address_id_5b7f8c58 ON prof... type account_emailconfirmation_key_f43612bd_like (line 82) | CREATE INDEX account_emailconfirmation_key_f43612bd_like ON profiles.acc... type profiles (line 90) | CREATE TABLE profiles.mfa_authenticator ( type mfa_authenticator_user_id_0c3a50c0 (line 114) | CREATE INDEX mfa_authenticator_user_id_0c3a50c0 ON profiles.mfa_authenti... type unique_authenticator_type (line 117) | CREATE UNIQUE INDEX unique_authenticator_type ON profiles.mfa_authentica... type profiles (line 125) | CREATE TABLE profiles.socialaccount_socialaccount ( type socialaccount_socialaccount_user_id_8146e70c (line 154) | CREATE INDEX socialaccount_socialaccount_user_id_8146e70c ON profiles.so... type profiles (line 162) | CREATE TABLE profiles.socialaccount_socialapp ( type profiles (line 190) | CREATE TABLE profiles.socialaccount_socialtoken ( type socialaccount_socialtoken_account_id_951f210e (line 218) | CREATE INDEX socialaccount_socialtoken_account_id_951f210e ON profiles.s... type socialaccount_socialtoken_app_id_636a42d7 (line 221) | CREATE INDEX socialaccount_socialtoken_app_id_636a42d7 ON profiles.socia... FILE: python/nav/models/sql/changes/sc.05.18.0505.sql type auditlog_logentry_actor_sortkey (line 5) | CREATE INDEX auditlog_logentry_actor_sortkey ON manage.auditlog_logentry... type auditlog_logentry_object_sortkey (line 6) | CREATE INDEX auditlog_logentry_object_sortkey ON manage.auditlog_logentr... type auditlog_logentry_target_sortkey (line 7) | CREATE INDEX auditlog_logentry_target_sortkey ON manage.auditlog_logentr... FILE: python/nav/models/sql/historic-upgrades/3.0_beta7.sql type cabling (line 26) | CREATE TABLE cabling ( type patch (line 36) | CREATE TABLE patch ( FILE: python/nav/models/sql/historic-upgrades/3.0_beta8.sql type alertqvar (line 102) | CREATE TABLE alertqvar ( type alertqvar_alertqid_btree (line 108) | CREATE INDEX alertqvar_alertqid_btree ON alertqvar USING btree (alertqid) FILE: python/nav/models/sql/historic-upgrades/3.0_rc1.sql type vlan_vlan_btree (line 28) | CREATE INDEX vlan_vlan_btree ON vlan USING btree (vlan) type prefix_vlanid_btree (line 29) | CREATE INDEX prefix_vlanid_btree ON prefix USING btree (vlanid) type netbox_prefixid_btree (line 30) | CREATE INDEX netbox_prefixid_btree ON netbox USING btree (prefixid) type netboxsnmpoid_snmpoidid_btree (line 31) | CREATE INDEX netboxsnmpoid_snmpoidid_btree ON netboxsnmpoid USING btree ... type gwportprefix_gwportid_btree (line 32) | CREATE INDEX gwportprefix_gwportid_btree ON gwportprefix USING btree (gw... type gwportprefix_prefixid_btree (line 33) | CREATE INDEX gwportprefix_prefixid_btree ON gwportprefix USING btree (pr... type swportvlan_swportid_btree (line 34) | CREATE INDEX swportvlan_swportid_btree ON swportvlan USING btree (swportid) type swportvlan_vlanid_btree (line 35) | CREATE INDEX swportvlan_vlanid_btree ON swportvlan USING btree (vlanid) type arp_prefixid_btree (line 36) | CREATE INDEX arp_prefixid_btree ON arp USING btree (prefixid) type netboxmac (line 39) | CREATE VIEW netboxmac AS type prefixreport (line 52) | CREATE VIEW prefixreport AS ( type netboxreport (line 64) | CREATE VIEW netboxreport AS ( FILE: python/nav/models/sql/historic-upgrades/3.1.0.sql type range (line 33) | CREATE TABLE range ( type allowedvlan (line 49) | CREATE VIEW allowedvlan AS type allowedvlan_both (line 56) | CREATE VIEW allowedvlan_both AS FILE: python/nav/models/sql/historic-upgrades/3.2.0.sql type message (line 24) | CREATE TABLE message ( function message_replace (line 37) | CREATE OR REPLACE FUNCTION message_replace() RETURNS TRIGGER AS ' type message_with_replaced (line 76) | CREATE OR REPLACE VIEW message_with_replaced AS type maint_task (line 100) | CREATE TABLE maint_task ( type maint_component (line 109) | CREATE TABLE maint_component ( type message_to_maint_task (line 116) | CREATE TABLE message_to_maint_task ( type maint (line 122) | CREATE OR REPLACE VIEW maint AS type prefix_active_ip_cnt (line 146) | CREATE OR REPLACE VIEW prefix_active_ip_cnt AS type message_type_btree (line 190) | CREATE INDEX message_type_btree ON message USING btree (type) type message_origin_btree (line 191) | CREATE INDEX message_origin_btree ON message USING btree (origin) FILE: python/nav/models/sql/historic-upgrades/3.3.0.sql type alerthist_start_time_btree (line 52) | CREATE INDEX alerthist_start_time_btree ON alerthist USING btree (start_... type netboxmac (line 103) | CREATE VIEW netboxmac AS FILE: python/nav/models/sql/historic-upgrades/3.4.0.sql function netboxid_null_upd_end_time (line 28) | CREATE OR REPLACE FUNCTION netboxid_null_upd_end_time () RETURNS trigger AS type cam_netboxid_ifindex_end_time_btree (line 51) | CREATE INDEX cam_netboxid_ifindex_end_time_btree ON cam USING btree (net... FILE: python/nav/models/sql/historic-upgrades/3.5.0.sql type log_message_expiration_btree (line 65) | CREATE INDEX log_message_expiration_btree ON logger.log_message USING bt... type profiles (line 461) | CREATE TABLE profiles.alertsender ( type profiles (line 474) | CREATE VIEW profiles.accountingroup AS ( function profiles (line 487) | CREATE OR REPLACE FUNCTION profiles.group_membership() RETURNS trigger A... type netmap_position (line 524) | CREATE TABLE netmap_position( type radiusacct (line 558) | CREATE TABLE radiusacct ( type radiuslog (line 581) | CREATE TABLE radiuslog ( type radiusacct_active_user_idx (line 594) | CREATE INDEX radiusacct_active_user_idx ON radiusacct (UserName) WHERE A... type radiusacct_start_user_index (line 596) | CREATE INDEX radiusacct_start_user_index ON radiusacct (AcctStartTime, l... type radiusacct_stop_user_index (line 597) | CREATE INDEX radiusacct_stop_user_index ON radiusacct (AcctStopTime, Use... type radiuslog_time_index (line 599) | CREATE INDEX radiuslog_time_index ON radiuslog(time) type radiuslog_username_index (line 600) | CREATE INDEX radiuslog_username_index ON radiuslog(UserName) type manage (line 607) | CREATE TABLE manage.nav_schema_version ( type radiusacct_stop_user_index (line 635) | CREATE INDEX radiusacct_stop_user_index ON radiusacct (AcctStopTime, low... type radiuslog_username_index (line 638) | CREATE INDEX radiuslog_username_index ON radiuslog(lower(UserName)) FILE: python/nav/models/sql/historic-upgrades/3.5.0b1.sql type log_message_expiration_btree (line 57) | CREATE INDEX log_message_expiration_btree ON logger.log_message USING bt... type profiles (line 453) | CREATE TABLE profiles.alertsender ( type profiles (line 466) | CREATE VIEW profiles.accountingroup AS ( function profiles (line 479) | CREATE OR REPLACE FUNCTION profiles.group_membership() RETURNS trigger A... type netmap_position (line 516) | CREATE TABLE netmap_position( FILE: python/nav/models/sql/historic-upgrades/3.5.0b2.sql type radiusacct (line 55) | CREATE TABLE radiusacct ( type radiuslog (line 78) | CREATE TABLE radiuslog ( type radiusacct_active_user_idx (line 91) | CREATE INDEX radiusacct_active_user_idx ON radiusacct (UserName) WHERE A... type radiusacct_start_user_index (line 93) | CREATE INDEX radiusacct_start_user_index ON radiusacct (AcctStartTime, l... type radiusacct_stop_user_index (line 94) | CREATE INDEX radiusacct_stop_user_index ON radiusacct (AcctStopTime, Use... type radiuslog_time_index (line 96) | CREATE INDEX radiuslog_time_index ON radiuslog(time) type radiuslog_username_index (line 97) | CREATE INDEX radiuslog_username_index ON radiuslog(UserName) type manage (line 104) | CREATE TABLE manage.nav_schema_version ( FILE: python/nav/models/sql/historic-upgrades/3.5.0b3.sql type radiusacct_stop_user_index (line 41) | CREATE INDEX radiusacct_stop_user_index ON radiusacct (AcctStopTime, low... type radiuslog_username_index (line 44) | CREATE INDEX radiuslog_username_index ON radiuslog(lower(UserName)) FILE: python/nav/models/sql/historic-upgrades/3.6.0.sql type arp_netboxid_btree (line 47) | CREATE INDEX arp_netboxid_btree ON arp USING btree (netboxid) FILE: python/nav/models/sql/historic-upgrades/3.6.0b1.sql type cam_netboxid_start_time_btree (line 46) | CREATE INDEX cam_netboxid_start_time_btree ON cam USING btree (netboxid,... type manage (line 53) | CREATE TABLE manage.interface ( type interface_to_interfaceid_btree (line 103) | CREATE INDEX interface_to_interfaceid_btree ON interface USING btree (to... type manage (line 107) | CREATE TABLE manage.iana_iftype ( type swport_map (line 124) | CREATE TEMPORARY TABLE swport_map AS type gwport_map (line 127) | CREATE TEMPORARY TABLE gwport_map AS type manage (line 191) | CREATE TABLE manage.rproto_attr ( type manage (line 267) | CREATE OR REPLACE VIEW manage.netboxmac AS type allowedvlan (line 285) | CREATE OR REPLACE VIEW allowedvlan AS ( type manage (line 303) | CREATE OR REPLACE VIEW manage.allowedvlan_both AS type manage (line 313) | CREATE OR REPLACE VIEW manage.swport AS ( type manage (line 340) | CREATE OR REPLACE VIEW manage.gwport AS ( type manage (line 365) | CREATE OR REPLACE VIEW manage.interface_swport AS ( type manage (line 382) | CREATE OR REPLACE VIEW manage.interface_gwport AS ( type profiles (line 439) | CREATE TABLE profiles.statuspreference ( type profiles (line 459) | CREATE TABLE profiles.statuspreference_organization ( type profiles (line 480) | CREATE TABLE profiles.statuspreference_category ( function manage (line 521) | CREATE OR REPLACE FUNCTION manage.remove_floating_devices() RETURNS TRIG... type netboxprefix (line 551) | CREATE VIEW netboxprefix AS function update_netbox_prefixes (line 561) | CREATE OR REPLACE FUNCTION update_netbox_prefixes() RETURNS TRIGGER AS' FILE: python/nav/models/sql/historic-upgrades/3.6.0b3.sql type manage (line 20) | CREATE OR REPLACE VIEW manage.live_clients AS FILE: python/nav/models/thresholds.py class ThresholdRule (line 26) | class ThresholdRule(models.Model): class Meta (line 59) | class Meta(object): method __repr__ (line 62) | def __repr__(self): method get_evaluator (line 70) | def get_evaluator(self): method get_pattern (line 78) | def get_pattern(self): FILE: python/nav/napalm.py function connect (line 33) | def connect(host: Host, profile: manage.ManagementProfile) -> NetworkDri... function _write_key_to_temporary_file (line 64) | def _write_key_to_temporary_file(config: dict, optional_args: dict): function get_driver (line 73) | def get_driver( class NapalmError (line 85) | class NapalmError(Exception): FILE: python/nav/natsort.py function split (line 34) | def split(string): class ComparableThing (line 40) | class ComparableThing(object): method __init__ (line 48) | def __init__(self, value): method __eq__ (line 54) | def __eq__(self, other): method __lt__ (line 59) | def __lt__(self, other): method __repr__ (line 70) | def __repr__(self): method __str__ (line 73) | def __str__(self): FILE: python/nav/netbiostracker/config.py class NetbiosTrackerConfig (line 26) | class NetbiosTrackerConfig(NAVConfigParser): method get_exceptions (line 35) | def get_exceptions(self): method get_encoding (line 44) | def get_encoding(self): function create_list (line 49) | def create_list(exceptions): FILE: python/nav/netbiostracker/tracker.py function timed (line 40) | def timed(f): function get_addresses_to_scan (line 56) | def get_addresses_to_scan(exclude_list=None): function scan (line 83) | def scan(addresses, ignore_failed_sendto=True, encoding="cp850", verbose... function _filter_failed_sendto (line 115) | def _filter_failed_sendto(data): function parse (line 121) | def parse(nbtscan_output, encoding=None): function parse_get_workstations (line 144) | def parse_get_workstations(verbose_nbtscan_output): function update_database (line 160) | def update_database(netbiosresults): function fetch_database_entries (line 185) | def fetch_database_entries(): function set_end_time (line 202) | def set_end_time(database_entries, entries_to_end): function create_entries (line 213) | def create_entries(entries_to_create): FILE: python/nav/netmap/config.py class NetmapConfig (line 4) | class NetmapConfig(NavConfigParserDefaultSection): FILE: python/nav/netmap/metadata.py class NetmapException (line 31) | class NetmapException(GeneralException): class GraphException (line 37) | class GraphException(NetmapException): class Node (line 47) | class Node(object): method __init__ (line 53) | def __init__(self, node, nx_node_metadata=None): method __repr__ (line 60) | def __repr__(self): method to_json (line 63) | def to_json(self): class Group (line 133) | class Group(object): method __init__ (line 136) | def __init__(self, netbox=None, interface=None): method __repr__ (line 143) | def __repr__(self): method __hash__ (line 149) | def __hash__(self): method __eq__ (line 152) | def __eq__(self, other): method to_json (line 158) | def to_json(self): class Edge (line 199) | class Edge(object): method _valid_layer2 (line 207) | def _valid_layer2(edge): method _valid_layer3 (line 211) | def _valid_layer3(edge): method _get_layer (line 214) | def _get_layer(self, u, v): method _same_layer (line 229) | def _same_layer(self, source, target): method __init__ (line 234) | def __init__(self, nx_edge, meta_edge, traffic=None): method __hash__ (line 316) | def __hash__(self): method __eq__ (line 319) | def __eq__(self, other): method __ne__ (line 325) | def __ne__(self, other): method __repr__ (line 328) | def __repr__(self): method to_json (line 343) | def to_json(self): function vlan_to_json (line 368) | def vlan_to_json(vlan): function get_vlan_lookup_json (line 377) | def get_vlan_lookup_json(vlan_by_interface): function node_to_json_layer2 (line 385) | def node_to_json_layer2(node, nx_metadata=None): function node_to_json_layer3 (line 395) | def node_to_json_layer3(node, nx_metadata=None): function edge_to_json_layer2 (line 405) | def edge_to_json_layer2(nx_edge, metadata): function edge_to_json_layer3 (line 437) | def edge_to_json_layer3(nx_edge, nx_metadata): function edge_metadata_layer3 (line 474) | def edge_metadata_layer3(nx_edge, gwportprefix_u, gwportprefix_v, traffic): function edge_metadata_layer2 (line 492) | def edge_metadata_layer2(nx_edge, meta_u, meta_v, vlans_by_interface, tr... FILE: python/nav/netmap/stubs/__init__.py class Netbox (line 19) | class Netbox(object): method __str__ (line 24) | def __str__(self): method __unicode__ (line 27) | def __unicode__(self): method __repr__ (line 30) | def __repr__(self): method __key (line 33) | def __key(self): method __eq__ (line 36) | def __eq__(self, value): method __hash__ (line 39) | def __hash__(self): method get_absolute_url (line 43) | def get_absolute_url(cls): class GwPortPrefix (line 47) | class GwPortPrefix(object): method __init__ (line 50) | def __init__(self): method __str__ (line 53) | def __str__(self): method __unicode__ (line 56) | def __unicode__(self): method __key (line 59) | def __key(self): method __eq__ (line 62) | def __eq__(self, i): method __hash__ (line 65) | def __hash__(self): method __repr__ (line 68) | def __repr__(self): class Interface (line 72) | class Interface(object): method __str__ (line 75) | def __str__(self): method __unicode__ (line 78) | def __unicode__(self): method __key (line 81) | def __key(self): method __eq__ (line 84) | def __eq__(self, i): method __hash__ (line 87) | def __hash__(self): method get_absolute_url (line 91) | def get_absolute_url(cls): FILE: python/nav/netmap/topology.py function _get_vlans_map_layer2 (line 32) | def _get_vlans_map_layer2(graph): function _get_vlans_map_layer3 (line 51) | def _get_vlans_map_layer3(graph): function build_netmap_layer2_graph (line 58) | def build_netmap_layer2_graph( function build_netmap_layer3_graph (line 146) | def build_netmap_layer3_graph(topology_without_metadata, load_traffic=Fa... function _attach_node_positions (line 198) | def _attach_node_positions(graph, node_set): FILE: python/nav/netmap/traffic.py class InterfaceLoad (line 37) | class InterfaceLoad(object): method __init__ (line 40) | def __init__(self, in_bps, out_bps, link_speed): method __repr__ (line 52) | def __repr__(self): method reversed (line 57) | def reversed(self): method to_json (line 61) | def to_json(self): class Traffic (line 71) | class Traffic(object): method __init__ (line 74) | def __init__(self): method __repr__ (line 78) | def __repr__(self): method to_json (line 81) | def to_json(self): function get_traffic_for (line 89) | def get_traffic_for(interfaces): function _get_traffic_counter_metrics_for (line 136) | def _get_traffic_counter_metrics_for(interface): function _merge_metrics (line 143) | def _merge_metrics(metrics): function get_traffic_data (line 170) | def get_traffic_data(port_pair, cache=None): function _fetch_data (line 190) | def _fetch_data(interface, cache=None): function get_interface_data (line 205) | def get_interface_data(interface): FILE: python/nav/oidparsers.py function consume (line 40) | def consume(sequence, *consumers): function oid_to_ipv6 (line 63) | def oid_to_ipv6(oid): function oid_to_ipv4 (line 80) | def oid_to_ipv4(oid): function Unsigned32 (line 101) | def Unsigned32(iterator): function String (line 106) | def String(iterator, length=None): function TypedInetAddress (line 121) | def TypedInetAddress(iterator): function TypedFixedInetAddress (line 133) | def TypedFixedInetAddress(iterator): function InetPrefix (line 149) | def InetPrefix(iterator): FILE: python/nav/oids.py class OID (line 23) | class OID(tuple): method __new__ (line 45) | def __new__(cls, oid): method __str__ (line 54) | def __str__(self): method __repr__ (line 57) | def __repr__(self): method __add__ (line 60) | def __add__(self, other): method is_a_prefix_of (line 63) | def is_a_prefix_of(self, other): method strip_prefix (line 68) | def strip_prefix(self, prefix): function get_enterprise_id (line 82) | def get_enterprise_id(sysobjectid): function _test (line 92) | def _test(): FILE: python/nav/pgdump.py function main (line 35) | def main(): function parse_args (line 67) | def parse_args(): function _make_optparser (line 89) | def _make_optparser(): function _add_filter (line 140) | def _add_filter(_option, _opt, value, parser): function export_pgvars (line 149) | def export_pgvars(): function filtered_dump (line 155) | def filtered_dump(table, where): function pg_dump (line 169) | def pg_dump(args): function psql (line 174) | def psql(args): function pgcmd (line 179) | def pgcmd(cmd, args, comment=True): function writeln (line 188) | def writeln(string): function msg (line 195) | def msg(message): FILE: python/nav/pgsync.py function main (line 35) | def main(): function parse_args (line 57) | def parse_args(): function verify_password_is_configured (line 103) | def verify_password_is_configured(): function create_database (line 110) | def create_database(): function drop_database (line 128) | def drop_database(): function restore_from_dump (line 143) | def restore_from_dump(filename): function user_exists (line 158) | def user_exists(username): function create_user (line 183) | def create_user(username, password): function handle_missing_binaries (line 211) | def handle_missing_binaries(func): function check_call (line 233) | def check_call(*args, **kwargs): function popen (line 239) | def popen(*args, **kwargs): function trap_and_die (line 244) | def trap_and_die(exception, message, func, *args, **kwargs): function die (line 256) | def die(errormsg, exit_code=1): class Synchronizer (line 262) | class Synchronizer(object): method __init__ (line 283) | def __init__(self, resource_module, apply_out_of_order_changes=False, ... method connect (line 294) | def connect(self): method synchronize (line 302) | def synchronize(self): method verify_search_path (line 314) | def verify_search_path(self): method verify_namespaces (line 347) | def verify_namespaces(self): method is_empty_database (line 367) | def is_empty_database(self): method is_legacy_database (line 371) | def is_legacy_database(self): method is_schema_logged (line 379) | def is_schema_logged(self): method verify_hstore_extension (line 387) | def verify_hstore_extension(self): method install_baseline (line 423) | def install_baseline(self): method apply_changes (line 437) | def apply_changes(self): method print_script_list (line 475) | def print_script_list(self, versions): method apply_versions (line 481) | def apply_versions(self, versions): method get_newest_applied_change (line 488) | def get_newest_applied_change(self): method get_first_applied_change (line 492) | def get_first_applied_change(self): method get_all_applied_changes (line 496) | def get_all_applied_changes(self): method apply_change_script (line 513) | def apply_change_script(self, version, script): method log_schema_change (line 519) | def log_schema_change(self, version, script): method execute_sql_file (line 531) | def execute_sql_file(self, filename): method _read_sql_file (line 547) | def _read_sql_file(self, filename): class ChangeScriptFinder (line 551) | class ChangeScriptFinder(list): method __init__ (line 558) | def __init__(self, resource_module): method _find_change_scripts (line 563) | def _find_change_scripts(self): method get_missing_changes (line 573) | def get_missing_changes(self, versions): method as_dict (line 588) | def as_dict(self): method script_to_version (line 597) | def script_to_version(cls, filename): FILE: python/nav/portadmin/config.py class PortAdminConfig (line 24) | class PortAdminConfig(NAVConfigParser): method is_vlan_authorization_enabled (line 49) | def is_vlan_authorization_enabled(self): method is_commit_enabled (line 53) | def is_commit_enabled(self): method is_restart_interface_enabled (line 57) | def is_restart_interface_enabled(self): method get_dot1x_external_url (line 61) | def get_dot1x_external_url(self): method get_ifaliasformat (line 65) | def get_ifaliasformat(self): method find_default_vlan (line 69) | def find_default_vlan(self, include_netident=False): method fetch_voice_vlans (line 83) | def fetch_voice_vlans(self): method get_trunk_edit (line 91) | def get_trunk_edit(self): method get_link_edit (line 98) | def get_link_edit(self): method is_dot1x_enabled (line 102) | def is_dot1x_enabled(self): method is_cisco_voice_enabled (line 106) | def is_cisco_voice_enabled(self): method is_cisco_voice_cdp_enabled (line 110) | def is_cisco_voice_cdp_enabled(self): FILE: python/nav/portadmin/handlers.py class PoeState (line 31) | class PoeState: class ManagementHandler (line 41) | class ManagementHandler: method __init__ (line 51) | def __init__(self, netbox: manage.Netbox, **kwargs): method can_handle (line 55) | def can_handle(cls, netbox: manage.Netbox) -> bool: method set_interface_description (line 59) | def set_interface_description(self, interface: manage.Interface, descr... method get_interface_native_vlan (line 63) | def get_interface_native_vlan(self, interface: manage.Interface) -> int: method get_interfaces (line 67) | def get_interfaces( method set_vlan (line 82) | def set_vlan(self, interface, vlan): method set_native_vlan (line 86) | def set_native_vlan(self, interface: manage.Interface, vlan: int): method set_interface_up (line 90) | def set_interface_up(self, interface: manage.Interface): method set_interface_down (line 94) | def set_interface_down(self, interface: manage.Interface): method cycle_interfaces (line 98) | def cycle_interfaces( method _filter_oper_up_interfaces (line 149) | def _filter_oper_up_interfaces( method commit_configuration (line 171) | def commit_configuration(self): method get_interface_admin_status (line 183) | def get_interface_admin_status(self, interface: manage.Interface) -> int: method get_netbox_vlans (line 194) | def get_netbox_vlans(self) -> list[FantasyVlan]: method get_netbox_vlan_tags (line 204) | def get_netbox_vlan_tags(self) -> list[int]: method set_interface_voice_vlan (line 211) | def set_interface_voice_vlan(self, interface: manage.Interface, voice_... method get_cisco_voice_vlans (line 223) | def get_cisco_voice_vlans(self): method set_cisco_voice_vlan (line 227) | def set_cisco_voice_vlan(self, interface, voice_vlan): method enable_cisco_cdp (line 231) | def enable_cisco_cdp(self, interface): method disable_cisco_voice_vlan (line 235) | def disable_cisco_voice_vlan(self, interface): method disable_cisco_cdp (line 239) | def disable_cisco_cdp(self, interface): method get_native_and_trunked_vlans (line 243) | def get_native_and_trunked_vlans(self, interface) -> tuple[int, list[i... method set_access (line 250) | def set_access(self, interface: manage.Interface, access_vlan: int): method set_trunk (line 257) | def set_trunk( method is_dot1x_enabled (line 271) | def is_dot1x_enabled(self, interface: manage.Interface) -> bool: method get_dot1x_enabled_interfaces (line 275) | def get_dot1x_enabled_interfaces(self) -> dict[str, bool]: method is_port_access_control_enabled (line 282) | def is_port_access_control_enabled(self) -> bool: method raise_if_not_configurable (line 286) | def raise_if_not_configurable(self): method is_configurable (line 293) | def is_configurable(self) -> bool: method get_poe_state_options (line 301) | def get_poe_state_options(self) -> Sequence[PoeState]: method set_poe_state (line 305) | def set_poe_state(self, interface: manage.Interface, state: PoeState): method get_poe_states (line 311) | def get_poe_states( class ManagementError (line 329) | class ManagementError(Exception): class DeviceNotConfigurableError (line 333) | class DeviceNotConfigurableError(ManagementError): class NoResponseError (line 337) | class NoResponseError(ManagementError): class AuthenticationError (line 341) | class AuthenticationError(ManagementError): class ProtocolError (line 345) | class ProtocolError(ManagementError): class POENotSupportedError (line 351) | class POENotSupportedError(ManagementError): class POEStateNotSupportedError (line 357) | class POEStateNotSupportedError(ManagementError): class XMLParseError (line 361) | class XMLParseError(ManagementError): FILE: python/nav/portadmin/management.py class ManagementFactory (line 32) | class ManagementFactory(object): method get_instance (line 37) | def get_instance(cls, netbox: manage.Netbox, **kwargs) -> ManagementHa... method __init__ (line 46) | def __init__(self): FILE: python/nav/portadmin/napalm/juniper.py function wrap_unhandled_rpc_errors (line 69) | def wrap_unhandled_rpc_errors(func): class Juniper (line 84) | class Juniper(ManagementHandler): method __init__ (line 112) | def __init__(self, netbox: manage.Netbox, **kwargs): method profile (line 121) | def profile(self) -> manage.ManagementProfile: method device (line 128) | def device(self): method is_els (line 142) | def is_els(self) -> bool: method _els_ethernet_switching_interface_table (line 149) | def _els_ethernet_switching_interface_table(self): method junos_major_version (line 157) | def junos_major_version(self) -> int: method get_interfaces (line 164) | def get_interfaces( method _get_untagged_vlans (line 195) | def _get_untagged_vlans(self): method get_netbox_vlans (line 212) | def get_netbox_vlans(self) -> list[FantasyVlan]: method get_netbox_vlan_tags (line 235) | def get_netbox_vlan_tags(self) -> list[int]: method get_interface_native_vlan (line 238) | def get_interface_native_vlan(self, interface: manage.Interface) -> int: method set_native_vlan (line 242) | def set_native_vlan(self, interface: manage.Interface, vlan: int): method get_native_and_trunked_vlans (line 245) | def get_native_and_trunked_vlans(self, interface) -> tuple[int, list[i... method set_interface_description (line 260) | def set_interface_description(self, interface: manage.Interface, descr... method set_vlan (line 273) | def set_vlan(self, interface: manage.Interface, vlan: int): method set_access (line 277) | def set_access(self, interface: manage.Interface, access_vlan: int): method _save_access_interface (line 293) | def _save_access_interface(interface: manage.Interface, access_vlan: i... method set_trunk (line 305) | def set_trunk( method _save_trunk_interface (line 323) | def _save_trunk_interface( method get_interface_admin_status (line 336) | def get_interface_admin_status(self, interface: manage.Interface) -> int: method cycle_interfaces (line 345) | def cycle_interfaces( method set_interface_down (line 356) | def set_interface_down(self, interface: manage.Interface): method set_interface_up (line 366) | def set_interface_up(self, interface: manage.Interface): method _save_interface_oper (line 376) | def _save_interface_oper(interface: manage.Interface, ifoperstatus: int): method commit_configuration (line 386) | def commit_configuration(self): method vlans (line 392) | def vlans(self): method get_interface_information (line 403) | def get_interface_information(self, interface_name: str = None): method _parse_interface_tree (line 427) | def _parse_interface_tree(tree): method raise_if_not_configurable (line 444) | def raise_if_not_configurable(self): method get_poe_state_options (line 450) | def get_poe_state_options(self) -> Sequence[PoeState]: method set_poe_state (line 455) | def set_poe_state(self, interface: manage.Interface, state: PoeState): method get_poe_states (line 471) | def get_poe_states( method _get_single_poe_state (line 501) | def _get_single_poe_state(self, interface: manage.Interface) -> PoeState: method _get_poe_states_bulk (line 519) | def _get_poe_states_bulk( method _get_all_poe_interface_information (line 536) | def _get_all_poe_interface_information(self) -> ElementTree: method _get_poe_interface_information (line 540) | def _get_poe_interface_information(self, ifname: str) -> ElementTree: method _poe_string_to_state (line 543) | def _poe_string_to_state(self, state_str: str) -> PoeState: function is_unit (line 573) | def is_unit(name: str) -> bool: function split_master_unit (line 579) | def split_master_unit(name: str) -> tuple[str, str]: FILE: python/nav/portadmin/snmp/base.py function translate_protocol_errors (line 48) | def translate_protocol_errors(func): class NoReadWriteManagementProfileError (line 70) | class NoReadWriteManagementProfileError(ManagementError): class NoReadOnlyManagementProfileError (line 76) | class NoReadOnlyManagementProfileError(ManagementError): class InvalidManagementProfileError (line 82) | class InvalidManagementProfileError(ManagementError): class SNMPHandler (line 88) | class SNMPHandler(ManagementHandler): method __init__ (line 122) | def __init__(self, netbox, **kwargs): method _bulkwalk (line 130) | def _bulkwalk(self, oid: str): method _jog (line 150) | def _jog(self, oid): method _get_legal_if_index (line 159) | def _get_legal_if_index(if_index): method _get_query (line 163) | def _get_query(self, oid, if_index): method _get_read_only_handle (line 167) | def _get_read_only_handle(self): method _query_netbox (line 182) | def _query_netbox(self, oid, if_index): method _get_read_write_handle (line 196) | def _get_read_write_handle(self): method _set_netbox_value (line 212) | def _set_netbox_value(self, oid, if_index, value_type, value): method _chunkify (line 218) | def _chunkify(bitvector, chunks): method test_read (line 229) | def test_read(self): method test_write (line 238) | def test_write(self): method get_interfaces (line 249) | def get_interfaces( method _get_interface_names (line 271) | def _get_interface_names(self) -> dict[int, str]: method _get_all_ifaliases (line 278) | def _get_all_ifaliases(self): method set_interface_description (line 289) | def set_interface_description(self, interface, description): method get_interface_native_vlan (line 297) | def get_interface_native_vlan(self, interface): method _get_all_interfaces_vlan (line 300) | def _get_all_interfaces_vlan(self): method _compute_octet_string (line 308) | def _compute_octet_string(hexstring, port, action='enable'): method set_vlan (line 323) | def set_vlan(self, interface, vlan): method set_native_vlan (line 347) | def set_native_vlan(self, interface, vlan): method set_interface_up (line 351) | def set_interface_up(self, interface): method set_interface_down (line 357) | def set_interface_down(self, interface): method commit_configuration (line 362) | def commit_configuration(self): method get_interface_admin_status (line 366) | def get_interface_admin_status(self, interface): method _get_if_stats (line 369) | def _get_if_stats(self, stats): method _get_all_interfaces_admin_status (line 379) | def _get_all_interfaces_admin_status(self): method _get_all_interfaces_oper_status (line 384) | def _get_all_interfaces_oper_status(self): method get_netbox_vlans (line 390) | def get_netbox_vlans(self): method get_netbox_vlan_tags (line 412) | def get_netbox_vlan_tags(self): method get_native_and_trunked_vlans (line 422) | def get_native_and_trunked_vlans(self, interface): method _get_egress_interfaces_as_bitvector (line 443) | def _get_egress_interfaces_as_bitvector(self, vlan): method set_trunk_vlans (line 448) | def set_trunk_vlans(self, interface: Interface, vlans: Sequence[int]): method _set_egress_interfaces (line 499) | def _set_egress_interfaces(self, vlan, bitvector): method set_access (line 514) | def set_access(self, interface, access_vlan): method set_trunk (line 525) | def set_trunk(self, interface, native_vlan, trunk_vlans): method _save_trunk_interface (line 531) | def _save_trunk_interface(self, interface, native_vlan, trunk_vlans): method _set_interface_hex (line 538) | def _set_interface_hex(interface, trunk_vlans): method is_dot1x_enabled (line 547) | def is_dot1x_enabled(self, interfaces): method get_dot1x_enabled_interfaces (line 551) | def get_dot1x_enabled_interfaces(self): method is_port_access_control_enabled (line 554) | def is_port_access_control_enabled(self): method raise_if_not_configurable (line 563) | def raise_if_not_configurable(self): FILE: python/nav/portadmin/snmp/cisco.py class Cisco (line 39) | class Cisco(SNMPHandler): method __init__ (line 86) | def __init__(self, netbox, **kwargs): method can_handle (line 94) | def can_handle(cls, netbox: manage.Netbox) -> bool: method get_interface_native_vlan (line 103) | def get_interface_native_vlan(self, interface): method set_vlan (line 107) | def set_vlan(self, interface, vlan): method set_native_vlan (line 135) | def set_native_vlan(self, interface, vlan): method get_cisco_voice_vlans (line 150) | def get_cisco_voice_vlans(self): method set_cisco_voice_vlan (line 155) | def set_cisco_voice_vlan(self, interface, voice_vlan): method enable_cisco_cdp (line 172) | def enable_cisco_cdp(self, interface): method disable_cisco_voice_vlan (line 181) | def disable_cisco_voice_vlan(self, interface): method disable_cisco_cdp (line 186) | def disable_cisco_cdp(self, interface): method commit_configuration (line 195) | def commit_configuration(self): method get_netbox_vlan_tags (line 203) | def get_netbox_vlan_tags(self): method get_native_and_trunked_vlans (line 219) | def get_native_and_trunked_vlans(self, interface): method set_access (line 240) | def set_access(self, interface, access_vlan): method _set_access_mode (line 252) | def _set_access_mode(self, interface): method set_trunk (line 261) | def set_trunk(self, interface, native_vlan, trunk_vlans): method _set_trunk_mode (line 271) | def _set_trunk_mode(self, interface): method set_trunk_vlans (line 283) | def set_trunk_vlans(self, interface, vlans): method _is_trunk (line 317) | def _is_trunk(self, interface): method is_dot1x_enabled (line 322) | def is_dot1x_enabled(self, interface): method get_dot1x_enabled_interfaces (line 330) | def get_dot1x_enabled_interfaces(self): method get_poe_state_options (line 338) | def get_poe_state_options(self) -> Sequence[PoeState]: method set_poe_state (line 343) | def set_poe_state(self, interface: manage.Interface, state: PoeState): method _get_poe_indexes_for_interface (line 360) | def _get_poe_indexes_for_interface( method get_poe_states (line 374) | def get_poe_states( method _get_poe_state_for_single_interface (line 401) | def _get_poe_state_for_single_interface( FILE: python/nav/portadmin/snmp/dell.py class Dell (line 28) | class Dell(SNMPHandler): method __init__ (line 49) | def __init__(self, netbox, **kwargs): method commit_configuration (line 53) | def commit_configuration(self): method set_vlan (line 60) | def set_vlan(self, interface, vlan): method set_access (line 76) | def set_access(self, interface, access_vlan): method set_trunk (line 84) | def set_trunk(self, interface, native_vlan, trunk_vlans): method _set_swport_mode (line 92) | def _set_swport_mode(self, interface, mode): method get_interface_native_vlan (line 97) | def get_interface_native_vlan(self, interface): method set_native_vlan (line 103) | def set_native_vlan(self, interface, vlan): FILE: python/nav/portadmin/snmp/h3c.py class H3C (line 24) | class H3C(SNMPHandler): method __init__ (line 32) | def __init__(self, netbox, **kwargs): method commit_configuration (line 36) | def commit_configuration(self): FILE: python/nav/portadmin/snmp/hp.py class HP (line 23) | class HP(SNMPHandler): method __init__ (line 32) | def __init__(self, netbox, **kwargs): method is_dot1x_enabled (line 36) | def is_dot1x_enabled(self, interface): method get_dot1x_enabled_interfaces (line 41) | def get_dot1x_enabled_interfaces(self): FILE: python/nav/portadmin/vlan.py class FantasyVlan (line 19) | class FantasyVlan(object): method __init__ (line 28) | def __init__(self, vlan, netident=None, descr=None): method __str__ (line 33) | def __str__(self): method __hash__ (line 39) | def __hash__(self): method __lt__ (line 42) | def __lt__(self, other): method __eq__ (line 45) | def __eq__(self, other): method __repr__ (line 48) | def __repr__(self): FILE: python/nav/pwhash.py function sha1 (line 32) | def sha1(password, salt): function md5 (line 37) | def md5(password, salt): function pbkdf2 (line 42) | def pbkdf2(password, salt): function generate_salt (line 54) | def generate_salt(): class Hash (line 67) | class Hash(object): method __init__ (line 77) | def __init__(self, method=DEFAULT_METHOD, salt=None, password=None): method __lt__ (line 95) | def __lt__(self, other): method __eq__ (line 98) | def __eq__(self, other): method __str__ (line 101) | def __str__(self): method update (line 106) | def update(self, password): method set_hash (line 118) | def set_hash(self, hash): method verify (line 133) | def verify(self, password): class InvalidHashStringError (line 141) | class InvalidHashStringError(errors.GeneralException): class UnknownHashMethodError (line 145) | class UnknownHashMethodError(errors.GeneralException): FILE: python/nav/report/IPtools.py class UnknownIpVersionError (line 25) | class UnknownIpVersionError(Exception): function sort_nets_by_address (line 29) | def sort_nets_by_address(list): function sort_nets_by_prefixlength (line 35) | def sort_nets_by_prefixlength(nets): function getLastbitsIpMap (line 41) | def getLastbitsIpMap(ip_list): function _ipv4_getLastbitsMap (line 67) | def _ipv4_getLastbitsMap(ip_list): function _ipv6_getNybblesMap (line 79) | def _ipv6_getNybblesMap(ip_list): function andIpMask (line 90) | def andIpMask(ip, mask): function getMask (line 101) | def getMask(ip_version, bit_count): function _ipv6_getMask (line 113) | def _ipv6_getMask(bit_count): function _ipv4_getMask (line 118) | def _ipv4_getMask(bit_count): function getLastSubnet (line 123) | def getLastSubnet(network, last_network_prefix_len=None): function get_next_subnet (line 141) | def get_next_subnet(net): function create_subnet_range (line 146) | def create_subnet_range(net, prefixlen): FILE: python/nav/report/IPtree.py function build_tree (line 25) | def build_tree(start_net, end_net=None, bits_in_matrix=0, add_missing_ne... function _insert_into_tree (line 72) | def _insert_into_tree(tree, ip): function get_subnets (line 80) | def get_subnets(network, min_length=None): function remove_subnets_with_prefixlength (line 110) | def remove_subnets_with_prefixlength(tree, prefixlen): function get_subtree (line 127) | def get_subtree(tree, ip): function _is_leaf_node (line 144) | def _is_leaf_node(node): function get_max_leaf (line 151) | def get_max_leaf(tree, max_prefix_length=128): function extract_subtrees_with_prefix_length (line 170) | def extract_subtrees_with_prefix_length(tree, prefixlen): function extract_subnets_with_prefix_length (line 180) | def extract_subnets_with_prefix_length(tree, prefixlen): FILE: python/nav/report/dbresult.py class DatabaseResult (line 23) | class DatabaseResult(object): method __init__ (line 26) | def __init__(self, report_config): method __repr__ (line 74) | def __repr__(self): FILE: python/nav/report/generator.py class Generator (line 30) | class Generator(object): method make_report (line 35) | def make_report(self, report_name, config_files, query_dict, config, d... class ReportList (line 98) | class ReportList(object): method __init__ (line 99) | def __init__(self, config_files): method get_report_list (line 134) | def get_report_list(self): class ConfigParser (line 138) | class ConfigParser(object): method __init__ (line 144) | def __init__(self, config_files): method parse_report (line 150) | def parse_report(self, report_name): method parse_configuration (line 184) | def parse_configuration(self, report_config): class ArgumentParser (line 236) | class ArgumentParser(object): method __init__ (line 241) | def __init__(self, configuration): method parse_query (line 249) | def parse_query(self, query): method _parse_arguments (line 261) | def _parse_arguments(self, query): method _parse_single_argument (line 265) | def _parse_single_argument(self, arg, value): method _parse_argument_as_group (line 284) | def _parse_argument_as_group(self, arg, value): method _parse_fields (line 306) | def _parse_fields(self): method _parse_single_field (line 310) | def _parse_single_field(self, field, value): class ReportConfig (line 370) | class ReportConfig(object): method __init__ (line 371) | def __init__(self): method __repr__ (line 390) | def __repr__(self): method make_sql (line 399) | def make_sql(self): method wherestring (line 407) | def wherestring(self): method orderstring (line 416) | def orderstring(self): method escaped_sql (line 426) | def escaped_sql(self): FILE: python/nav/report/matrix.py class Cell (line 34) | class Cell(object): method __init__ (line 37) | def __init__(self, **kwargs): class Matrix (line 51) | class Matrix(object): method __init__ (line 63) | def __init__(self, start_net, end_net=None, bits_in_matrix=3): method build (line 79) | def build(self): method has_too_small_nets (line 86) | def has_too_small_nets(self, net): method extract_matrix_nets (line 96) | def extract_matrix_nets(self): method extract_tree_nets (line 102) | def extract_tree_nets(self): method _colspan (line 108) | def _colspan(self, ip): method _get_row_size (line 114) | def _get_row_size(self): method _create_data_row (line 118) | def _create_data_row(self, subnet): method _add_child_nets (line 138) | def _add_child_nets(self, host_nybbles_map): method _create_cell (line 157) | def _create_cell(self, ip, meta, rowspan=1, key=0): method _create_empty_cell (line 169) | def _create_empty_cell(): method _create_index_cell (line 172) | def _create_index_cell(self, subnet, link=True): method _create_too_small_subnets_cell (line 184) | def _create_too_small_subnets_cell(self): method _add_large_subnet (line 191) | def _add_large_subnet(self, subnet, matrix_row): method _create_extra_rows (line 200) | def _create_extra_rows(self, num_extra_rows, subnet): method _get_content (line 209) | def _get_content(key, ip): method _netlink (line 213) | def _netlink(ip, append_term_and_prefix=False): method _get_too_small_net_link (line 216) | def _get_too_small_net_link(self): method _get_color (line 222) | def _get_color(nettype): method _get_prefix_url (line 231) | def _get_prefix_url(prefix): FILE: python/nav/report/matrixIPv4.py class MatrixIPv4 (line 29) | class MatrixIPv4(Matrix): method __init__ (line 32) | def __init__( method build (line 42) | def build(self): method _write_subnets (line 49) | def _write_subnets(self, net, nets): method _find_large_net (line 109) | def _find_large_net(subnet, large_subnets): method _get_extra_rows (line 115) | def _get_extra_rows(self, num_extra_rows, thing): method _get_row_size (line 134) | def _get_row_size(self): method _get_column_headers (line 138) | def _get_column_headers(self): method __repr__ (line 144) | def __repr__(self): method _get_content (line 154) | def _get_content(nybble, ip): method _netlink (line 158) | def _netlink(ip, append_term_and_prefix=False): method _create_too_small_subnets_cell (line 171) | def _create_too_small_subnets_cell(self): FILE: python/nav/report/matrixIPv6.py class MatrixIPv6 (line 27) | class MatrixIPv6(Matrix): method __init__ (line 30) | def __init__(self, start_net, end_net=None): method build (line 36) | def build(self): method _write_subnets (line 42) | def _write_subnets(self, net): method _get_content (line 66) | def _get_content(nybble, ip): method _netlink (line 70) | def _netlink(ip, append_term_and_prefix=False): FILE: python/nav/report/metaIP.py class MetaIP (line 23) | class MetaIP: method __init__ (line 29) | def __init__(self, ip): method invalidateCache (line 39) | def invalidateCache(cls): method getTreeNet (line 44) | def getTreeNet(self): method _getTreeNetIpv4 (line 55) | def _getTreeNetIpv4(self): method _getTreeNetIpv6 (line 60) | def _getTreeNetIpv6(self): method _createMetaMap (line 73) | def _createMetaMap(family): method _setup (line 92) | def _setup(self): class UnexpectedRowCountError (line 99) | class UnexpectedRowCountError(Exception): FILE: python/nav/report/report.py class Field (line 23) | class Field(object): method __init__ (line 24) | def __init__(self): method __repr__ (line 28) | def __repr__(self): class Report (line 32) | class Report(object): method __init__ (line 35) | def __init__(self, configuration, database, query_dict): method set_limit (line 89) | def set_limit(self, limit): method set_offset (line 101) | def set_offset(self, offset): method strip_pagination_arguments (line 112) | def strip_pagination_arguments(self, query_dict): method build_field_maps (line 125) | def build_field_maps(self, fields): method remake_uri (line 141) | def remake_uri(self, uri): method make_table_headers (line 162) | def make_table_headers(self, names, explain, sort_fields=None): method make_table_footers (line 199) | def make_table_footers(self, sums): method hide_index (line 244) | def hide_index(self): method make_table_contents (line 258) | def make_table_contents(self): method make_form (line 303) | def make_form(self, name): class Table (line 322) | class Table(object): method __init__ (line 325) | def __init__(self): method append (line 330) | def append(self, row): method extend (line 338) | def extend(self, rows): method set_headers (line 346) | def set_headers(self, headers): method set_footers (line 354) | def set_footers(self, footers): method set_contents (line 363) | def set_contents(self, contents): class Row (line 372) | class Row(object): method __init__ (line 375) | def __init__(self): method append (line 378) | def append(self, cell): class Cell (line 387) | class Cell(object): method __init__ (line 392) | def __init__(self, text="", uri="", explanation=""): method set_text (line 398) | def set_text(self, text): method set_hyperlink (line 406) | def set_hyperlink(self, url): method set_explanation (line 414) | def set_explanation(self, explanation): method set_sum (line 422) | def set_sum(self, colsum): class Headers (line 431) | class Headers(object): method __init__ (line 437) | def __init__(self): method append (line 440) | def append(self, cell): class Footers (line 449) | class Footers(object): method __init__ (line 455) | def __init__(self): method append (line 458) | def append(self, cell): function unicode_utf8 (line 467) | def unicode_utf8(thing): FILE: python/nav/smidumps/__init__.py function get_mib (line 16) | def get_mib(mib_module): function get_search_path (line 41) | def get_search_path(): function convert_oids (line 46) | def convert_oids(mib): FILE: python/nav/smsd/boostdispatcher.py class BoostDispatcher (line 37) | class BoostDispatcher(Dispatcher): method __init__ (line 40) | def __init__(self, config): method sendsms (line 65) | def sendsms(self, phone, msgs): FILE: python/nav/smsd/debugdispatcher.py class DebugDispatcher (line 31) | class DebugDispatcher(Dispatcher): method __init__ (line 41) | def __init__(self, config): method sendsms (line 61) | def sendsms(self, phone, msgs): FILE: python/nav/smsd/dispatcher.py class DispatcherError (line 22) | class DispatcherError(Exception): class PermanentDispatcherError (line 26) | class PermanentDispatcherError(DispatcherError): class DispatcherHandler (line 30) | class DispatcherHandler(object): method __init__ (line 38) | def __init__(self, config): method importbyname (line 85) | def importbyname(self, name): method sendsms (line 98) | def sendsms(self, phone, msgs): class Dispatcher (line 166) | class Dispatcher(object): method __init__ (line 169) | def __init__(self): method formatsms (line 179) | def formatsms(self, msgs): method sendsms (line 251) | def sendsms(self, phone, msgs): FILE: python/nav/smsd/gammudispatcher.py class GammuDispatcher (line 36) | class GammuDispatcher(Dispatcher): method __init__ (line 39) | def __init__(self, _config): method sendsms (line 45) | def sendsms(self, phone, msgs): function decode_sms_to_unicode (line 107) | def decode_sms_to_unicode(sms): FILE: python/nav/smsd/httpgetdispatcher.py class HttpGetDispatcher (line 38) | class HttpGetDispatcher(Dispatcher): method __init__ (line 41) | def __init__(self, config): method sendsms (line 54) | def sendsms(self, phone, msgs): FILE: python/nav/smsd/navdbqueue.py class NAVDBQueue (line 32) | class NAVDBQueue(object): method __init__ (line 35) | def __init__(self): method cancel (line 46) | def cancel(self, minage='0'): method getusers (line 88) | def getusers(self, sent='N'): method getusermsgs (line 117) | def getusermsgs(self, user, sent='N'): method getmsgs (line 141) | def getmsgs(self, sent='N'): method setsentstatus (line 173) | def setsentstatus(self, identifier, sent, smsid=0): method inserttestmsgs (line 198) | def inserttestmsgs(self, uid, phone, msg): method _connect (line 219) | def _connect(): FILE: python/nav/smsd/uninettmaildispatcher.py class UninettMailDispatcher (line 32) | class UninettMailDispatcher(Dispatcher): method __init__ (line 35) | def __init__(self, config): method sendsms (line 45) | def sendsms(self, phone, msgs): FILE: python/nav/snmptrapd/agent_pynetsnmp.py class TrapListener (line 39) | class TrapListener(object): method __init__ (line 42) | def __init__(self, *addresses): method open (line 52) | def open(self): method close (line 57) | def close(self): method listen (line 62) | def listen(self, _community, callback): method callback (line 86) | def callback(self, src, pdu): function value_to_str (line 133) | def value_to_str(value): function transform_trap_type (line 160) | def transform_trap_type(pdu): class TrapSession (line 188) | class TrapSession(netsnmp.Session): method __init__ (line 191) | def __init__(self, iface, callback): method await_traps (line 196) | def await_traps(self): method _initv6 (line 206) | def _initv6(self): method callback (line 218) | def callback(self, pdu): function get_transport_addr (line 229) | def get_transport_addr(pdu): class UnsupportedSnmpVersionError (line 262) | class UnsupportedSnmpVersionError(GeneralException): FILE: python/nav/snmptrapd/handlers/airespace.py function handleTrap (line 35) | def handleTrap(trap, config=None): FILE: python/nav/snmptrapd/handlers/handlertemplate.py function handleTrap (line 33) | def handleTrap(trap, config=None): function verifyEventtype (line 84) | def verifyEventtype(): function initialize (line 116) | def initialize(): FILE: python/nav/snmptrapd/handlers/linkupdown.py function handleTrap (line 34) | def handleTrap(trap, config=None): function get_ifindex_from_trap (line 75) | def get_ifindex_from_trap(trap, config): function get_interface_details (line 84) | def get_interface_details(netboxid, ifindex): function post_link_event (line 109) | def post_link_event(down, netboxid, deviceid, interfaceid, modulename, i... function verify_event_type (line 136) | def verify_event_type(): function initialize (line 171) | def initialize(): FILE: python/nav/snmptrapd/handlers/ups.py function handleTrap (line 71) | def handleTrap(trap, config=None): function format_batterytime (line 160) | def format_batterytime(timeunit, format): function verifyEventtype (line 173) | def verifyEventtype(): function initialize (line 209) | def initialize(): FILE: python/nav/snmptrapd/handlers/weathergoose.py class WeatherGoose1 (line 32) | class WeatherGoose1(object): method can_handle (line 69) | def can_handle(cls, oid): method map_oid_to_trigger (line 73) | def map_oid_to_trigger(cls, oid): method __init__ (line 78) | def __init__(self, trap, netboxid, sysname, roomid): method _parse (line 87) | def _parse(self): method _get_trigger_values (line 101) | def _get_trigger_values(self): method post_event (line 114) | def post_event(self): method _get_event_type (line 144) | def _get_event_type(self): method _get_event_state (line 149) | def _get_event_state(self): method _get_alert_type (line 157) | def _get_alert_type(self): method _get_subid (line 160) | def _get_subid(self): method _get_sensorname (line 164) | def _get_sensorname(self): class WeatherGoose2 (line 172) | class WeatherGoose2(WeatherGoose1): class GeistWeatherGoose (line 205) | class GeistWeatherGoose(WeatherGoose2): function handleTrap (line 232) | def handleTrap(trap, config=None): function initialize_eventdb (line 248) | def initialize_eventdb(): function _get_event_hierarchy (line 257) | def _get_event_hierarchy(): function initialize (line 280) | def initialize(): FILE: python/nav/snmptrapd/plugin.py class ModuleLoadError (line 24) | class ModuleLoadError(GeneralException): function load_handler_modules (line 30) | def load_handler_modules(modules): FILE: python/nav/snmptrapd/trap.py class SNMPTrap (line 30) | class SNMPTrap(object): method __init__ (line 37) | def __init__( method _lookup_agent (line 64) | def _lookup_agent(self): method netbox (line 86) | def netbox(self): method __str__ (line 91) | def __str__(self): FILE: python/nav/startstop.py function get_info_from_content (line 39) | def get_info_from_content(content): class Service (line 48) | class Service(object): method __init__ (line 52) | def __init__(self, filename): method __repr__ (line 58) | def __repr__(self): method load_from_file (line 61) | def load_from_file(self, filename): method start (line 65) | def start(self, silent=False): method stop (line 69) | def stop(self, silent=False): method restart (line 73) | def restart(self, silent=False): method is_up (line 77) | def is_up(self, silent=False): method command (line 81) | def command(self, command, silent=False): method load_services (line 86) | def load_services(cls): class DaemonService (line 91) | class DaemonService(Service): method __init__ (line 96) | def __init__(self, name, service_dict, source=None): method load_services (line 104) | def load_services(cls): method start (line 121) | def start(self, silent=False): method stop (line 136) | def stop(self, silent=False): method restart (line 155) | def restart(self, silent=False): method is_up (line 161) | def is_up(self, silent=False, pid=None): method get_pid (line 179) | def get_pid(self): method get_pidfile (line 189) | def get_pidfile(self): method command (line 209) | def command(self, command, silent=False): method execute (line 212) | def execute(self, command, silent=False): class CronService (line 225) | class CronService(Service): method __init__ (line 230) | def __init__(self, filename): method load_from_file (line 237) | def load_from_file(self, filename): method load_services (line 243) | def load_services(cls): method start (line 258) | def start(self, silent=False): method stop (line 272) | def stop(self, silent=False): method restart (line 290) | def restart(self, silent=False): method is_up (line 294) | def is_up(self, silent=False): method command (line 314) | def command(self, command, silent=False): class Crontab (line 318) | class Crontab(object): method __init__ (line 323) | def __init__(self, user): method load (line 329) | def load(self): method save (line 360) | def save(self): method update_init (line 373) | def update_init(self): method _parse_blocks (line 395) | def _parse_blocks(self): method __contains__ (line 419) | def __contains__(self, item): method __getitem__ (line 422) | def __getitem__(self, key): method __setitem__ (line 426) | def __setitem__(self, key, content): method __delitem__ (line 442) | def __delitem__(self, key): method __str__ (line 447) | def __str__(self): class ServiceRegistry (line 451) | class ServiceRegistry(dict): method __init__ (line 454) | def __init__(self): class ServiceError (line 470) | class ServiceError(GeneralException): class CommandNotSupportedError (line 474) | class CommandNotSupportedError(ServiceError): class CommandFailedError (line 478) | class CommandFailedError(ServiceError): class CrontabError (line 482) | class CrontabError(ServiceError): class CrontabBlockError (line 486) | class CrontabBlockError(CrontabError): FILE: python/nav/statemon/RunQueue.py class TerminateException (line 40) | class TerminateException(Exception): class Worker (line 44) | class Worker(threading.Thread): method __init__ (line 52) | def __init__(self, rq): method run (line 60) | def run(self): method execute (line 73) | def execute(self, checker): function RunQueue (line 94) | def RunQueue(*args, **kwargs): class _RunQueue (line 101) | class _RunQueue(object): method __init__ (line 104) | def __init__(self, **kwargs): method get_max_run_count (line 120) | def get_max_run_count(self): method enq (line 123) | def enq(self, runnable): method _start_worker_if_needed (line 141) | def _start_worker_if_needed(self): method deq (line 161) | def deq(self): method terminate (line 201) | def terminate(self): class EventQueue (line 213) | class EventQueue(object): method __init__ (line 214) | def __init__(self): method put (line 218) | def put(self, timestamp, item): method firstTimestamp (line 223) | def firstTimestamp(self): method pop (line 229) | def pop(self): method __bool__ (line 234) | def __bool__(self): method __len__ (line 237) | def __len__(self): FILE: python/nav/statemon/abstractchecker.py class AbstractChecker (line 29) | class AbstractChecker(object): method __init__ (line 72) | def __init__(self, service, port=0, status=event.Event.UP): method run (line 103) | def run(self): method update_stats (line 163) | def update_stats(self): method execute_test (line 178) | def execute_test(self): method execute (line 193) | def execute(self): method sysname (line 198) | def sysname(self): method sysname (line 207) | def sysname(self, name): method update_timestamp (line 211) | def update_timestamp(self): method get_type (line 216) | def get_type(cls): method get_address (line 223) | def get_address(self): method __eq__ (line 227) | def __eq__(self, obj): method __lt__ (line 232) | def __lt__(self, obj): method __hash__ (line 235) | def __hash__(self): method __repr__ (line 239) | def __repr__(self): FILE: python/nav/statemon/checker/DcChecker.py class DcChecker (line 26) | class DcChecker(AbstractChecker): method execute (line 32) | def execute(self): FILE: python/nav/statemon/checker/DhcpChecker.py class DhcpChecker (line 27) | class DhcpChecker(AbstractChecker): method __init__ (line 33) | def __init__(self, service, **kwargs): method execute (line 36) | def execute(self): FILE: python/nav/statemon/checker/DnsChecker.py class DnsChecker (line 28) | class DnsChecker(AbstractChecker): method __init__ (line 39) | def __init__(self, service, **kwargs): method execute (line 43) | def execute(self): FILE: python/nav/statemon/checker/DummyChecker.py class DummyChecker (line 23) | class DummyChecker(AbstractChecker): method execute (line 28) | def execute(self): FILE: python/nav/statemon/checker/FtpChecker.py class FtpChecker (line 25) | class FtpChecker(AbstractChecker): method __init__ (line 36) | def __init__(self, service, **kwargs): method execute (line 39) | def execute(self): FILE: python/nav/statemon/checker/HttpChecker.py class HTTPConnection (line 31) | class HTTPConnection(http.client.HTTPConnection): method __init__ (line 34) | def __init__(self, timeout, host, port=80): method connect (line 39) | def connect(self): class HttpChecker (line 43) | class HttpChecker(AbstractChecker): method __init__ (line 57) | def __init__(self, service, **kwargs): method connect (line 60) | def connect(self, ip, port): method execute (line 63) | def execute(self): FILE: python/nav/statemon/checker/HttpsChecker.py class HTTPSConnection (line 27) | class HTTPSConnection(http.client.HTTPSConnection): method __init__ (line 30) | def __init__(self, timeout, host, port=443): method connect (line 35) | def connect(self): class HttpsChecker (line 40) | class HttpsChecker(HttpChecker): method connect (line 45) | def connect(self, ip, port): FILE: python/nav/statemon/checker/ImapChecker.py class IMAPConnection (line 26) | class IMAPConnection(imaplib.IMAP4): method __init__ (line 29) | def __init__(self, timeout, host, port): method open (line 33) | def open(self, host, port): class ImapChecker (line 38) | class ImapChecker(AbstractChecker): method __init__ (line 57) | def __init__(self, service, **kwargs): method execute (line 60) | def execute(self): FILE: python/nav/statemon/checker/ImapsChecker.py class ImapsChecker (line 26) | class ImapsChecker(AbstractChecker): method __init__ (line 40) | def __init__(self, service, **kwargs): method execute (line 43) | def execute(self): class IMAPSConnection (line 65) | class IMAPSConnection(imaplib.IMAP4): method __init__ (line 79) | def __init__(self, timeout, host='', port=993, keyfile=None, certfile=... method open (line 86) | def open(self, host, port): method read (line 97) | def read(self, size): method readline (line 106) | def readline(self): method send (line 117) | def send(self, data): method shutdown (line 128) | def shutdown(self): method socket (line 132) | def socket(self): method ssl (line 139) | def ssl(self): FILE: python/nav/statemon/checker/LdapChecker.py class LdapChecker (line 26) | class LdapChecker(AbstractChecker): method __init__ (line 48) | def __init__(self, service, **kwargs): method execute (line 51) | def execute(self): method _set_version (line 101) | def _set_version(args, conn): method get_address (line 114) | def get_address(self): FILE: python/nav/statemon/checker/MysqlChecker.py class MysqlChecker (line 26) | class MysqlChecker(AbstractChecker): method __init__ (line 31) | def __init__(self, service, **kwargs): method execute (line 34) | def execute(self): class MysqlConnection (line 72) | class MysqlConnection(object): method __init__ (line 79) | def __init__(self, addr, timeout=None): method read_packet (line 86) | def read_packet(self): method write_packet (line 101) | def write_packet(self, data): method write_auth_packet (line 113) | def write_auth_packet(self, username): method close (line 117) | def close(self): class MysqlError (line 122) | class MysqlError(Exception): FILE: python/nav/statemon/checker/OracleChecker.py class OracleChecker (line 23) | class OracleChecker(AbstractChecker): method __init__ (line 67) | def __init__(self, service, **kwargs): method execute (line 70) | def execute(self): FILE: python/nav/statemon/checker/Pop3Checker.py class Pop3Checker (line 25) | class Pop3Checker(AbstractChecker): method __init__ (line 39) | def __init__(self, service, **kwargs): method execute (line 42) | def execute(self): class PopConnection (line 68) | class PopConnection(poplib.POP3): method __init__ (line 71) | def __init__(self, timeout, ip, port): FILE: python/nav/statemon/checker/PortChecker.py class PortChecker (line 25) | class PortChecker(AbstractChecker): method __init__ (line 32) | def __init__(self, service, **kwargs): method execute (line 35) | def execute(self): FILE: python/nav/statemon/checker/PostgresqlChecker.py class PostgresqlChecker (line 24) | class PostgresqlChecker(AbstractChecker): method __init__ (line 39) | def __init__(self, service, **kwargs): method execute (line 42) | def execute(self): FILE: python/nav/statemon/checker/RadiusChecker.py class RadiusChecker (line 36) | class RadiusChecker(AbstractChecker): method __init__ (line 85) | def __init__(self, service, **kwargs): method execute (line 88) | def execute(self): FILE: python/nav/statemon/checker/RpcChecker.py class RpcChecker (line 25) | class RpcChecker(AbstractChecker): method __init__ (line 36) | def __init__(self, service, **kwargs): method execute (line 40) | def execute(self): FILE: python/nav/statemon/checker/SmbChecker.py class SmbChecker (line 31) | class SmbChecker(AbstractChecker): method __init__ (line 45) | def __init__(self, service, **kwargs): method execute (line 48) | def execute(self): FILE: python/nav/statemon/checker/SmtpChecker.py class SmtpChecker (line 26) | class SmtpChecker(AbstractChecker): method __init__ (line 38) | def __init__(self, service, **kwargs): method execute (line 41) | def execute(self): class SMTP (line 63) | class SMTP(smtplib.SMTP): method __init__ (line 66) | def __init__(self, timeout, host='', port=25): method connect (line 70) | def connect(self, host='localhost', port=25): FILE: python/nav/statemon/checker/SshChecker.py class SshChecker (line 24) | class SshChecker(AbstractChecker): method __init__ (line 34) | def __init__(self, service, **kwargs): method execute (line 37) | def execute(self): FILE: python/nav/statemon/checkermap.py function register (line 34) | def register(key, module): function get (line 40) | def get(checker): function parsedir (line 60) | def parsedir(): FILE: python/nav/statemon/circbuf.py class CircBuf (line 26) | class CircBuf(object): method __init__ (line 27) | def __init__(self, size=10, *_args, **_kwargs): method push (line 31) | def push(self, value): method __len__ (line 35) | def __len__(self): method __getslice__ (line 38) | def __getslice__(self, i, j): method __getitem__ (line 41) | def __getitem__(self, i): method reset_all_to (line 44) | def reset_all_to(self, value): FILE: python/nav/statemon/config.py class Conf (line 32) | class Conf(dict): method __init__ (line 33) | def __init__(self, *_args, **_kwargs): method logfile (line 38) | def logfile(self): function dbconf (line 46) | def dbconf(*args, **kwargs): class _dbconf (line 52) | class _dbconf(Conf): method __init__ (line 55) | def __init__(self, *args, **kwargs): class _serviceconf (line 60) | class _serviceconf(Conf): method __init__ (line 63) | def __init__(self, *args, **kwargs): function serviceconf (line 68) | def serviceconf(*args, **kwargs): class _pingconf (line 74) | class _pingconf(Conf): method __init__ (line 77) | def __init__(self, *args, **kwargs): function pingconf (line 82) | def pingconf(*args, **kwargs): FILE: python/nav/statemon/db.py function db (line 51) | def db(): class DbError (line 59) | class DbError(Exception): class _DB (line 66) | class _DB(threading.Thread): method __init__ (line 69) | def __init__(self): method connect (line 77) | def connect(self): method close (line 91) | def close(self): method status (line 100) | def status(self): method cursor (line 109) | def cursor(self): method run (line 142) | def run(self): method query (line 159) | def query(self, statement, values=None, commit=1): method execute (line 187) | def execute(self, statement, values=None, commit=1): method new_event (line 220) | def new_event(self, event): method commit_event (line 224) | def commit_event(self, event): method build_host_query (line 269) | def build_host_query(self, groups_included=None, groups_excluded=None): method hosts_to_ping (line 297) | def hosts_to_ping(self, groups_included=None, groups_excluded=None): method get_checkers (line 316) | def get_checkers(self, use_db_status, onlyactive=1): FILE: python/nav/statemon/event.py class Event (line 21) | class Event(object): method __init__ (line 31) | def __init__( method __repr__ (line 51) | def __repr__(self): FILE: python/nav/statemon/icmppacket.py class Packet (line 34) | class Packet(object): method __init__ (line 41) | def __init__(self, packet=None, verify=True): method __repr__ (line 59) | def __repr__(self): method _disassemble (line 68) | def _disassemble(self, packet, verify=True): method assemble (line 80) | def assemble(self, calc_checksum=True): method _assemble (line 93) | def _assemble(self, checksum): method lookup_type (line 100) | def lookup_type(self, type_=None): class PacketV4 (line 114) | class PacketV4(Packet): class PacketV6 (line 127) | class PacketV6(Packet): method __init__ (line 156) | def __init__(self, packet=None, verify=False): function inet_checksum (line 160) | def inet_checksum(packet): FILE: python/nav/statemon/megaping.py function make_sockets (line 36) | def make_sockets(): class Host (line 61) | class Host(object): method __init__ (line 68) | def __init__(self, ip): method make_packet (line 88) | def make_packet(self, size, cookie=None): method make_cookie (line 95) | def make_cookie(self): method is_v6 (line 105) | def is_v6(self): method is_valid_ipv6 (line 111) | def is_valid_ipv6(self): method is_valid_ipv4 (line 119) | def is_valid_ipv4(self): method next_seq (line 127) | def next_seq(self): method __repr__ (line 138) | def __repr__(self): class MegaPing (line 145) | class MegaPing(object): method __init__ (line 157) | def __init__(self, sockets, conf=None): method set_hosts (line 204) | def set_hosts(self, ips): method reset (line 219) | def reset(self): method ping (line 228) | def ping(self): method _send_requests (line 244) | def _send_requests(self): method _get_responses (line 267) | def _get_responses(self): method _process_response (line 310) | def _process_response(self, raw_pong, sender, is_ipv6, arrival): method results (line 356) | def results(self): FILE: python/nav/statemon/netbox.py class Netbox (line 22) | class Netbox(object): method __init__ (line 27) | def __init__(self, netboxid, sysname, ip, up): method __eq__ (line 33) | def __eq__(self, obj): method __repr__ (line 38) | def __repr__(self): method __str__ (line 41) | def __str__(self): method __hash__ (line 44) | def __hash__(self): FILE: python/nav/statemon/statistics.py function update (line 38) | def update(sysname, timestamp, status, responsetime, serviceid=None, han... FILE: python/nav/tableformat.py class SimpleTableFormatter (line 20) | class SimpleTableFormatter(object): method __init__ (line 21) | def __init__(self, data): method __str__ (line 30) | def __str__(self): method get_formatted_table (line 33) | def get_formatted_table(self): method _format_row (line 42) | def _format_row(self, row, widths): method _find_widest_elements (line 49) | def _find_widest_elements(self): method _get_max_width_of_column (line 57) | def _get_max_width_of_column(self, column_number): method _get_column_count (line 61) | def _get_column_count(self): FILE: python/nav/tests/cases.py class DjangoTransactionTestCase (line 21) | class DjangoTransactionTestCase(django.test.TestCase): FILE: python/nav/thresholdmon.py function main (line 39) | def main(): function make_option_parser (line 54) | def make_option_parser(): function scan (line 66) | def scan(): function evaluate_rule (line 77) | def evaluate_rule(rule, alerts): function get_unresolved_threshold_alerts (line 131) | def get_unresolved_threshold_alerts(): function start_event (line 152) | def start_event(rule, metric, value): function end_event (line 159) | def end_event(rule, metric, value): function make_event (line 167) | def make_event(start, rule, metric, value): function _add_subject_details (line 191) | def _add_subject_details(event, metric, varmap): function _event_template (line 223) | def _event_template(): FILE: python/nav/topology/analyze.py class Box (line 56) | class Box(int): method __str__ (line 61) | def __str__(self): class Port (line 65) | class Port(tuple): method __str__ (line 70) | def __str__(self): class AdjacencyAnalyzer (line 77) | class AdjacencyAnalyzer(object): method __init__ (line 80) | def __init__(self, graph, aggregates=None): method get_max_out_degree (line 84) | def get_max_out_degree(self): method find_return_port (line 93) | def find_return_port(self, from_port, to_netbox): method get_ports_and_degree (line 111) | def get_ports_and_degree(self): method format_connections (line 126) | def format_connections(self): method get_single_edges_from_ports (line 138) | def get_single_edges_from_ports(self): method get_ports_by_degree (line 145) | def get_ports_by_degree(self, degree): class AdjacencyReducer (line 155) | class AdjacencyReducer(AdjacencyAnalyzer): method reduce (line 158) | def reduce(self): method _reduce_cam (line 173) | def _reduce_cam(self): method _remove_aggregates (line 204) | def _remove_aggregates(self): method _reduce_discovery_protocol (line 223) | def _reduce_discovery_protocol(self, sourcetype): method _visit_unvisited (line 252) | def _visit_unvisited(self, unvisited): method _is_single_dataless_destination (line 279) | def _is_single_dataless_destination(self, source, dest): method connect_ports (line 296) | def connect_ports(self, i, j): function build_candidate_graph_from_db (line 315) | def build_candidate_graph_from_db(): function get_aggregate_mapping (line 346) | def get_aggregate_mapping(include_stacks=False): function _get_stacks (line 367) | def _get_stacks(): function _get_aggregates (line 376) | def _get_aggregates(): function interface_to_port (line 386) | def interface_to_port(interface): FILE: python/nav/topology/detector.py function main (line 48) | def main(): function int_list (line 74) | def int_list(value): function make_option_parser (line 78) | def make_option_parser(): function with_exception_logging (line 101) | def with_exception_logging(func): function do_layer2_detection (line 119) | def do_layer2_detection(): function do_vlan_detection (line 130) | def do_vlan_detection(vlans): function delete_unused_vlans (line 142) | def delete_unused_vlans(): function delete_unused_prefixes (line 151) | def delete_unused_prefixes(): function verify_singleton (line 174) | def verify_singleton(): FILE: python/nav/topology/diff.py function printdiffs (line 28) | def printdiffs(): FILE: python/nav/topology/layer2.py function update_layer2_topology (line 32) | def update_layer2_topology(links): function _update_interface_topology (line 46) | def _update_interface_topology(source_node, dest_node): function _clear_topology_for_nontouched (line 71) | def _clear_topology_for_nontouched(touched_ifc_ids): function _clear_topology_for_mismatched_state_links (line 88) | def _clear_topology_for_mismatched_state_links(): FILE: python/nav/topology/vlan.py class VlanGraphAnalyzer (line 45) | class VlanGraphAnalyzer(object): method __init__ (line 48) | def __init__(self): method _build_vlan_router_dict (line 57) | def _build_vlan_router_dict(): method _build_unrouted_vlan_seed_dict (line 72) | def _build_unrouted_vlan_seed_dict(self): method analyze_all (line 80) | def analyze_all(self): method analyze_vlans_by_id (line 94) | def analyze_vlans_by_id(self, vlans): method analyze_vlan (line 102) | def analyze_vlan(self, vlan): method _prune_unrouted_vlans (line 116) | def _prune_unrouted_vlans(self, vlan, topology): method _integrate_vlan_topology (line 123) | def _integrate_vlan_topology(self, vlan, topology): method add_access_port_vlans (line 129) | def add_access_port_vlans(self): method find_access_port_vlans (line 135) | def find_access_port_vlans(self): method _find_netbox_access_vlans (line 150) | def _find_netbox_access_vlans(self, netbox, ifcs): class RoutedVlanTopologyAnalyzer (line 164) | class RoutedVlanTopologyAnalyzer(object): method __init__ (line 167) | def __init__(self, address, layer2_graph, stp_blocked=None): method analyze (line 187) | def analyze(self): method _examine_edge (line 199) | def _examine_edge(self, edge, visited_nodes=None): method _vlan_is_active_on_reverse_edge (line 236) | def _vlan_is_active_on_reverse_edge(self, edge, visited_nodes): method _find_reverse_edge (line 249) | def _find_reverse_edge(self, edge): method _interface_has_been_seen_before (line 260) | def _interface_has_been_seen_before(self, ifc): method _is_vlan_active_on_destination (line 263) | def _is_vlan_active_on_destination(self, dest, ifc): method _out_edges_on_vlan (line 278) | def _out_edges_on_vlan(self, node): method _ifc_has_vlan (line 285) | def _ifc_has_vlan(self, ifc): method _vlan_allowed_on_trunk (line 288) | def _vlan_allowed_on_trunk(self, ifc): method _is_blocked_on_any_end (line 295) | def _is_blocked_on_any_end(self, edge): method _is_edge_blocked (line 302) | def _is_edge_blocked(self, edge): method _log_descent (line 308) | def _log_descent(self, next_edge): method _log_block (line 319) | def _log_block(self, next_edge): method _mark_both_ends_as_blocked (line 340) | def _mark_both_ends_as_blocked(self, edge): class UnroutedVlanTopologyAnalyzer (line 349) | class UnroutedVlanTopologyAnalyzer(RoutedVlanTopologyAnalyzer): method __init__ (line 352) | def __init__(self, vlan, seed, layer2_graph, stp_blocked=None): method analyze (line 366) | def analyze(self): class VlanTopologyUpdater (line 372) | class VlanTopologyUpdater(object): method __init__ (line 385) | def __init__(self, ifc_vlan_map): method __call__ (line 395) | def __call__(self): method update (line 399) | def update(self): method _update_or_create_new_swportvlan_entry (line 409) | def _update_or_create_new_swportvlan_entry(cls, ifc, vlan, dirstr): method _direction_from_string (line 427) | def _direction_from_string(cls, string): method _remove_dead_swpvlan_records_for_ifc (line 434) | def _remove_dead_swpvlan_records_for_ifc(self, ifc): method _delete_swportvlans_from_untouched_ifcs (line 440) | def _delete_swportvlans_from_untouched_ifcs(self): function build_layer2_graph (line 457) | def build_layer2_graph(related_extra=None): function build_layer3_graph (line 483) | def build_layer3_graph(related_extra=None): function get_active_addresses_of_routed_vlans (line 603) | def get_active_addresses_of_routed_vlans(): function filter_active_router_addresses (line 615) | def filter_active_router_addresses(gwportprefixes): function get_routed_vlan_addresses (line 633) | def get_routed_vlan_addresses(): function get_router_addresses (line 643) | def get_router_addresses(): function get_stp_blocked_ports (line 654) | def get_stp_blocked_ports(): function _unrouted_vlan_sort (line 666) | def _unrouted_vlan_sort(vlan): FILE: python/nav/toposort.py function build_graph (line 20) | def build_graph(objects, dependency_calculator): function topological_sort (line 52) | def topological_sort(graph): FILE: python/nav/util.py function gradient (line 34) | def gradient(start, stop, steps): function color_gradient (line 51) | def color_gradient(start, stop, steps): function colortohex (line 62) | def colortohex(triplet): function is_valid_ip (line 71) | def is_valid_ip(ip, strict=False): function _is_valid_ip_socket (line 85) | def _is_valid_ip_socket(ip): function _is_valid_ip_ipy (line 103) | def _is_valid_ip_ipy(ip): function is_valid_cidr (line 119) | def is_valid_cidr(cidr): function is_valid_mac (line 137) | def is_valid_mac(mac): function which (line 144) | def which(cmd, search_path=None): function is_setuid_root (line 163) | def is_setuid_root(path): function mergedicts (line 185) | def mergedicts(*dicts): function splitby (line 200) | def splitby(predicate, iterable): function first_true (line 211) | def first_true(iterable, default=None, pred=None): function chunks (line 222) | def chunks(iterable, size): class IPRange (line 233) | class IPRange(object): method __init__ (line 245) | def __init__(self, start, stop): method __repr__ (line 255) | def __repr__(self): method __contains__ (line 258) | def __contains__(self, item): method __len__ (line 261) | def __len__(self): method len (line 264) | def len(self): method __iter__ (line 274) | def __iter__(self): method __getitem__ (line 279) | def __getitem__(self, index): method from_string (line 288) | def from_string(cls, rangestring): method _parse (line 306) | def _parse(cls, rangestring): method _parse_as_range (line 316) | def _parse_as_range(cls, rangestring): method _assemble_range (line 331) | def _assemble_range(from_ip, to_ip): method _parse_as_network (line 344) | def _parse_as_network(cls, rangestring): method get_mask_for_network (line 356) | def get_mask_for_network(cls, network): class cachedfor (line 366) | class cachedfor(object): method __init__ (line 372) | def __init__(self, max_age): method __call__ (line 378) | def __call__(self, func): function synchronized (line 392) | def synchronized(lock): class Timer (line 416) | class Timer: method __init__ (line 427) | def __init__(self): method __enter__ (line 430) | def __enter__(self): method __exit__ (line 434) | def __exit__(self, *args): function parse_interval (line 438) | def parse_interval(string): function address_to_string (line 480) | def address_to_string(ip, port): function auth_token (line 492) | def auth_token(): function consecutive (line 497) | def consecutive(seq): class NumberRange (line 508) | class NumberRange(object): method __init__ (line 514) | def __init__(self, sequence): method __iter__ (line 517) | def __iter__(self): method __str__ (line 520) | def __str__(self): method __repr__ (line 523) | def __repr__(self): method _range_to_str (line 527) | def _range_to_str(x, y): function resource_filename (line 534) | def resource_filename(package, filename): function resource_bytes (line 545) | def resource_bytes(package, filename): FILE: python/nav/watchdog/tests.py class TestResult (line 39) | class TestResult(object): method __init__ (line 42) | def __init__(self, description, obj=None): method __str__ (line 46) | def __str__(self): class Test (line 50) | class Test(object): method __init__ (line 57) | def __init__(self): method _get_errors (line 61) | def _get_errors(self): method run (line 65) | def run(self): method get_status (line 73) | def get_status(self): class TestOverdueJobs (line 79) | class TestOverdueJobs(Test): method _get_errors (line 86) | def _get_errors(self): class TestFailedJobs (line 121) | class TestFailedJobs(Test): method _get_errors (line 127) | def _get_errors(self): class TestDuplicateHostnameForIP (line 160) | class TestDuplicateHostnameForIP(Test): method _get_errors (line 172) | def _get_errors(self): class TestNoRouterInterfaces (line 199) | class TestNoRouterInterfaces(Test): method _get_errors (line 205) | def _get_errors(self): class TestNoSwitchPorts (line 216) | class TestNoSwitchPorts(Test): method _get_errors (line 222) | def _get_errors(self): class TestAbnormalInterfaceCount (line 233) | class TestAbnormalInterfaceCount(Test): method _get_errors (line 245) | def _get_errors(self): class TestNewCamAndArpRecords (line 257) | class TestNewCamAndArpRecords(Test): method _get_errors (line 266) | def _get_errors(self): method test_cam (line 279) | def test_cam(self): method test_arp (line 295) | def test_arp(self): method get_latest (line 312) | def get_latest(thing): FILE: python/nav/watchdog/util.py function cached_test (line 31) | def cached_test(testclass): function get_statuses (line 50) | def get_statuses(): function get_statuses_as_json (line 61) | def get_statuses_as_json(): function serialize (line 66) | def serialize(test): FILE: python/nav/web/__init__.py class WebfrontConfigParser (line 36) | class WebfrontConfigParser(NAVConfigParser): method __init__ (line 43) | def __init__(self): method validate_qr_codes_config (line 48) | def validate_qr_codes_config(self): function refresh_session (line 63) | def refresh_session(request): function loginit (line 70) | def loginit(): FILE: python/nav/web/ajax/views.py function _process_room_position (line 28) | def _process_room_position(rooms): function get_rooms_with_position (line 41) | def get_rooms_with_position(_request, roomid=None): function get_rooms_with_position_for_location (line 52) | def get_rooms_with_position_for_location(_request, locationid): function get_room_status (line 61) | def get_room_status(room): function netbox_down_in (line 68) | def netbox_down_in(room): function get_neighbors (line 75) | def get_neighbors(_request, netboxid): function create_object_from (line 132) | def create_object_from(netbox): function create_unrecognized_object_from (line 142) | def create_unrecognized_object_from(node): FILE: python/nav/web/alertprofiles/decorators.py function requires_post (line 27) | def requires_post(redirect='alertprofiles-overview', required_args=None): FILE: python/nav/web/alertprofiles/forms.py class LanguageForm (line 42) | class LanguageForm(forms.Form): class AlertProfileForm (line 48) | class AlertProfileForm(forms.ModelForm): method __init__ (line 57) | def __init__(self, *args, **kwargs): class Meta (line 87) | class Meta(object): class AlertAddressForm (line 92) | class AlertAddressForm(forms.ModelForm): method __init__ (line 104) | def __init__(self, *args, **kwargs): class Meta (line 129) | class Meta(object): method clean (line 133) | def clean(self): class TimePeriodForm (line 158) | class TimePeriodForm(forms.ModelForm): method __init__ (line 171) | def __init__(self, *args, **kwargs): class Meta (line 200) | class Meta(object): method clean (line 204) | def clean(self): class AlertSubscriptionForm (line 247) | class AlertSubscriptionForm(forms.ModelForm): class Meta (line 255) | class Meta(object): method __init__ (line 259) | def __init__(self, *args, **kwargs): method clean (line 353) | def clean(self): class FilterGroupForm (line 403) | class FilterGroupForm(forms.Form): class Meta (line 413) | class Meta(object): method __init__ (line 417) | def __init__(self, *args, **kwargs): class FilterForm (line 452) | class FilterForm(forms.Form): class Meta (line 461) | class Meta(object): method __init__ (line 464) | def __init__(self, *args, **kwargs): class MatchFieldForm (line 495) | class MatchFieldForm(forms.ModelForm): method __init__ (line 521) | def __init__(self, *args, **kwargs): class Meta (line 574) | class Meta(object): method _get_field_not_same_model_error (line 579) | def _get_field_not_same_model_error(): method clean_value_name (line 588) | def clean_value_name(self): method clean_value_sort (line 607) | def clean_value_sort(self): class ExpressionForm (line 625) | class ExpressionForm(forms.ModelForm): class Meta (line 639) | class Meta(object): method __init__ (line 643) | def __init__(self, *args, **kwargs): method clean (line 737) | def clean(self) -> dict[str, Any]: method _clean_ip_addresses (line 757) | def _clean_ip_addresses(self, operator_type, value): FILE: python/nav/web/alertprofiles/shortcuts.py function _alertprofiles_response (line 29) | def _alertprofiles_response(request, status_code=200): function alertprofiles_response_forbidden (line 43) | def alertprofiles_response_forbidden(request, message): function alertprofiles_response_not_found (line 50) | def alertprofiles_response_not_found(request, message): FILE: python/nav/web/alertprofiles/utils.py function account_owns_filters (line 41) | def account_owns_filters(account, *filters): function resolve_account_admin_and_owner (line 71) | def resolve_account_admin_and_owner(request): function order_filter_group_content (line 87) | def order_filter_group_content(filter_group): function read_time_period_templates (line 113) | def read_time_period_templates(): function alert_subscriptions_table (line 128) | def alert_subscriptions_table(periods): FILE: python/nav/web/alertprofiles/views.py function overview (line 80) | def overview(request): function groups_and_permissions_modal (line 106) | def groups_and_permissions_modal(request): function show_profile (line 139) | def show_profile(request): function profile_show_form (line 174) | def profile_show_form( function profile_detail (line 228) | def profile_detail(request, profile_id=None): function profile_new (line 233) | def profile_new(request): function set_active_profile (line 238) | def set_active_profile(request, profile): function create_time_periods (line 253) | def create_time_periods(request, profile): function profile_save (line 283) | def profile_save(request): function profile_remove (line 327) | def profile_remove(request): function profile_activate (line 420) | def profile_activate(request): function profile_deactivate (line 453) | def profile_deactivate(request): function profile_time_period (line 474) | def profile_time_period(request, time_period_id, time_period_form=None): function profile_time_period_add (line 504) | def profile_time_period_add(request): function profile_time_period_remove (line 553) | def profile_time_period_remove(request): function profile_time_period_setup (line 665) | def profile_time_period_setup(request, time_period_id=None): function profile_time_period_subscription_add (line 729) | def profile_time_period_subscription_add(request): function profile_time_period_subscription_edit (line 770) | def profile_time_period_subscription_edit(request, subscription_id=None): function profile_time_period_subscription_remove (line 827) | def profile_time_period_subscription_remove(request): function address_list (line 940) | def address_list(request): function address_show_form (line 976) | def address_show_form(request, address_id=None, address_form=None): function address_detail (line 1024) | def address_detail(request, address_id=None): function address_save (line 1030) | def address_save(request): function address_remove (line 1070) | def address_remove(request): function language_save (line 1188) | def language_save(request): function sms_list (line 1199) | def sms_list(request): function filter_list (line 1242) | def filter_list(request): function filter_show_form (line 1282) | def filter_show_form(request, filter_id=None, filter_form=None): function filter_detail (line 1391) | def filter_detail(request, filter_id=None): function filter_save (line 1397) | def filter_save(request): function filter_remove (line 1443) | def filter_remove(request): function filter_addexpression (line 1525) | def filter_addexpression(request): function filter_addexpression_operator_help_modal (line 1573) | def filter_addexpression_operator_help_modal(request): function filter_saveexpression (line 1584) | def filter_saveexpression(request): function filter_removeexpression (line 1628) | def filter_removeexpression(request): function filter_group_list (line 1708) | def filter_group_list(request): function filter_group_show_form (line 1749) | def filter_group_show_form(request, filter_group_id=None, filter_group_f... function filter_group_detail (line 1857) | def filter_group_detail(request, filter_group_id=None): function filter_group_operator_help_modal (line 1862) | def filter_group_operator_help_modal(request): function filter_group_save (line 1873) | def filter_group_save(request): function filter_group_remove (line 1919) | def filter_group_remove(request): function filter_group_addfilter (line 2013) | def filter_group_addfilter(request): function filter_group_remove_or_move_filter (line 2077) | def filter_group_remove_or_move_filter(request): function filter_group_removefilter (line 2094) | def filter_group_removefilter(request): function filter_group_movefilter (line 2200) | def filter_group_movefilter(request): function matchfield_list (line 2270) | def matchfield_list(request): function matchfield_show_form (line 2316) | def matchfield_show_form(request, matchfield_id=None, matchfield_form=No... function matchfield_detail (line 2394) | def matchfield_detail(request, matchfield_id=None): function matchfield_save (line 2400) | def matchfield_save(request): function matchfield_remove (line 2441) | def matchfield_remove(request): function permission_list (line 2519) | def permission_list(request, group_id=None): function permissions_help_modal (line 2560) | def permissions_help_modal(request): function permissions_save (line 2571) | def permissions_save(request): FILE: python/nav/web/api/v1/__init__.py class NavPageNumberPagination (line 4) | class NavPageNumberPagination(pagination.PageNumberPagination): FILE: python/nav/web/api/v1/alert_serializers.py class AccountSerializer (line 30) | class AccountSerializer(serializers.ModelSerializer): class Meta (line 33) | class Meta(object): class AcknowledgementSerializer (line 38) | class AcknowledgementSerializer(serializers.ModelSerializer): method transform_comment_html (line 46) | def transform_comment_html(_obj, value): class Meta (line 54) | class Meta(object): class AlertTypeSerializer (line 59) | class AlertTypeSerializer(serializers.ModelSerializer): class Meta (line 62) | class Meta(object): class EventTypeSerializer (line 67) | class EventTypeSerializer(serializers.ModelSerializer): class Meta (line 70) | class Meta(object): class AlertSerializerBase (line 75) | class AlertSerializerBase(serializers.ModelSerializer): method get_subject (line 94) | def get_subject(obj): method get_subject_url (line 99) | def get_subject_url(obj): method is_on_maintenance (line 110) | def is_on_maintenance(obj): method get_event_history_url (line 122) | def get_event_history_url(obj): method get_netbox_history_url (line 129) | def get_netbox_history_url(obj): method get_subject_type (line 137) | def get_subject_type(obj): method get_device_groups (line 142) | def get_device_groups(obj): class AlertQueueSerializer (line 152) | class AlertQueueSerializer(AlertSerializerBase): class Meta (line 159) | class Meta(object): method get_alert_details_url (line 164) | def get_alert_details_url(obj): method get_message (line 169) | def get_message(obj): class AlertHistorySerializer (line 187) | class AlertHistorySerializer(AlertSerializerBase): class Meta (line 195) | class Meta(object): method get_end_time (line 200) | def get_end_time(obj): method get_event_details_url (line 208) | def get_event_details_url(obj): FILE: python/nav/web/api/v1/auth.py class APIAuthentication (line 33) | class APIAuthentication(TokenAuthentication): method authenticate_credentials (line 36) | def authenticate_credentials(self, key): class ReadOnlyNonAdminPermission (line 53) | class ReadOnlyNonAdminPermission(BasePermission): method has_permission (line 58) | def has_permission(self, request, _view): class AdminPermission (line 68) | class AdminPermission(BasePermission): method has_permission (line 71) | def has_permission(self, request, _view): class TokenPermission (line 77) | class TokenPermission(BasePermission): method has_permission (line 83) | def has_permission(self, request, _view): method _check_endpoints (line 104) | def _check_endpoints(request): method _check_read_write (line 118) | def _check_read_write(request): method is_path_in_endpoints (line 124) | def is_path_in_endpoints(request_path, endpoints): method _ensure_trailing_slash (line 149) | def _ensure_trailing_slash(path): class JWTPermission (line 156) | class JWTPermission(BasePermission): method has_permission (line 162) | def has_permission(self, request, _view): method _check_read_write (line 177) | def _check_read_write(request, token): method _check_endpoints (line 182) | def _check_endpoints(request, token): method is_path_in_endpoints (line 196) | def is_path_in_endpoints(request_path, endpoints): method _ensure_trailing_slash (line 221) | def _ensure_trailing_slash(path): FILE: python/nav/web/api/v1/fields.py class DisplayNameWritableField (line 19) | class DisplayNameWritableField(serializers.ChoiceField): method __init__ (line 25) | def __init__(self, **kwargs): method to_representation (line 30) | def to_representation(self, value): method to_internal_value (line 33) | def to_internal_value(self, data): method bind (line 39) | def bind(self, field_name, parent): FILE: python/nav/web/api/v1/filter_backends.py class IfClassFilter (line 32) | class IfClassFilter(filters.BaseFilterBackend): method filter_queryset (line 39) | def filter_queryset(self, request, queryset, view): class NaturalIfnameFilter (line 67) | class NaturalIfnameFilter(filters.OrderingFilter): method filter_queryset (line 70) | def filter_queryset(self, request, queryset, view): class AlertHistoryFilterBackend (line 93) | class AlertHistoryFilterBackend(filters.BaseFilterBackend): method filter_queryset (line 122) | def filter_queryset(self, request, queryset, view): class NetboxIsOnMaintenanceFilterBackend (line 163) | class NetboxIsOnMaintenanceFilterBackend(filters.BaseFilterBackend): method filter_queryset (line 166) | def filter_queryset(self, request, queryset, view): function _get_descendants (line 174) | def _get_descendants(parents): FILE: python/nav/web/api/v1/helpers/prefix_collector.py class UsageResult (line 24) | class UsageResult(object): method __init__ (line 27) | def __init__(self, prefix, active_addresses, starttime=None, endtime=N... function fetch_usages (line 51) | def fetch_usages(prefixes, starttime, endtime): function fetch_usage (line 58) | def fetch_usage(prefix, starttime, endtime): function collect_active_ip (line 70) | def collect_active_ip(prefix, starttime=None, endtime=None): FILE: python/nav/web/api/v1/serializers.py class ManagementProfileSerializer (line 39) | class ManagementProfileSerializer(serializers.ModelSerializer): class Meta (line 44) | class Meta(object): class AccountSerializer (line 49) | class AccountSerializer(serializers.ModelSerializer): class Meta (line 58) | class Meta(object): class AccountGroupSerializer (line 71) | class AccountGroupSerializer(serializers.ModelSerializer): class Meta (line 74) | class Meta(object): class EntitySerializer (line 79) | class EntitySerializer(serializers.ModelSerializer): class Meta (line 84) | class Meta(object): class NetboxTypeSerializer (line 102) | class NetboxTypeSerializer(serializers.ModelSerializer): class Meta (line 105) | class Meta(object): class LocationSerializer (line 110) | class LocationSerializer(serializers.ModelSerializer): class Meta (line 113) | class Meta(object): method validate_aliases (line 117) | def validate_aliases(self, value): class RoomSerializer (line 125) | class RoomSerializer(serializers.ModelSerializer): class Meta (line 136) | class Meta(object): method validate (line 140) | def validate(self, attrs): method validate_aliases (line 147) | def validate_aliases(self, value): class OrganizationSerializer (line 155) | class OrganizationSerializer(serializers.ModelSerializer): class Meta (line 156) | class Meta(object): class CategorySerializer (line 161) | class CategorySerializer(serializers.ModelSerializer): class Meta (line 162) | class Meta(object): class SubNetboxSerializer (line 167) | class SubNetboxSerializer(serializers.ModelSerializer): class Meta (line 170) | class Meta(object): class NetboxSerializer (line 175) | class NetboxSerializer(serializers.ModelSerializer): class Meta (line 234) | class Meta(object): method validate (line 239) | def validate(self, attrs): method create (line 254) | def create(self, validated_data): method update (line 260) | def update(self, instance, validated_data): method _update_profiles (line 267) | def _update_profiles(instance, profile_list): class PatchSerializer (line 281) | class PatchSerializer(serializers.ModelSerializer): class Meta (line 284) | class Meta(object): class SpecificPatchSerializer (line 290) | class SpecificPatchSerializer(serializers.ModelSerializer): class Meta (line 293) | class Meta(object): class NetboxInlineSerializer (line 299) | class NetboxInlineSerializer(serializers.ModelSerializer): class Meta (line 302) | class Meta(object): class DeviceSerializer (line 307) | class DeviceSerializer(serializers.ModelSerializer): class Meta (line 310) | class Meta(object): class DeviceInlineSerializer (line 315) | class DeviceInlineSerializer(serializers.ModelSerializer): class Meta (line 318) | class Meta(object): class ModuleInlineSerializer (line 323) | class ModuleInlineSerializer(serializers.ModelSerializer): class Meta (line 328) | class Meta(object): class ModuleSerializer (line 333) | class ModuleSerializer(serializers.ModelSerializer): class Meta (line 340) | class Meta(object): class CamSerializer (line 345) | class CamSerializer(serializers.ModelSerializer): class Meta (line 348) | class Meta(object): class ArpSerializer (line 353) | class ArpSerializer(serializers.ModelSerializer): class Meta (line 356) | class Meta(object): class SubInterfaceSerializer (line 361) | class SubInterfaceSerializer(serializers.ModelSerializer): class Meta (line 364) | class Meta(object): class AggregatedInterfaceSerializer (line 369) | class AggregatedInterfaceSerializer(serializers.ModelSerializer): class Meta (line 370) | class Meta(object): class InterfaceSerializer (line 375) | class InterfaceSerializer(serializers.ModelSerializer): class Meta (line 390) | class Meta(object): class InterfaceWithCamSerializer (line 396) | class InterfaceWithCamSerializer(InterfaceSerializer): class Meta (line 399) | class Meta(object): class CablingSerializer (line 404) | class CablingSerializer(serializers.ModelSerializer): class Meta (line 407) | class Meta(object): class UnrecognizedNeighborSerializer (line 412) | class UnrecognizedNeighborSerializer(serializers.ModelSerializer): class Meta (line 415) | class Meta(object): class RackItemSerializer (line 420) | class RackItemSerializer(serializers.Serializer): class Meta (line 434) | class Meta(object): class RackConfigurationField (line 438) | class RackConfigurationField(serializers.ReadOnlyField): method to_representation (line 441) | def to_representation(self, value): class RackSerializer (line 448) | class RackSerializer(serializers.ModelSerializer): class Meta (line 453) | class Meta(object): class VlanSerializer (line 458) | class VlanSerializer(serializers.ModelSerializer): class Meta (line 463) | class Meta(object): method validate_net_type (line 467) | def validate_net_type(self, value): class PrefixSerializer (line 481) | class PrefixSerializer(serializers.ModelSerializer): class Meta (line 489) | class Meta(object): method update (line 493) | def update(self, instance, validated_data): method create (line 510) | def create(self, validated_data): class PrefixUsageSerializer (line 519) | class PrefixUsageSerializer(serializers.Serializer): class Meta (line 535) | class Meta(object): class ServiceHandlerSerializer (line 539) | class ServiceHandlerSerializer(serializers.Serializer): class Meta (line 552) | class Meta(object): class NetboxEntitySerializer (line 556) | class NetboxEntitySerializer(serializers.ModelSerializer): class Meta (line 562) | class Meta(object): class ComponentSerializer (line 567) | class ComponentSerializer(serializers.Serializer): class RequestMaintenanceTaskSerializer (line 597) | class RequestMaintenanceTaskSerializer(serializers.ModelSerializer): class Meta (line 605) | class Meta(object): method validate_end_time (line 615) | def validate_end_time(self, value): method validate_author (line 620) | def validate_author(self, value): method validate_components (line 625) | def validate_components(self, value): method validate (line 636) | def validate(self, data): method create (line 641) | def create(self, validated_data: dict): method _add_maintenance_components (line 663) | def _add_maintenance_components(task: msgmaint.MaintenanceTask, compon... class ResponseMaintenanceTaskSerializer (line 676) | class ResponseMaintenanceTaskSerializer(serializers.ModelSerializer): class Meta (line 681) | class Meta(object): method get_components (line 685) | def get_components(self, obj): method _get_component_ids_of_specific_model (line 696) | def _get_component_ids_of_specific_model( FILE: python/nav/web/api/v1/views.py class Iso8601ParseError (line 88) | class Iso8601ParseError(exceptions.ParseError): class IPParseError (line 94) | class IPParseError(exceptions.ParseError): function api_root (line 102) | def api_root(request): function get_endpoints (line 143) | def get_endpoints(request=None, version=1): class RelatedOrderingFilter (line 185) | class RelatedOrderingFilter(filters.OrderingFilter): method is_valid_field (line 191) | def is_valid_field(self, model, field): method remove_invalid_fields (line 213) | def remove_invalid_fields(self, queryset, ordering, view, request): class NAVAPIMixin (line 221) | class NAVAPIMixin(APIView): class ServiceHandlerViewSet (line 236) | class ServiceHandlerViewSet(NAVAPIMixin, ViewSet): method list (line 239) | def list(self, _request): method retrieve (line 245) | def retrieve(self, _request, pk=None): method _build_object (line 255) | def _build_object(checker): class LoggerMixin (line 263) | class LoggerMixin(object): method create (line 266) | def create(self, request, *args, **kwargs): method update (line 273) | def update(self, request, *args, **kwargs): method destroy (line 285) | def destroy(self, request, *args, **kwargs): class AccountViewSet (line 294) | class AccountViewSet(NAVAPIMixin, viewsets.ModelViewSet): class AccountGroupViewSet (line 313) | class AccountGroupViewSet(NAVAPIMixin, viewsets.ModelViewSet): method get_queryset (line 330) | def get_queryset(self): class AliasQueryParamMixin (line 338) | class AliasQueryParamMixin: method get_queryset (line 341) | def get_queryset(self): class RoomViewSet (line 349) | class RoomViewSet( class LocationViewSet (line 374) | class LocationViewSet( class UnrecognizedNeighborViewSet (line 398) | class UnrecognizedNeighborViewSet(NAVAPIMixin, viewsets.ReadOnlyModelVie... class ManagementProfileViewSet (line 417) | class ManagementProfileViewSet(LoggerMixin, NAVAPIMixin, viewsets.ModelV... class NetboxFilterClass (line 424) | class NetboxFilterClass(FilterSet): method filter_room_alias (line 431) | def filter_room_alias(self, queryset, name, value): method filter_room_location_alias (line 434) | def filter_room_location_alias(self, queryset, name, value): class Meta (line 437) | class Meta: class NetboxViewSet (line 442) | class NetboxViewSet(LoggerMixin, NAVAPIMixin, viewsets.ModelViewSet): method destroy (line 473) | def destroy(self, request, *args, **kwargs): method get_queryset (line 485) | def get_queryset(self): class InterfaceFilterClass (line 512) | class InterfaceFilterClass(FilterSet): class Meta (line 517) | class Meta(object): class InterfaceFragmentRenderer (line 533) | class InterfaceFragmentRenderer(TemplateHTMLRenderer): class InterfaceViewSet (line 538) | class InterfaceViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): method get_serializer_class (line 577) | def get_serializer_class(self): method get_renderers (line 584) | def get_renderers(self): method metrics (line 590) | def metrics(self, _request, pk=None): method last_used (line 599) | def last_used(self, _request, pk=None): class PatchFilterClass (line 614) | class PatchFilterClass(FilterSet): method filter_cabling_room_alias (line 620) | def filter_cabling_room_alias(self, queryset, name, value): method filter_cabling_target_room_alias (line 624) | def filter_cabling_target_room_alias(self, queryset, name, value): class Meta (line 628) | class Meta: class PatchViewSet (line 638) | class PatchViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): class CablingFilterClass (line 673) | class CablingFilterClass(FilterSet): method filter_room_alias (line 680) | def filter_room_alias(self, queryset, name, value): method filter_target_room_alias (line 684) | def filter_target_room_alias(self, queryset, name, value): class Meta (line 688) | class Meta: class CablingViewSet (line 699) | class CablingViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): method get_queryset (line 732) | def get_queryset(self): class MachineTrackerViewSet (line 745) | class MachineTrackerViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): method get_queryset (line 748) | def get_queryset(self): method _parse_mac_to_queryset (line 769) | def _parse_mac_to_queryset(mac, queryset): class CamViewSet (line 784) | class CamViewSet(MachineTrackerViewSet): method list (line 815) | def list(self, request): class ArpViewSet (line 825) | class ArpViewSet(MachineTrackerViewSet): method list (line 859) | def list(self, request): method get_queryset (line 868) | def get_queryset(self): class VlanViewSet (line 884) | class VlanViewSet(NAVAPIMixin, viewsets.ModelViewSet): class PrefixFilterClass (line 914) | class PrefixFilterClass(FilterSet): method contains_address_filter (line 918) | def contains_address_filter(self, queryset, field_name, value): method is_net_address (line 928) | def is_net_address(self, queryset, field_name, value): class Meta (line 937) | class Meta(object): class PrefixViewSet (line 946) | class PrefixViewSet(NAVAPIMixin, viewsets.ModelViewSet): method search (line 963) | def search(self, request): class RoutedPrefixList (line 976) | class RoutedPrefixList(NAVAPIMixin, ListAPIView): method get_queryset (line 988) | def get_queryset(self): function get_times (line 999) | def get_times(request): class PrefixUsageList (line 1018) | class PrefixUsageList(NAVAPIMixin, ListAPIView): method get (line 1053) | def get(self, request, *args, **kwargs): method get_queryset (line 1058) | def get_queryset(self): method get_serializer (line 1078) | def get_serializer(self, data, *args, **kwargs): class PrefixUsageDetail (line 1089) | class PrefixUsageDetail(NAVAPIMixin, APIView): method get (line 1093) | def get(request, prefix): class AlertFragmentRenderer (line 1113) | class AlertFragmentRenderer(TemplateHTMLRenderer): method get_template_context (line 1122) | def get_template_context(self, data, renderer_context): class AlertHistoryViewSet (line 1142) | class AlertHistoryViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): method get_renderers (line 1177) | def get_renderers(self): method get_queryset (line 1182) | def get_queryset(self): method _get_stateless_queryset (line 1191) | def _get_stateless_queryset(self): method get_template_names (line 1201) | def get_template_names(self): method is_single_alert_by_primary_key (line 1217) | def is_single_alert_by_primary_key(self): class RackFilterClass (line 1222) | class RackFilterClass(FilterSet): method filter_room_alias (line 1227) | def filter_room_alias(self, queryset, name, value): class Meta (line 1230) | class Meta: class RackViewSet (line 1235) | class RackViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): function get_or_create_token (line 1257) | def get_or_create_token(request): function get_nav_version (line 1279) | def get_nav_version(request): class ModuleViewSet (line 1287) | class ModuleViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): class VendorLookup (line 1307) | class VendorLookup(NAVAPIMixin, APIView): method get (line 1336) | def get(request): method post (line 1352) | def post(request): function get_vendor_names (line 1386) | def get_vendor_names(mac_addresses: Sequence[MacAddress]) -> dict[str, s... function validate_mac_addresses (line 1420) | def validate_mac_addresses(mac_addresses: Sequence[str]) -> list[MacAddr... class NetboxEntityViewSet (line 1440) | class NetboxEntityViewSet(NAVAPIMixin, viewsets.ReadOnlyModelViewSet): class JWTRefreshViewSet (line 1457) | class JWTRefreshViewSet(NAVAPIMixin, APIView): method post (line 1465) | def post(self, request): class MaintenanceTaskFilterSet (line 1551) | class MaintenanceTaskFilterSet(FilterSet): class Meta (line 1559) | class Meta: method filter_current (line 1563) | def filter_current(self, queryset, name, value): method filter_past (line 1570) | def filter_past(self, queryset, name, value): method filter_future (line 1577) | def filter_future(self, queryset, name, value): method filter_endless (line 1584) | def filter_endless(self, queryset, name, value): class MaintenanceTaskViewSet (line 1592) | class MaintenanceTaskViewSet(NAVAPIMixin, viewsets.ModelViewSet): method get_serializer_class (line 1619) | def get_serializer_class(self): method create (line 1624) | def create(self, request): FILE: python/nav/web/apps.py class NAVWebAppConfig (line 20) | class NAVWebAppConfig(AppConfig): method ready (line 24) | def ready(self): FILE: python/nav/web/arnold/forms.py class JustificationForm (line 41) | class JustificationForm(forms.Form): method __init__ (line 48) | def __init__(self, *args, **kwargs): class QuarantineVlanForm (line 70) | class QuarantineVlanForm(forms.Form): method __init__ (line 77) | def __init__(self, *args, **kwargs): method clean (line 98) | def clean(self): class HistorySearchForm (line 107) | class HistorySearchForm(forms.Form): class SearchForm (line 113) | class SearchForm(forms.Form): method __init__ (line 129) | def __init__(self, *args, **kwargs): method clean_searchvalue (line 156) | def clean_searchvalue(self): method clean (line 160) | def clean(self): class DetentionProfileForm (line 178) | class DetentionProfileForm(forms.Form): method clean (line 202) | def clean(self): method __init__ (line 214) | def __init__(self, *args, **kwargs): class ManualDetentionTargetForm (line 271) | class ManualDetentionTargetForm(forms.Form): method __init__ (line 276) | def __init__(self, *args, **kwargs): method clean_target (line 284) | def clean_target(self): class ManualDetentionForm (line 293) | class ManualDetentionForm(forms.Form): method clean (line 312) | def clean(self): method __init__ (line 324) | def __init__(self, *args, **kwargs): function get_justifications (line 345) | def get_justifications(profileid=None): function get_quarantine_vlans (line 363) | def get_quarantine_vlans(): FILE: python/nav/web/arnold/views.py function create_context (line 54) | def create_context(path, context): function render_history (line 62) | def render_history(request): function render_detained_ports (line 86) | def render_detained_ports(request): function render_search (line 99) | def render_search(request): function process_searchform (line 119) | def process_searchform(form): function render_justifications (line 142) | def render_justifications(request, jid=None): function is_deletable (line 179) | def is_deletable(justification): function process_justification_form (line 192) | def process_justification_form(form): function delete_justification (line 209) | def delete_justification(_request, jid): function render_manual_detention_step_one (line 224) | def render_manual_detention_step_one(request): function render_manual_detention_step_two (line 250) | def render_manual_detention_step_two(request, target): function humanize (line 285) | def humanize(candidate): function get_last_seen (line 289) | def get_last_seen(camid): function process_manual_detention_form (line 297) | def process_manual_detention_form(form, account): function choose_detentions (line 342) | def choose_detentions(request, did): function lift_detentions (line 356) | def lift_detentions(request): function render_detention_profiles (line 367) | def render_detention_profiles(request): function render_edit_detention_profile (line 384) | def render_edit_detention_profile(request, did=None): function process_detention_profile_form (line 427) | def process_detention_profile_form(form, account): function render_quarantine_vlans (line 457) | def render_quarantine_vlans(request, qid=None): function process_quarantinevlan_form (line 488) | def process_quarantinevlan_form(form): function render_details (line 505) | def render_details(request, did): FILE: python/nav/web/auth/__init__.py function get_login_url (line 41) | def get_login_url(request: HttpRequest, path=None) -> str: function get_post_logout_redirect_url (line 53) | def get_post_logout_redirect_url(request: HttpRequest) -> str: function get_logout_url (line 59) | def get_logout_url(request: HttpRequest) -> str: FILE: python/nav/web/auth/allauth/__init__.py class MFAConfigParser (line 10) | class MFAConfigParser(TOMLConfigParser): method is_mfa_enabled (line 25) | def is_mfa_enabled(self): method are_recovery_codes_enabled (line 28) | def are_recovery_codes_enabled(self): method are_passkeys_enabled (line 31) | def are_passkeys_enabled(self): method are_passkey_signups_enabled (line 34) | def are_passkey_signups_enabled(self): method are_insecure_origins_allowed (line 37) | def are_insecure_origins_allowed(self): method get_MFA_SUPPORTED_TYPES_setting (line 41) | def get_MFA_SUPPORTED_TYPES_setting(self): method get_MFA_PASSKEY_LOGIN_ENABLED_setting (line 51) | def get_MFA_PASSKEY_LOGIN_ENABLED_setting(self): method get_MFA_PASSKEY_SIGNUP_ENABLED_setting (line 54) | def get_MFA_PASSKEY_SIGNUP_ENABLED_setting(self): method get_MFA_WEBAUTHN_ALLOW_INSECURE_ORIGIN_setting (line 60) | def get_MFA_WEBAUTHN_ALLOW_INSECURE_ORIGIN_setting(self): method log_config (line 66) | def log_config(self): class SocialProviderHelper (line 88) | class SocialProviderHelper: method get_providers (line 100) | def get_providers(self) -> dict: method get_provider_config (line 103) | def get_provider_config(self, provider: str) -> dict: method _get_common_SOCIALACCOUNT_PROVIDERS_fields_for_provider (line 107) | def _get_common_SOCIALACCOUNT_PROVIDERS_fields_for_provider( class SocialConfigParser (line 120) | class SocialConfigParser(SocialProviderHelper, TOMLConfigParser): method translate_entry_for_provider (line 140) | def translate_entry_for_provider(self, provider: str): method translate_all_provider_configs (line 156) | def translate_all_provider_configs(self): method generate_SOCIALACCOUNT_PROVIDERS (line 162) | def generate_SOCIALACCOUNT_PROVIDERS(self): method get_provider_import_paths (line 166) | def get_provider_import_paths(self): class OIDCConfigParser (line 182) | class OIDCConfigParser(SocialProviderHelper, TOMLConfigParser): method translate_entry_for_provider (line 211) | def translate_entry_for_provider(self, provider: str) -> dict: method translate_all_provider_configs (line 232) | def translate_all_provider_configs(self): method get_OAUTH_PKCE_ENABLED (line 238) | def get_OAUTH_PKCE_ENABLED(self): method generate_SOCIALACCOUNT_PROVIDERS (line 241) | def generate_SOCIALACCOUNT_PROVIDERS(self) -> dict: method get_provider_import_paths (line 252) | def get_provider_import_paths(self): FILE: python/nav/web/auth/allauth/adapter.py class NAVAccountAdapter (line 10) | class NAVAccountAdapter(DefaultAccountAdapter): method is_open_for_signup (line 11) | def is_open_for_signup(self, request): class NAVSocialAccountAdapter (line 20) | class NAVSocialAccountAdapter(DefaultSocialAccountAdapter): method is_open_for_signup (line 21) | def is_open_for_signup(self, request, sociallogin): class NAVMFAAdapter (line 30) | class NAVMFAAdapter(DefaultMFAAdapter): method is_mfa_enabled (line 31) | def is_mfa_enabled(self, user, types=None) -> bool: FILE: python/nav/web/auth/allauth/views.py class NAVConnectionsView (line 21) | class NAVConnectionsView(ConnectionsView): method get_context_data (line 28) | def get_context_data(self, **kwargs): FILE: python/nav/web/auth/backends.py class NAVRemoteUserBackend (line 12) | class NAVRemoteUserBackend(RemoteUserBackend): method __init__ (line 15) | def __init__(self): method authenticate (line 18) | def authenticate(self, request, user): method clean_username (line 25) | def clean_username(self, username): method configure_user (line 28) | def configure_user(self, request, user, created=True): method user_can_authenticate (line 49) | def user_can_authenticate(self, user): FILE: python/nav/web/auth/ldap.py class LdapWebfrontConfigParser (line 33) | class LdapWebfrontConfigParser(NAVConfigParser): function open_ldap (line 76) | def open_ldap() -> "ldap.ldapobject.LDAPObject": function authenticate (line 124) | def authenticate(login: str, password: str) -> Union["LDAPUser", bool]: class LDAPUser (line 201) | class LDAPUser(object): method __init__ (line 211) | def __init__(self, username: str, ldap_conn: "ldap.ldapobject.LDAPObje... method bind (line 217) | def bind(self, password: str) -> None: method get_user_dn (line 233) | def get_user_dn(self) -> str: method construct_dn (line 253) | def construct_dn(self) -> str: method search_dn (line 265) | def search_dn(self) -> tuple[str, str]: method get_real_name (line 291) | def get_real_name(self) -> Optional[str]: method is_group_member (line 315) | def is_group_member(self, group_dn: str) -> bool: method get_entitlements (line 343) | def get_entitlements(self) -> list[str]: method has_entitlement (line 369) | def has_entitlement(self, entitlement: str) -> bool: method is_admin (line 373) | def is_admin(self) -> Optional[bool]: class Error (line 388) | class Error(nav.errors.GeneralException): class NoAnswerError (line 392) | class NoAnswerError(Error): class TimeoutError (line 396) | class TimeoutError(NoAnswerError): class NoStartTlsError (line 400) | class NoStartTlsError(Error): class LDAPConfigError (line 404) | class LDAPConfigError(Error): class UserNotFound (line 408) | class UserNotFound(Error): function __test (line 412) | def __test(): FILE: python/nav/web/auth/ldap_auth_backend.py class LdapBackend (line 39) | class LdapBackend(ModelBackend): method authenticate (line 56) | def authenticate( method _is_an_ldap_synced_user (line 87) | def _is_an_ldap_synced_user(nav_user: Account) -> bool: method _ldap_authenticate (line 93) | def _ldap_authenticate(username: str, password: str) -> Optional["LDAP... method _create_nav_account (line 110) | def _create_nav_account(ldap_user: "LDAPUser", password: str) -> Account: method _sync_nav_account (line 123) | def _sync_nav_account( method _sync_nav_account_admin_privileges_from_ldap (line 134) | def _sync_nav_account_admin_privileges_from_ldap( FILE: python/nav/web/auth/middleware.py class AuthorizationMiddleware (line 43) | class AuthorizationMiddleware(MiddlewareMixin): method process_view (line 46) | def process_view( class NAVRemoteUserMiddleware (line 58) | class NAVRemoteUserMiddleware(RemoteUserMiddleware): method __init__ (line 63) | def __init__(self, get_response): method process_request (line 70) | def process_request(self, request): class NAVAuthenticationMiddleware (line 116) | class NAVAuthenticationMiddleware(MiddlewareMixin): method process_request (line 124) | def process_request(self, request: HttpRequest) -> None: FILE: python/nav/web/auth/remote_user.py class RemoteUserConfigParser (line 31) | class RemoteUserConfigParser(NAVConfigParser): method get_remote_user_varname (line 45) | def get_remote_user_varname(self): method will_autocreate_user (line 53) | def will_autocreate_user(self): method is_remote_user_enabled (line 56) | def is_remote_user_enabled(self): method will_force_logout_if_no_header (line 59) | def will_force_logout_if_no_header(self): method get_loginurl (line 64) | def get_loginurl(self, request): method get_logouturl (line 72) | def get_logouturl(self, request): method get_post_logout_redirect_url (line 80) | def get_post_logout_redirect_url(self, request): method get_remote_url (line 88) | def get_remote_url(self, request, urltype): method clean_username (line 106) | def clean_username(self, username): function fake_password (line 124) | def fake_password(length): function _workaround_default (line 128) | def _workaround_default(username): function _workaround_feide_oidc (line 134) | def _workaround_feide_oidc(username): FILE: python/nav/web/auth/sudo.py function sudo (line 38) | def sudo(request: HttpRequest, other_user: Account) -> None: function desudo (line 64) | def desudo(request: HttpRequest) -> None: function get_sudoer (line 93) | def get_sudoer(request: HttpRequest) -> Optional[Account]: class SudoRecursionError (line 99) | class SudoRecursionError(Exception): method __str__ (line 102) | def __str__(self) -> str: class SudoNotAdminError (line 106) | class SudoNotAdminError(Exception): method __str__ (line 109) | def __str__(self) -> str: FILE: python/nav/web/auth/utils.py function default_account (line 49) | def default_account(): function get_account (line 59) | def get_account(request): function set_account (line 75) | def set_account(request, account, cycle_session_id=True): function clear_session (line 96) | def clear_session(request): function ensure_account (line 108) | def ensure_account(request): function authorization_not_required (line 134) | def authorization_not_required(fullpath): function get_number_of_accounts_with_password_issues (line 152) | def get_number_of_accounts_with_password_issues() -> int: function authorize_request (line 170) | def authorize_request(request: HttpRequest) -> bool: function redirect_to_login (line 206) | def redirect_to_login(request: HttpRequest) -> HttpResponse: FILE: python/nav/web/business/reportengine.py function send_reports (line 34) | def send_reports(period): function send_report (line 57) | def send_report(report, to_address): function build_report (line 69) | def build_report(period, report_type, exclude_maintenance=False): function build_context (line 79) | def build_context(period, report_type, exclude_maintenance=False): function get_last_interval (line 103) | def get_last_interval(sometime, period): function convert_to_datetime (line 126) | def convert_to_datetime(*dates): function get_email_subject (line 131) | def get_email_subject(period, report_type): FILE: python/nav/web/business/utils.py class LinkSubject (line 20) | class LinkSubject(object): method __init__ (line 23) | def __init__(self, subject): method get_absolute_url (line 26) | def get_absolute_url(self): method __str__ (line 29) | def __str__(self): function get_interval (line 33) | def get_interval(sometime, interval): function get_months (line 57) | def get_months(number_of_months=12): function compute_availability (line 75) | def compute_availability(downtime, interval): function create_record (line 85) | def create_record(subject, alerts, start, end, maintenances=None): function get_subject (line 106) | def get_subject(subject): function group_by_subject (line 114) | def group_by_subject(alerts, subject_filter=None): function get_netbox_records (line 124) | def get_netbox_records(start, end, exclude_maintenance=False): function get_interface_records (line 144) | def get_interface_records(start, end, exclude_maintenance=False): function get_alert_periods_by_type (line 154) | def get_alert_periods_by_type(period_start, period_end, event_type_id, a... FILE: python/nav/web/business/views.py class BusinessView (line 21) | class BusinessView(TemplateView): method get_context_data (line 27) | def get_context_data(self, **kwargs): class AvailabilityReportView (line 47) | class AvailabilityReportView(BusinessView): method get_context_data (line 54) | def get_context_data(self, **kwargs): method exclude_maintenance (line 75) | def exclude_maintenance(self): method get_records (line 78) | def get_records(self, start, end): method group_alerts (line 83) | def group_alerts(alerts): method get_url (line 90) | def get_url(self): class DeviceAvailabilityReport (line 95) | class DeviceAvailabilityReport(AvailabilityReportView): method get_url (line 101) | def get_url(self): method get_records (line 104) | def get_records(self, start, end): class LinkAvailabilityReport (line 109) | class LinkAvailabilityReport(AvailabilityReportView): method get_url (line 115) | def get_url(self): method get_records (line 118) | def get_records(self, start, end): function save_report_subscription (line 123) | def save_report_subscription(request): function render_report_subscriptions (line 150) | def render_report_subscriptions(request): function remove_report_subscription (line 155) | def remove_report_subscription(request): FILE: python/nav/web/crispyforms.py class CheckBox (line 24) | class CheckBox: method __init__ (line 30) | def __init__(self, field, css_classes: Optional[str] = None): class HelpFormField (line 36) | class HelpFormField: method __init__ (line 42) | def __init__(self, field): class NumberInput (line 48) | class NumberInput(forms.TextInput): class NumberField (line 54) | class NumberField(forms.IntegerField): class FlatFieldset (line 60) | class FlatFieldset: method __init__ (line 74) | def __init__( class FormRow (line 88) | class FormRow: method __init__ (line 97) | def __init__(self, fields: list, css_classes: Optional[str] = None): class FormColumn (line 104) | class FormColumn: method __init__ (line 113) | def __init__(self, fields: list, css_classes: str = ''): class SubmitField (line 120) | class SubmitField: method __init__ (line 132) | def __init__( function set_flat_form_attributes (line 147) | def set_flat_form_attributes( class FormDiv (line 194) | class FormDiv: method __init__ (line 201) | def __init__( FILE: python/nav/web/devicehistory/forms.py class MyDateInput (line 33) | class MyDateInput(forms.DateInput): method __init__ (line 38) | def __init__(self, attrs=None, format=None): class MyDateField (line 45) | class MyDateField(forms.DateField): class DeviceHistoryViewFilter (line 51) | class DeviceHistoryViewFilter(forms.Form): method get_initial (line 69) | def get_initial(): method __init__ (line 76) | def __init__(self, *args, **kwargs): method clean (line 109) | def clean(self): FILE: python/nav/web/devicehistory/utils/__init__.py function get_event_and_alert_types (line 22) | def get_event_and_alert_types(): FILE: python/nav/web/devicehistory/utils/componentsearch.py function get_component_search_results (line 7) | def get_component_search_results( function _get_search_queries (line 51) | def _get_search_queries(search: str, exclude: list[Model] = []): function _get_component_query (line 92) | def _get_component_query(component_type: Model, query: Q): function _prefetch_and_group_components (line 102) | def _prefetch_and_group_components( function _get_option_label (line 131) | def _get_option_label(component: Model): function _get_component_name (line 142) | def _get_component_name(component_type: Model): function _get_component_label (line 151) | def _get_component_label(component_type: Model): FILE: python/nav/web/devicehistory/utils/error.py function register_error_events (line 39) | def register_error_events(request, **kwargs): FILE: python/nav/web/devicehistory/utils/history.py function get_selected_types (line 64) | def get_selected_types(selected_type): function fetch_history (line 73) | def fetch_history(selection, form): function get_page (line 173) | def get_page(paginator, page): function get_messages_for_history (line 181) | def get_messages_for_history(alert_history): function group_history_and_messages (line 189) | def group_history_and_messages(history, messages, group_by=None): function describe_search_params (line 214) | def describe_search_params(selection): function _get_data_to_search_terms (line 236) | def _get_data_to_search_terms(selection, key_string, model): function add_descendants (line 251) | def add_descendants(parents): FILE: python/nav/web/devicehistory/views.py function devicehistory_search (line 54) | def devicehistory_search(request): function __handle_redirect_for_inactive_device (line 77) | def __handle_redirect_for_inactive_device(request): function devicehistory_component_search (line 89) | def devicehistory_component_search(request): function devicehistory_view_location (line 104) | def devicehistory_view_location(request, location_id): function devicehistory_view_netbox (line 109) | def devicehistory_view_netbox(request, netbox_id): function devicehistory_view_room (line 114) | def devicehistory_view_room(request, room_id): function devicehistory_view (line 119) | def devicehistory_view(request, **_): function error_form (line 173) | def error_form(request): function registererror_component_search (line 194) | def registererror_component_search(request): function confirm_error_form (line 211) | def confirm_error_form(request): function register_error (line 238) | def register_error(request): function delete_module (line 263) | def delete_module(request): function do_delete_module (line 304) | def do_delete_module(request): function _get_unresolved_module_states (line 344) | def _get_unresolved_module_states(limit_to=None): FILE: python/nav/web/geomap/conf.py class ConfigurationSyntaxError (line 49) | class ConfigurationSyntaxError(ConfigurationError): method __init__ (line 50) | def __init__(self, msg, filename, linenr): method __str__ (line 56) | def __str__(self): class ConfigurationEvaluationError (line 64) | class ConfigurationEvaluationError(ConfigurationError): method __init__ (line 65) | def __init__(self, expression, original_exception, filename, linenr): method __str__ (line 72) | def __str__(self): function parse_conf (line 79) | def parse_conf(lines, filename): function parse_conf_file (line 202) | def parse_conf_file(filename): function interpret_configuration (line 215) | def interpret_configuration(config, filename): function conf_eval (line 360) | def conf_eval(expr, filename, linenr): function read_configuration (line 367) | def read_configuration(filename): function get_configuration (line 371) | def get_configuration(): FILE: python/nav/web/geomap/db.py function get_data (line 260) | def get_data(db_cursor, bounds, time_interval=None): function get_cached_multiple_link_load (line 388) | def get_cached_multiple_link_load(items, time_interval): function _cache_key (line 421) | def _cache_key(*args): function get_multiple_link_load (line 426) | def get_multiple_link_load(items, time_interval): function get_cached_multiple_cpu_load (line 474) | def get_cached_multiple_cpu_load(items, time_interval): function get_multiple_cpu_load (line 506) | def get_multiple_cpu_load(items, time_interval): function _get_metric_average (line 546) | def _get_metric_average(targets, time_interval): FILE: python/nav/web/geomap/features.py function create_features (line 53) | def create_features(variant, graph, do_create_edges=True): function load_popup_template (line 81) | def load_popup_template(filename): function apply_indicator (line 98) | def apply_indicator(ind, properties): function apply_indicators (line 140) | def apply_indicators(indicators, properties): function create_node_feature (line 146) | def create_node_feature(node, popup_template, default_style, indicators): function create_node_popup (line 174) | def create_node_popup(node, popup_template): function create_edge_features (line 182) | def create_edge_features(edge, popup_template, default_style, indicators): function create_edge_popup (line 233) | def create_edge_popup(data, popup_template): class Feature (line 241) | class Feature(object): method __init__ (line 244) | def __init__(self, id_, typ, geometry, color, size, popup, properties=... class Geometry (line 254) | class Geometry(object): method __init__ (line 257) | def __init__(self, typ, coordinates): class Popup (line 262) | class Popup(object): method __init__ (line 265) | def __init__(self, id_, size, content, closable): FILE: python/nav/web/geomap/graph.py function build_graph (line 65) | def build_graph(db_results): function simplify (line 95) | def simplify(graph, bounds, viewport_size, limit): function area_filter (line 123) | def area_filter(graph, bounds): function create_rooms (line 163) | def create_rooms(graph): function create_places (line 184) | def create_places(graph, bounds, viewport_size, limit): function collapse_nodes (line 249) | def collapse_nodes(graph, node_sets, property_aggregators): function combine_ids (line 308) | def combine_ids(objects, get_id=lambda o: o.id): function aggregate_properties (line 321) | def aggregate_properties(objects, aggregators): function combine_edges (line 355) | def combine_edges(graph, property_aggregators): function create_edge (line 389) | def create_edge(eset, property_aggregators): function equalize_edge_orientation (line 401) | def equalize_edge_orientation(edges): function reverse_edge (line 420) | def reverse_edge(edge): class Node (line 436) | class Node: method __init__ (line 439) | def __init__(self, node_id, lon, lat, properties): method __repr__ (line 445) | def __repr__(self): class Edge (line 449) | class Edge: method __init__ (line 452) | def __init__(self, edge_id, reverse_id, source, target, source_data, t... method __repr__ (line 460) | def __repr__(self): class Graph (line 464) | class Graph: method __init__ (line 467) | def __init__(self): method add_node (line 471) | def add_node(self, node): method add_edge (line 475) | def add_edge(self, edge): FILE: python/nav/web/geomap/output_formats.py function make_geojson (line 31) | def make_geojson(featurelist): function make_geojson_feature (line 44) | def make_geojson_feature(feature): function make_kml (line 75) | def make_kml(featurelist): function format_data (line 88) | def format_data(format, featurelist): function format_mime_type (line 104) | def format_mime_type(format): FILE: python/nav/web/geomap/templatetags/geomap.py function filter_nan2none (line 25) | def filter_nan2none(value): function filter_format (line 41) | def filter_format(value, arg): FILE: python/nav/web/geomap/utils.py function identity (line 29) | def identity(obj): function group (line 34) | def group(keyfunc, lst): function avg (line 47) | def avg(lst): function weighted_avg (line 60) | def weighted_avg(lst): function argmax (line 75) | def argmax(fun, lst): function nansafe_max (line 87) | def nansafe_max(lst): function numeric (line 106) | def numeric(obj): function float_or_nan (line 111) | def float_or_nan(string): function is_nan (line 119) | def is_nan(val): function compose (line 127) | def compose(*functions): function subdict (line 141) | def subdict(dct, keys): function filter_dict (line 159) | def filter_dict(fun, dct): function map_dict (line 171) | def map_dict(fun, dct): function union_dict (line 181) | def union_dict(*dicts): function concat_list (line 199) | def concat_list(lists): function concat_str (line 204) | def concat_str(strs): class lazy_dict (line 209) | class lazy_dict(object): method __init__ (line 257) | def __init__(self, *args, **kwargs): method __getitem__ (line 261) | def __getitem__(self, key): method __contains__ (line 274) | def __contains__(self, key): method copy (line 278) | def copy(self): method get (line 292) | def get(self, key, default=None): method keys (line 296) | def keys(self): method items (line 300) | def items(self): method update (line 308) | def update(self, dict1, **dict2): method values (line 324) | def values(self): method __setitem__ (line 332) | def __setitem__(self, key, val): method set_lazy (line 354) | def set_lazy(self, key, fun, *args): method __delitem__ (line 364) | def __delitem__(self, key): method remove_if_present (line 369) | def remove_if_present(self, key): method swap (line 374) | def swap(self, key1, key2): method __repr__ (line 378) | def __repr__(self): method force (line 381) | def force(self, key): method force_and_call (line 402) | def force_and_call(self, key, method, *args): function map_dict_lazy (line 408) | def map_dict_lazy(fun, dct): function first (line 418) | def first(lst): FILE: python/nav/web/geomap/views.py function _get_rooms_with_pos (line 58) | def _get_rooms_with_pos(): function geomap_all_room_pos (line 68) | def geomap_all_room_pos(): function geomap (line 86) | def geomap(request, variant): function forward_to_default_variant (line 111) | def forward_to_default_variant(request): function data (line 126) | def data(request, variant): function get_formatted_data (line 185) | def get_formatted_data( function _attach_traffic_load (line 239) | def _attach_traffic_load(graph, time_interval={'start': '-10min', 'end':... function _attach_cpu_load (line 265) | def _attach_cpu_load(graph, time_interval={'start': '-10min', 'end': 'no... FILE: python/nav/web/graphite/urls.py function _dummy (line 23) | def _dummy(x): FILE: python/nav/web/graphite/views.py function index (line 30) | def index(request, uri): function _inject_default_arguments (line 88) | def _inject_default_arguments(query): FILE: python/nav/web/info/event/views.py function get_context (line 27) | def get_context(): function main (line 37) | def main(request): function render_event (line 44) | def render_event(request, event_id): function is_module_or_chassis (line 69) | def is_module_or_chassis(event): function get_messages (line 73) | def get_messages(event): FILE: python/nav/web/info/forms.py class SearchForm (line 29) | class SearchForm(forms.Form): method __init__ (line 34) | def __init__( method clean_query (line 57) | def clean_query(self): FILE: python/nav/web/info/images/upload.py function handle_image_upload (line 20) | def handle_image_upload(request, **kwargs): function handle_image (line 36) | def handle_image(image, uploader, room=None, location=None): FILE: python/nav/web/info/images/utils.py function get_extension (line 30) | def get_extension(filename): function create_hash (line 35) | def create_hash(something, salt=False): function get_next_priority (line 46) | def get_next_priority(obj): function create_image_directory (line 52) | def create_image_directory(imagedirectory): function save_image (line 64) | def save_image(image, imagefullpath): function save_thumbnail (line 75) | def save_thumbnail(imagename, imagedirectory, thumb_dir): FILE: python/nav/web/info/images/views.py function update_title (line 12) | def update_title(request): function delete_image (line 28) | def delete_image(request): function update_priority (line 65) | def update_priority(request): FILE: python/nav/web/info/location/views.py class LocationSearchForm (line 35) | class LocationSearchForm(SearchForm): method __init__ (line 38) | def __init__(self, *args, **kwargs): function get_path (line 44) | def get_path(): function search (line 53) | def search(request): function process_searchform (line 90) | def process_searchform(form): function locationinfo (line 109) | def locationinfo(request, locationid): function upload_image (line 127) | def upload_image(request, locationid): FILE: python/nav/web/info/netboxgroup/views.py class NetboxGroupForm (line 30) | class NetboxGroupForm(SearchForm): method __init__ (line 33) | def __init__(self, *args, **kwargs): function get_netboxgroup_path (line 39) | def get_netboxgroup_path(other=None): function index (line 52) | def index(request): function group_detail (line 100) | def group_detail(request, groupid): function group_edit (line 135) | def group_edit(request, groupid): function handle_edit_request (line 165) | def handle_edit_request(request, group): FILE: python/nav/web/info/prefix/views.py class PrefixSearchForm (line 37) | class PrefixSearchForm(SearchForm): method __init__ (line 40) | def __init__(self, *args, **kwargs): method clean_query (line 46) | def clean_query(self): class PrefixUsageForm (line 58) | class PrefixUsageForm(forms.ModelForm): method __init__ (line 67) | def __init__(self, *args, **kwargs): class Meta (line 73) | class Meta(object): function require_prefix_privilege (line 81) | def require_prefix_privilege(func): function get_context (line 94) | def get_context(prefix=None): function get_query_results (line 106) | def get_query_results(query): function authorize_user (line 112) | def authorize_user(request): function index (line 121) | def index(request): function prefix_details (line 141) | def prefix_details(request, prefix_id): function prefix_add_tags (line 163) | def prefix_add_tags(request, prefix_id): function prefix_reload_tags (line 183) | def prefix_reload_tags(request, prefix_id): FILE: python/nav/web/info/room/views.py class RoomSearchForm (line 61) | class RoomSearchForm(SearchForm): method __init__ (line 64) | def __init__(self, *args, **kwargs): function get_path (line 70) | def get_path(): function search (line 79) | def search(request): function process_searchform (line 115) | def process_searchform(form): function filter_netboxes (line 130) | def filter_netboxes(room): function roominfo (line 135) | def roominfo(request, roomid): function get_room_meta (line 154) | def get_room_meta(room): function render_deviceinfo (line 167) | def render_deviceinfo(request, roomid): function upload_image (line 194) | def upload_image(request, roomid): function render_netboxes (line 220) | def render_netboxes(request, roomid): function render_about_the_search_modal (line 250) | def render_about_the_search_modal(request): function create_csv (line 261) | def create_csv(request): function render_sensors (line 276) | def render_sensors(request, roomid): function create_rack (line 299) | def create_rack(room, rackname): function add_rack (line 309) | def add_rack(request, roomid): function add_rack_modal (line 328) | def add_rack_modal(request, roomid): function remove_rack (line 341) | def remove_rack(request, roomid): function rename_rack (line 349) | def rename_rack(request, roomid, rackid): function render_racks (line 358) | def render_racks(request, roomid): function render_add_sensor_modal (line 377) | def render_add_sensor_modal(request, roomid): function save_sensor (line 431) | def save_sensor(request, roomid): function _handle_save_sensor_error (line 505) | def _handle_save_sensor_error(request, message): function save_sensor_order (line 515) | def save_sensor_order(request, roomid): function save_rack_order (line 533) | def save_rack_order(request, roomid): function save_rack_color (line 544) | def save_rack_color(request, roomid): function remove_sensor (line 555) | def remove_sensor(request, roomid): FILE: python/nav/web/info/searchproviders.py class SearchProvider (line 44) | class SearchProvider(object): method __init__ (line 64) | def __init__(self, query=""): method fetch_results (line 72) | def fetch_results(self): class RoomSearchProvider (line 81) | class RoomSearchProvider(SearchProvider): method fetch_results (line 88) | def fetch_results(self): class LocationSearchProvider (line 100) | class LocationSearchProvider(SearchProvider): method fetch_results (line 107) | def fetch_results(self): class NetboxSearchProvider (line 119) | class NetboxSearchProvider(SearchProvider): method fetch_results (line 126) | def fetch_results(self): class InterfaceSearchProvider (line 144) | class InterfaceSearchProvider(SearchProvider): method fetch_results (line 155) | def fetch_results(self): class FallbackSearchProvider (line 175) | class FallbackSearchProvider(SearchProvider): method fetch_results (line 185) | def fetch_results(self): class VlanSearchProvider (line 203) | class VlanSearchProvider(SearchProvider): method fetch_results (line 215) | def fetch_results(self): class PrefixSearchProvider (line 234) | class PrefixSearchProvider(SearchProvider): method fetch_results (line 241) | def fetch_results(self): class UnrecognizedNeighborSearchProvider (line 254) | class UnrecognizedNeighborSearchProvider(SearchProvider): method fetch_results (line 266) | def fetch_results(self): class DevicegroupSearchProvider (line 277) | class DevicegroupSearchProvider(SearchProvider): method fetch_results (line 284) | def fetch_results(self): function _find_matching_aliases (line 295) | def _find_matching_aliases(aliases, query): FILE: python/nav/web/info/views.py function get_path (line 36) | def get_path(): function index (line 41) | def index(request): function index_search_preview (line 87) | def index_search_preview(request): function _render_search_results (line 120) | def _render_search_results(request, results=None, query=None, show_resul... function process_form (line 138) | def process_form(form): function has_results (line 179) | def has_results(searchproviders): function has_only_one_result (line 189) | def has_only_one_result(searchproviders): function image_help_modal (line 197) | def image_help_modal(request): FILE: python/nav/web/info/vlan/views.py class VlanSearchForm (line 41) | class VlanSearchForm(SearchForm): method __init__ (line 44) | def __init__(self, *args, **kwargs): function get_path (line 50) | def get_path(extra=None): function index (line 61) | def index(request): function process_searchform (line 98) | def process_searchform(form): function vlan_details (line 113) | def vlan_details(request, vlanid): function create_prefix_graph (line 153) | def create_prefix_graph(request, prefixid): function create_vlan_graph (line 182) | def create_vlan_graph(request, vlanid, family=4): function get_vlan_graph_url (line 195) | def get_vlan_graph_url(vlanid, family=4, timeframe="day"): function _vlan_metrics_from_prefixes (line 222) | def _vlan_metrics_from_prefixes(prefixes, ip_version): function find_gwportprefixes (line 253) | def find_gwportprefixes(vlan): FILE: python/nav/web/interface_browser/views.py function default_context (line 22) | def default_context(): function index (line 27) | def index(request): function by_netboxid (line 32) | def by_netboxid(request, netboxid): FILE: python/nav/web/ipam/api.py class SuggestParams (line 46) | class SuggestParams(serializers.Serializer): method validate (line 52) | def validate(self, data): class PrefixViewSet (line 63) | class PrefixViewSet(viewsets.ViewSet): method get_queryset (line 86) | def get_queryset(self): method suggest (line 116) | def suggest(self, request, *args, **kwargs): method usage (line 131) | def usage(self, request, *args, **kwargs): method list (line 150) | def list(self, request, *args, **kwargs): class PrefixFinderSet (line 161) | class PrefixFinderSet(viewsets.ViewSet): method get_queryset (line 174) | def get_queryset(self): method list (line 183) | def list(self, request, *args, **kwargs): FILE: python/nav/web/ipam/prefix_tree.py class PrefixHeap (line 38) | class PrefixHeap(object): method __init__ (line 41) | def __init__(self, children=None): method fields (line 47) | def fields(self): method is_leaf (line 52) | def is_leaf(self): method walk (line 56) | def walk(self): method walk_roots (line 67) | def walk_roots(self): method json (line 74) | def json(self): method children_count (line 79) | def children_count(self): method add (line 83) | def add(self, node): method add_many (line 97) | def add_many(self, nodes): class IpNode (line 111) | class IpNode(PrefixHeap): method __init__ (line 114) | def __init__(self, ip_addr, net_type): method ip (line 120) | def ip(self): method not_in_use (line 124) | def not_in_use(self): method in_use (line 133) | def in_use(self): method __contains__ (line 138) | def __contains__(self, other): method __cmp__ (line 142) | def __cmp__(self, other): method __eq__ (line 146) | def __eq__(self, other): method __lt__ (line 150) | def __lt__(self, other): class IpNodeFacade (line 155) | class IpNodeFacade(IpNode): method __init__ (line 180) | def __init__(self, ip_addr, pk, net_type, sort_fn=None): method parent_pk (line 186) | def parent_pk(self): method is_reservable (line 193) | def is_reservable(self): method empty_ranges (line 199) | def empty_ranges(self): method net_ident (line 204) | def net_ident(self): method bits (line 210) | def bits(self): method fields (line 215) | def fields(self): method last_octet (line 235) | def last_octet(self): method vlan_number (line 240) | def vlan_number(self): method ip_version (line 245) | def ip_version(self): method edit_url (line 250) | def edit_url(self): method prefixlen (line 258) | def prefixlen(self): method prefix (line 263) | def prefix(self): method children_pks (line 268) | def children_pks(self): method length (line 275) | def length(self): method organization (line 281) | def organization(self): method description (line 286) | def description(self): method is_mock_node (line 291) | def is_mock_node(self): class FauxNode (line 296) | class FauxNode(IpNodeFacade): method __init__ (line 299) | def __init__(self, ip_addr, pk, net_type): method is_mock_node (line 303) | def is_mock_node(self): class FakeVLAN (line 308) | class FakeVLAN(object): method __init__ (line 311) | def __init__(self): method net_type (line 315) | def net_type(self): method description (line 320) | def description(self): method organization (line 325) | def organization(self): method vlan (line 330) | def vlan(self): method net_ident (line 335) | def net_ident(self): class PrefixNode (line 340) | class PrefixNode(IpNodeFacade): method __init__ (line 343) | def __init__(self, prefix, sort_fn=None): function make_prefix_heap (line 369) | def make_prefix_heap( function get_available_nodes (line 431) | def get_available_nodes(ips): function nodes_from_ips (line 440) | def nodes_from_ips(ips, klass="empty"): function make_tree (line 445) | def make_tree(prefixes, family=None, root_ip=None, show_all=None, sort_b... function make_tree_from_ip (line 485) | def make_tree_from_ip(cidr_addresses): FILE: python/nav/web/ipam/util.py class PrefixQuerysetBuilder (line 30) | class PrefixQuerysetBuilder(object): method __init__ (line 36) | def __init__(self, queryset=None): method filter (line 46) | def filter(self, origin, *args, **kwargs): method finalize (line 55) | def finalize(self): method organization (line 63) | def organization(self, org): method filter_full_prefixes (line 67) | def filter_full_prefixes(self): method description (line 90) | def description(self, descr): method vlan_number (line 94) | def vlan_number(self, vlan_number): method net_type (line 100) | def net_type(self, net_type_or_net_types): method search (line 109) | def search(self, query): method usage (line 119) | def usage(self, usage): method within (line 124) | def within(self, prefix): method contains_ip (line 130) | def contains_ip(self, addr): function get_available_subnets (line 142) | def get_available_subnets(prefix_or_prefixes): function _get_available_subnets (line 166) | def _get_available_subnets(prefix_or_prefixes, used_prefixes): function partition_subnet (line 191) | def partition_subnet(prefixlen, prefix): function suggest_range (line 197) | def suggest_range(prefix, prefixlen=24, offset=0, n=10): FILE: python/nav/web/ipam/views.py function index (line 26) | def index(request): function matrix (line 31) | def matrix(request): function subnet_allocator_help_modal (line 36) | def subnet_allocator_help_modal(request): function generate_context (line 46) | def generate_context(): FILE: python/nav/web/ipdevinfo/forms.py class SearchForm (line 30) | class SearchForm(forms.Form): method __init__ (line 35) | def __init__(self, *args, **kwargs): class ActivityIntervalForm (line 57) | class ActivityIntervalForm(forms.Form): method __init__ (line 62) | def __init__(self, *args, **kwargs): method clean_interval (line 86) | def clean_interval(self): class SensorRangesForm (line 92) | class SensorRangesForm(forms.Form): method __init__ (line 98) | def __init__(self, *args, **kwargs): class BooleanSensorForm (line 107) | class BooleanSensorForm(forms.Form): method __init__ (line 124) | def __init__(self, *args, **kwargs): FILE: python/nav/web/ipdevinfo/host_information.py function address_sorter (line 26) | def address_sorter(addr_tuple): function forward_lookup (line 31) | def forward_lookup(host): function reverse_lookup (line 38) | def reverse_lookup(addresses): function get_host_info (line 50) | def get_host_info(host): FILE: python/nav/web/ipdevinfo/utils.py function get_module_view (line 37) | def get_module_view(module_object, perspective, activity_interval=None, ... function _cache_vlan_data_in_ports (line 111) | def _cache_vlan_data_in_ports(ports): function _get_swportstatus_class (line 136) | def _get_swportstatus_class(swport): function _get_swportstatus_title (line 155) | def _get_swportstatus_title(swport): function _get_vlan_numbers (line 195) | def _get_vlan_numbers(swport): function _get_swportactive_class (line 203) | def _get_swportactive_class(swport, interval=30): function _get_swportactive_style (line 221) | def _get_swportactive_style(swport, interval=30): function _get_swportactive_title (line 244) | def _get_swportactive_title(swport, interval=30): function _get_gwportstatus_class (line 272) | def _get_gwportstatus_class(gwport): function _get_gwportstatus_title (line 281) | def _get_gwportstatus_title(gwport): function find_children (line 304) | def find_children(netbox, netboxes=None): function find_organizations (line 320) | def find_organizations(netboxes): function find_netbox_organizations (line 327) | def find_netbox_organizations(netboxes): function find_vlan_organizations (line 332) | def find_vlan_organizations(netboxes): function filter_email (line 349) | def filter_email(organizations): function get_affected_host_count (line 369) | def get_affected_host_count(netboxes): function find_affected_but_not_down (line 374) | def find_affected_but_not_down(netbox_going_down, netboxes): function find_uplink_nodes (line 391) | def find_uplink_nodes(netbox): function sort_by_netbox (line 397) | def sort_by_netbox(netboxes): function create_combined_urls (line 402) | def create_combined_urls(interface, counters): function get_interface_counter_graph_url (line 409) | def get_interface_counter_graph_url( FILE: python/nav/web/ipdevinfo/views.py function find_netboxes (line 86) | def find_netboxes(errors, query): function search (line 114) | def search(request): function is_valid_hostname (line 161) | def is_valid_hostname(hostname): function ipdev_details (line 166) | def ipdev_details(request, name=None, addr=None, netbox_id=None): function get_port_view (line 429) | def get_port_view(request, netbox_sysname, perspective): function module_details (line 502) | def module_details(request, netbox_sysname, module_name): function poegroup_details (line 587) | def poegroup_details(request, netbox_sysname, grpindex): function port_details (line 616) | def port_details(request, netbox_sysname, port_type=None, port_id=None, ... function poe_status_hint_modal (line 690) | def poe_status_hint_modal(request): function poe_classification_hint_modal (line 700) | def poe_classification_hint_modal(request): function get_recent_alerts_interface (line 710) | def get_recent_alerts_interface(interface, days_back=7): function port_counter_graph (line 731) | def port_counter_graph(request, interfaceid, kind='Octets'): function service_list (line 756) | def service_list(request, handler=None): function service_matrix (line 790) | def service_matrix(request): function render_affected (line 823) | def render_affected(request, netboxid): function render_host_info (line 851) | def render_host_info(request, identifier): function unrecognized_neighbors (line 861) | def unrecognized_neighbors(request, netboxid): function sensor_details (line 871) | def sensor_details(request, identifier): function save_port_layout_pref (line 944) | def save_port_layout_pref(request): function _show_loading_indicator_on_refresh_ongoing (line 958) | def _show_loading_indicator_on_refresh_ongoing( function refresh_ipdevinfo_job (line 977) | def refresh_ipdevinfo_job(request, netbox_sysname: str, job_name: str): function refresh_ipdevinfo_job_status_query (line 995) | def refresh_ipdevinfo_job_status_query( FILE: python/nav/web/jwtgen.py function generate_access_token (line 18) | def generate_access_token(token_data: Optional[dict[str, Any]] = None) -... function generate_refresh_token (line 27) | def generate_refresh_token(token_data: Optional[dict[str, Any]] = None) ... function _generate_token (line 36) | def _generate_token( function is_active (line 63) | def is_active(exp: float, nbf: float) -> bool: function hash_token (line 78) | def hash_token(token: str) -> str: function decode_token (line 85) | def decode_token(token: str) -> dict[str, Any]: FILE: python/nav/web/l2trace/__init__.py class L2TraceQuery (line 32) | class L2TraceQuery(object): method __init__ (line 33) | def __init__(self, host_from, host_to): method trace (line 38) | def trace(self): method make_rows (line 55) | def make_rows(self): method make_row_from_node (line 65) | def make_row_from_node(index, node): function join_at_junction (line 81) | def join_at_junction(from_path, to_path): function find_junction (line 93) | def find_junction(from_path, to_path): function reverse_path (line 101) | def reverse_path(path): function get_path (line 108) | def get_path(addr): function get_start_path (line 134) | def get_start_path(addr): function get_host_or_netbox_from_addr (line 141) | def get_host_or_netbox_from_addr(addr): function is_netbox_gateway (line 150) | def is_netbox_gateway(netbox): function are_hosts_on_same_vlan (line 154) | def are_hosts_on_same_vlan(host1, host2): function get_netbox_from_host (line 160) | def get_netbox_from_host(host): function get_vlan_from_host (line 172) | def get_vlan_from_host(host): function get_vlan_from_ip (line 176) | def get_vlan_from_ip(ip): function get_netbox_vlan (line 189) | def get_netbox_vlan(netbox): function get_vlan_uplink_from_netbox (line 195) | def get_vlan_uplink_from_netbox(netbox, vlan=None): function get_vlan_downlink_to_netbox (line 207) | def get_vlan_downlink_to_netbox(netbox, vlan=None): function get_vlan_downlink_to_host (line 219) | def get_vlan_downlink_to_host(host): function get_vlan_gateway (line 238) | def get_vlan_gateway(vlan): class Host (line 249) | class Host(object): method __init__ (line 250) | def __init__(self, host): method is_ip (line 267) | def is_ip(self): method get_host_by_name (line 270) | def get_host_by_name(self): method get_host_by_addr (line 277) | def get_host_by_addr(self): method __repr__ (line 284) | def __repr__(self): method __eq__ (line 291) | def __eq__(self, other): class PathNode (line 295) | class PathNode(object): method __init__ (line 296) | def __init__(self, vlan, if_in, host, if_out): method __repr__ (line 302) | def __repr__(self): method swap_in_out_interfaces (line 311) | def swap_in_out_interfaces(self): class ResultRow (line 315) | class ResultRow(object): method __init__ (line 316) | def __init__( FILE: python/nav/web/l2trace/forms.py class L2TraceForm (line 29) | class L2TraceForm(forms.Form): method __init__ (line 36) | def __init__(self, *args, **kwargs): method clean (line 56) | def clean(self): method clean_host_from (line 70) | def clean_host_from(self): method clean_host_to (line 73) | def clean_host_to(self): FILE: python/nav/web/l2trace/views.py function index (line 23) | def index(request): FILE: python/nav/web/machinetracker/forms.py class MachineTrackerForm (line 26) | class MachineTrackerForm(forms.Form): method clean_days (line 41) | def clean_days(self): class IpTrackerForm (line 56) | class IpTrackerForm(MachineTrackerForm): method clean_ip_range (line 77) | def clean_ip_range(self): class MacTrackerForm (line 87) | class MacTrackerForm(MachineTrackerForm): method clean_mac (line 95) | def clean_mac(self): class SwitchTrackerForm (line 104) | class SwitchTrackerForm(forms.Form): class NetbiosTrackerForm (line 116) | class NetbiosTrackerForm(MachineTrackerForm): method clean_search (line 123) | def clean_search(self): FILE: python/nav/web/machinetracker/iprange.py class MachinetrackerIPRange (line 6) | class MachinetrackerIPRange(util.IPRange): method get_mask_for_network (line 8) | def get_mask_for_network(cls, network): FILE: python/nav/web/machinetracker/utils.py function hostname (line 34) | def hostname(ip): function get_prefix_info (line 57) | def get_prefix_info(addr): function get_last_job_log_from_netboxes (line 75) | def get_last_job_log_from_netboxes(rows, job_type): function normalize_ip_to_string (line 94) | def normalize_ip_to_string(ipaddr): function ip_dict (line 116) | def ip_dict(rows): function process_ip_row (line 131) | def process_ip_row(row, dns): function min_max_mac (line 140) | def min_max_mac(prefix): function track_mac (line 149) | def track_mac(keys, resultset, dns): function get_vendor_query (line 189) | def get_vendor_query(mac_field='mac'): class ProcessInput (line 201) | class ProcessInput: method __init__ (line 204) | def __init__(self, forminput): method __common (line 210) | def __common(self): method ip (line 214) | def ip(self): method mac (line 222) | def mac(self): method swp (line 227) | def swp(self): method netbios (line 232) | def netbios(self): class UplinkTracker (line 241) | class UplinkTracker(list): method __init__ (line 242) | def __init__(self, mac_min, mac_max, vendor=False): class InterfaceTracker (line 266) | class InterfaceTracker(list): method __init__ (line 267) | def __init__(self, mac_min, mac_max, vendor=False): FILE: python/nav/web/machinetracker/views.py function ip_prefix_search (line 61) | def ip_prefix_search(request, prefix_id, active=False): function ip_search (line 74) | def ip_search(request): function ip_do_search (line 84) | def ip_do_search(request): function get_result (line 136) | def get_result(days, from_ip, to_ip, get_netbios=False, get_vendor=False): function get_arp_records (line 144) | def get_arp_records(days, from_ip, to_ip, get_netbios=False, get_vendor=... function flag_as_fishy (line 166) | def flag_as_fishy(records): function create_ip_range (line 175) | def create_ip_range(inactive, from_ip, to_ip, ip_result): function create_tracker (line 184) | def create_tracker(active, dns, inactive, ip_range, ip_result): function create_active_row (line 205) | def create_active_row(tracker, dns, dns_lookups, ip_key, ip_result): function create_inactive_row (line 222) | def create_inactive_row(tracker, dns, dns_lookups, ip_key): function find_colspan (line 234) | def find_colspan(view, form): function mac_search (line 254) | def mac_search(request): function mac_do_search (line 263) | def mac_do_search(request): function switch_search (line 356) | def switch_search(request): function switch_do_search (line 367) | def switch_do_search(request): function get_netbios_query (line 443) | def get_netbios_query(separator=', '): function netbios_search (line 465) | def netbios_search(request): function netbios_do_search (line 474) | def netbios_do_search(request): function render_search_help_modal (line 523) | def render_search_help_modal(request, tab_name): FILE: python/nav/web/macwatch/apps.py class MacWatchConfig (line 4) | class MacWatchConfig(AppConfig): FILE: python/nav/web/macwatch/forms.py class MacWatchForm (line 28) | class MacWatchForm(forms.Form): method __init__ (line 35) | def __init__(self, *args, **kwargs): method clean_macaddress (line 47) | def clean_macaddress(self): FILE: python/nav/web/macwatch/models.py class MacWatch (line 27) | class MacWatch(models.Model): class Meta (line 49) | class Meta(object): method __str__ (line 53) | def __str__(self): method _filtered_mac_addr (line 56) | def _filtered_mac_addr(self): method get_mac_addr (line 60) | def get_mac_addr(self): method get_mac_prefix (line 66) | def get_mac_prefix(self): class MacWatchMatch (line 76) | class MacWatchMatch(models.Model): class Meta (line 97) | class Meta(object): method __str__ (line 100) | def __str__(self): FILE: python/nav/web/macwatch/utils.py function strip_delimiters (line 31) | def strip_delimiters(mac_address): function has_legal_values (line 37) | def has_legal_values(mac_address): function add_zeros_to_mac_addr (line 46) | def add_zeros_to_mac_addr(mac_address): FILE: python/nav/web/macwatch/views.py function do_list (line 31) | def do_list(request, messages=None): function list_watch (line 38) | def list_watch(request): function add_macwatch (line 43) | def add_macwatch(request): function delete_macwatch (line 72) | def delete_macwatch(request, macwatchid): function edit_macwatch (line 103) | def edit_macwatch(request, macwatchid): function populate_info_dict (line 128) | def populate_info_dict(account, macwatches=None, messages=None): FILE: python/nav/web/maintenance/forms.py class MaintenanceTaskForm (line 23) | class MaintenanceTaskForm(forms.Form): method __init__ (line 29) | def __init__(self, *args, **kwargs): method clean (line 57) | def clean(self): class MaintenanceAddSingleNetbox (line 71) | class MaintenanceAddSingleNetbox(forms.Form): function _get_current_year (line 78) | def _get_current_year(): function _get_current_month (line 82) | def _get_current_month(): class MaintenanceCalendarForm (line 86) | class MaintenanceCalendarForm(forms.Form): method cleaned_year (line 97) | def cleaned_year(self): method cleaned_month (line 102) | def cleaned_month(self): method this_month_start (line 107) | def this_month_start(self): method next_month_start (line 112) | def next_month_start(self): method previous_month_start (line 125) | def previous_month_start(self): FILE: python/nav/web/maintenance/utils.py function task_form_initial (line 54) | def task_form_initial(task=None, start_time=None): function infodict_by_state (line 74) | def infodict_by_state(task): class MissingComponent (line 94) | class MissingComponent: method _meta (line 102) | def _meta(self): method __str__ (line 108) | def __str__(self): function component_to_trail (line 116) | def component_to_trail(component: ComponentType) -> List[ComponentType]: function get_components (line 134) | def get_components(task: MaintenanceTask) -> Iterator[ComponentType]: function get_component_keys (line 150) | def get_component_keys(post): function get_component_name (line 178) | def get_component_name(model: models.Model): function get_components_from_keydict (line 190) | def get_components_from_keydict( function prefetch_and_group_components (line 223) | def prefetch_and_group_components( class MaintenanceCalendar (line 253) | class MaintenanceCalendar(HTMLCalendar): method __init__ (line 259) | def __init__(self, tasks): method bg_color (line 265) | def bg_color(self, key): method formatweekheader (line 274) | def formatweekheader(self): method formatmonth (line 278) | def formatmonth(self, year, month): method formatday (line 282) | def formatday(self, day, weekday): method group_span (line 338) | def group_span(self, tasks): method day_cell (line 375) | def day_cell(self, css_class, content): FILE: python/nav/web/maintenance/views.py function redirect_to_calendar (line 63) | def redirect_to_calendar(_request): function calendar (line 68) | def calendar(request, year=None, month=None): function active (line 111) | def active(request): function planned (line 154) | def planned(request): function historic (line 178) | def historic(request): function view (line 203) | def view(request, task_id): function cancel (line 224) | def cancel(request, task_id): function edit (line 248) | def edit(request, task_id=None, start_time=None, **_): function component_search (line 356) | def component_search(request): function component_select (line 410) | def component_select(request): function component_browse (line 430) | def component_browse(request): function add_box_to_maintenance (line 454) | def add_box_to_maintenance(request): function _add_neverending_maintenance_task (line 502) | def _add_neverending_maintenance_task(owner, netbox): FILE: python/nav/web/message.py function new_message (line 30) | def new_message(request, message, type): class Messages (line 43) | class Messages(list): method __init__ (line 55) | def __init__(self, request=None): method __new__ (line 58) | def __new__(cls, request=None): method save (line 68) | def save(self): method get_and_delete (line 74) | def get_and_delete(self): FILE: python/nav/web/messages/feeds.py class ActiveMessagesFeed (line 25) | class ActiveMessagesFeed(Feed): method link (line 34) | def link(self): method items (line 37) | def items(self): method item_title (line 44) | def item_title(self, item): method item_pubdate (line 47) | def item_pubdate(self, item): method item_description (line 50) | def item_description(self, item): method item_link (line 53) | def item_link(self, item): FILE: python/nav/web/messages/forms.py class MessageForm (line 25) | class MessageForm(ModelForm): method __init__ (line 28) | def __init__(self, *args, **kwargs): class Meta (line 63) | class Meta(object): method save (line 67) | def save(self, commit=True): FILE: python/nav/web/messages/views.py function redirect_to_active (line 62) | def redirect_to_active(_request): function active (line 67) | def active(request): function planned (line 81) | def planned(request): function historic (line 95) | def historic(request): function view (line 107) | def view(request, message_id): function expire (line 123) | def expire(_request, message_id): function followup (line 132) | def followup(request, message_id): function save (line 142) | def save(request, message_id=None, replaces=None): FILE: python/nav/web/modals.py function render_modal (line 28) | def render_modal( function resolve_modal (line 52) | def resolve_modal( function render_modal_alert (line 65) | def render_modal_alert( FILE: python/nav/web/modpython.py class ModPythonAuthorizationMiddleware (line 64) | class ModPythonAuthorizationMiddleware(MiddlewareMixin): method process_request (line 67) | def process_request(self, request: HttpRequest) -> Optional[HttpRespon... function headerparserhandler (line 73) | def headerparserhandler(req): function _get_cookie_dict (line 104) | def _get_cookie_dict(req): FILE: python/nav/web/navlets/__init__.py class Navlet (line 84) | class Navlet(TemplateView): method mode (line 111) | def mode(self): method get_template_basename (line 115) | def get_template_basename(self): method get_template_names (line 123) | def get_template_names(self, override_mode: Optional[str] = None): method get_context_data (line 140) | def get_context_data(self, override_mode=None, **kwargs): method get_context_data_view (line 150) | def get_context_data_view(self, context): method get_context_data_edit (line 154) | def get_context_data_edit(self, context): method post (line 158) | def post(self, request, *_, **kwargs): method handle_error_response (line 174) | def handle_error_response(self, request, form, **kwargs): method get_class (line 184) | def get_class(cls): method add_bust_param_to_url (line 189) | def add_bust_param_to_url(url: str) -> str: function list_navlets (line 206) | def list_navlets(): function get_navlet_classes (line 220) | def get_navlet_classes(): function get_navlet_from_name (line 230) | def get_navlet_from_name(navletmodule): function get_user_navlets (line 242) | def get_user_navlets(request, dashboard_id=None): function create_navlet_object (line 254) | def create_navlet_object(usernavlet): function dispatcher (line 281) | def dispatcher(request, navlet_id): function _handle_htmx_error_response (line 332) | def _handle_htmx_error_response( function add_user_navlet (line 354) | def add_user_navlet(request, dashboard_id=None): function add_navlet_modal (line 381) | def add_navlet_modal(request, dashboard_id): function add_navlet (line 395) | def add_navlet(account, navlet, preferences=None, dashboard=None): function get_default_preferences (line 414) | def get_default_preferences(navlet): function find_new_placement (line 425) | def find_new_placement(): function can_modify_navlet (line 437) | def can_modify_navlet(account, request): function modify_navlet (line 442) | def modify_navlet(func, account, request, error_message): function remove_user_navlet_modal (line 456) | def remove_user_navlet_modal(request, navlet_id): function remove_user_navlet (line 467) | def remove_user_navlet(request): function _get_remove_modal_id (line 506) | def _get_remove_modal_id(navlet_id): function save_navlet_order (line 511) | def save_navlet_order(request): function save_order (line 520) | def save_order(account, request): function update_navlet (line 529) | def update_navlet(account, key, value, column): function add_user_navlet_graph (line 538) | def add_user_navlet_graph(request): function add_user_navlet_sensor (line 561) | def add_user_navlet_sensor(request): function set_navlet_preferences (line 587) | def set_navlet_preferences(request): function set_navlet_dashboard (line 608) | def set_navlet_dashboard(request, navlet_id): FILE: python/nav/web/navlets/alert.py class AlertWidget (line 24) | class AlertWidget(Navlet): method get_template_basename (line 37) | def get_template_basename(self): method get_context_data (line 40) | def get_context_data(self, *args, **kwargs): method post (line 69) | def post(self, request, **kwargs): FILE: python/nav/web/navlets/env_rack.py class RackSearchForm (line 24) | class RackSearchForm(forms.Form): method clean_rack (line 31) | def clean_rack(self): class EnvironmentRackWidget (line 43) | class EnvironmentRackWidget(Navlet): method get_template_basename (line 51) | def get_template_basename(self): method get_context_data_view (line 54) | def get_context_data_view(self, context): method get_context_data_edit (line 61) | def get_context_data_edit(self, context): method post (line 71) | def post(self, request, **kwargs): FILE: python/nav/web/navlets/error.py class ErrorWidget (line 21) | class ErrorWidget(Navlet): method get_template_basename (line 26) | def get_template_basename(self): FILE: python/nav/web/navlets/feedreader.py class FeedReaderNavlet (line 24) | class FeedReaderNavlet(Navlet): method get_template_basename (line 32) | def get_template_basename(self): method get_context_data (line 35) | def get_context_data(self, **kwargs): method _get_feed (line 53) | def _get_feed(feedurl, maxposts): method post (line 58) | def post(self, request): FILE: python/nav/web/navlets/forms.py class AlertWidgetForm (line 10) | class AlertWidgetForm(forms.Form): method __init__ (line 34) | def __init__(self, *args, **kwargs): method clean (line 57) | def clean(self): class SensorForm (line 67) | class SensorForm(forms.Form): class PduWidgetForm (line 73) | class PduWidgetForm(forms.Form): method __init__ (line 79) | def __init__(self, *args, **kwargs): FILE: python/nav/web/navlets/gettingstarted.py class GettingStartedWidget (line 21) | class GettingStartedWidget(Navlet): method get_template_basename (line 27) | def get_template_basename(self): FILE: python/nav/web/navlets/graph.py class GraphEditForm (line 23) | class GraphEditForm(forms.Form): method clean_refresh_interval (line 35) | def clean_refresh_interval(self): class GraphWidget (line 42) | class GraphWidget(Navlet): method get_template_basename (line 52) | def get_template_basename(self): method get_context_data_view (line 55) | def get_context_data_view(self, context): method get_context_data_edit (line 64) | def get_context_data_edit(self, context): method post (line 76) | def post(self, request): method get_title (line 81) | def get_title(self): method get_title_from_url (line 93) | def get_title_from_url(url): FILE: python/nav/web/navlets/linklist.py class LinkListNavlet (line 25) | class LinkListNavlet(Navlet): method get_context_data (line 29) | def get_context_data(self, **kwargs): method get_template_basename (line 37) | def get_template_basename(self): FILE: python/nav/web/navlets/locationstatus.py class LocationStatus (line 27) | class LocationStatus(RoomStatus): method get_template_basename (line 35) | def get_template_basename(self): method get_context_data_view (line 38) | def get_context_data_view(self, context): FILE: python/nav/web/navlets/machinetracker.py function is_ip_address (line 26) | def is_ip_address(thing): function is_mac_address (line 36) | def is_mac_address(thing): class MachineTrackerNavlet (line 46) | class MachineTrackerNavlet(Navlet): method get_template_basename (line 52) | def get_template_basename(self): method post (line 55) | def post(self, request): method redirect_to_machinetracker (line 60) | def redirect_to_machinetracker(request): FILE: python/nav/web/navlets/messages.py class MessagesNavlet (line 22) | class MessagesNavlet(Navlet): method get_template_basename (line 27) | def get_template_basename(self): method get_context_data (line 30) | def get_context_data(self, **kwargs): FILE: python/nav/web/navlets/navblog.py class NavBlogNavlet (line 22) | class NavBlogNavlet(Navlet): method get_template_basename (line 30) | def get_template_basename(self): method get_context_data (line 33) | def get_context_data(self, **kwargs): FILE: python/nav/web/navlets/pdu.py class PduWidget (line 26) | class PduWidget(Navlet): method get_template_basename (line 36) | def get_template_basename(self): method get_context_data_edit (line 39) | def get_context_data_edit(self, context): method get_context_data_view (line 44) | def get_context_data_view(self, context): method post (line 75) | def post(self, request, **kwargs): FILE: python/nav/web/navlets/portadmin.py class PortadminNavlet (line 22) | class PortadminNavlet(Navlet): method get_template_basename (line 28) | def get_template_basename(self): method get_context_data (line 31) | def get_context_data(self, **kwargs): FILE: python/nav/web/navlets/report.py class ReportWidget (line 28) | class ReportWidget(Navlet): method get_template_basename (line 36) | def get_template_basename(self): method get_context_data (line 39) | def get_context_data(self, **kwargs): method post (line 68) | def post(self, request): function get_report_names (line 82) | def get_report_names(): FILE: python/nav/web/navlets/room_map.py class RoomMapNavlet (line 25) | class RoomMapNavlet(Navlet): method get (line 31) | def get(self, request, *args, **kwargs): method get_template_basename (line 40) | def get_template_basename(self): FILE: python/nav/web/navlets/roomstatus.py class RoomStatus (line 29) | class RoomStatus(Status2Widget): method get_template_basename (line 37) | def get_template_basename(self): method get_context_data_view (line 40) | def get_context_data_view(self, context): method get_context_data_edit (line 68) | def get_context_data_edit(self, context): FILE: python/nav/web/navlets/sensor.py class SensorWidget (line 23) | class SensorWidget(Navlet): method get_template_basename (line 33) | def get_template_basename(self): method get_context_data (line 36) | def get_context_data(self, *args, **kwargs): method post (line 54) | def post(self, request, **kwargs): FILE: python/nav/web/navlets/status2.py class Status2Widget (line 33) | class Status2Widget(Navlet): method get_template_basename (line 42) | def get_template_basename(self): method get_context_data_view (line 45) | def get_context_data_view(self, context): method get_context_data_edit (line 56) | def get_context_data_edit(self, context): method do_query (line 66) | def do_query(self, query_string): method add_formatted_time (line 79) | def add_formatted_time(self, results): method add_netbox (line 85) | def add_netbox(results): method find_extra_columns (line 98) | def find_extra_columns(status_filter): method format_time (line 105) | def format_time(timestampstring): method post (line 116) | def post(self, request, **kwargs): FILE: python/nav/web/navlets/ups.py class UpsWidgetForm (line 26) | class UpsWidgetForm(forms.Form): method clean_netboxid (line 36) | def clean_netboxid(self): method clean_external_link (line 44) | def clean_external_link(self): class UpsWidget (line 51) | class UpsWidget(Navlet): method get_template_basename (line 61) | def get_template_basename(self): method get_context_data_edit (line 64) | def get_context_data_edit(self, context): method get_context_data_view (line 73) | def get_context_data_view(self, context): method post (line 129) | def post(self, request, **kwargs): class BatteryTimesProxy (line 134) | class BatteryTimesProxy: method __init__ (line 142) | def __init__(self, proxied_sensor: Sensor): method __getattr__ (line 145) | def __getattr__(self, name): method unit_of_measurement (line 149) | def unit_of_measurement(self): method get_metric_name (line 156) | def get_metric_name(self): FILE: python/nav/web/navlets/vlangraph.py class VlanGraphNavlet (line 31) | class VlanGraphNavlet(Navlet): method get_template_basename (line 40) | def get_template_basename(self): method get_context_data (line 43) | def get_context_data(self, **kwargs): method post (line 57) | def post(self, request): FILE: python/nav/web/navlets/watchdog.py class WatchDogWidget (line 23) | class WatchDogWidget(Navlet): method get_context_data (line 30) | def get_context_data(self, **kwargs): method get_template_basename (line 35) | def get_template_basename(self): FILE: python/nav/web/navlets/welcome.py class WelcomeNavlet (line 24) | class WelcomeNavlet(Navlet): method get (line 30) | def get(self, request, *args, **kwargs): method get_template_basename (line 42) | def get_template_basename(self): FILE: python/nav/web/neighbors/views.py function index (line 30) | def index(request): function render_unrecognized (line 35) | def render_unrecognized(request): function render_page (line 45) | def render_page(request, extra_context): function set_ignored_state (line 56) | def set_ignored_state(request): FILE: python/nav/web/netmap/api.py class OwnerOrAdminPermission (line 44) | class OwnerOrAdminPermission(BasePermission): method has_object_permission (line 49) | def has_object_permission(self, request, view, obj): class TrafficView (line 59) | class TrafficView(views.APIView): method get (line 65) | def get(self, _request, *args, **kwargs): class NetmapViewList (line 80) | class NetmapViewList(generics.ListAPIView): method get_queryset (line 88) | def get_queryset(self): class NetmapViewCreate (line 93) | class NetmapViewCreate(generics.CreateAPIView): method perform_create (line 98) | def perform_create(self, serializer): class NetmapViewEdit (line 103) | class NetmapViewEdit(generics.RetrieveUpdateDestroyAPIView): method get_queryset (line 109) | def get_queryset(self): class NetmapViewDefaultViewUpdate (line 117) | class NetmapViewDefaultViewUpdate(generics.RetrieveUpdateAPIView): method get_queryset (line 125) | def get_queryset(self): method get_object (line 128) | def get_object(self): method perform_update (line 135) | def perform_update(self, serializer): class NodePositionUpdate (line 145) | class NodePositionUpdate(generics.UpdateAPIView): method update (line 148) | def update(self, request, *args, **kwargs): class NetmapGraph (line 183) | class NetmapGraph(views.APIView): method get (line 186) | def get(self, request, **kwargs): FILE: python/nav/web/netmap/cache.py function cache_exists (line 35) | def cache_exists(*args): function cache_traffic (line 41) | def cache_traffic(layer): function cache_topology (line 61) | def cache_topology(layer): function update_cached_node_positions (line 88) | def update_cached_node_positions(viewid, layer, updated_nodes): function invalidate_topology_cache (line 104) | def invalidate_topology_cache(viewid, layer): function _safe_cache_set (line 110) | def _safe_cache_set(key, value, timeout): function _cache_key (line 119) | def _cache_key(*args): FILE: python/nav/web/netmap/common.py function convert_bits_to_si (line 39) | def convert_bits_to_si(bits): function convert_bits_to_ieee1541 (line 52) | def convert_bits_to_ieee1541(): function get_traffic_load_in_percent (line 60) | def get_traffic_load_in_percent(bps, capacity=None): function get_traffic_rgb (line 77) | def get_traffic_rgb(percent): function traffic_gradient_map (line 102) | def traffic_gradient_map(): function _traffic_gradient (line 113) | def _traffic_gradient(intensity): function get_status_image_link (line 144) | def get_status_image_link(status): function layer2_graph (line 154) | def layer2_graph(): FILE: python/nav/web/netmap/graph.py function get_topology_graph (line 48) | def get_topology_graph(layer=2, load_traffic=False, view=None): function _json_layer2 (line 57) | def _json_layer2(load_traffic=False, view=None): function _json_layer3 (line 92) | def _json_layer3(load_traffic=False, view=None): function _get_nodes (line 115) | def _get_nodes(node_to_json_function, graph): function get_traffic_gradient (line 122) | def get_traffic_gradient(): function get_layer2_traffic (line 130) | def get_layer2_traffic(location_or_room_id=None): function get_layer3_traffic (line 195) | def get_layer3_traffic(location_or_room_id=None): FILE: python/nav/web/netmap/mixins.py class DefaultNetmapViewMixin (line 24) | class DefaultNetmapViewMixin(object): method get_context_data (line 30) | def get_context_data(self, user, **_kwargs): class AdminRequiredMixin (line 44) | class AdminRequiredMixin(object): method dispatch (line 47) | def dispatch(self, request, *args, **kwargs): FILE: python/nav/web/netmap/serializers.py class MultipleChoiceField (line 26) | class MultipleChoiceField(serializers.ChoiceField): method field_from_native (line 34) | def field_from_native(self, data, files, field_name, into): class InstanceRelatedField (line 45) | class InstanceRelatedField(serializers.RelatedField): method __init__ (line 48) | def __init__(self, related_class=None, *args, **kwargs): method from_native (line 52) | def from_native(self, value): class SimpleCategorySerializer (line 59) | class SimpleCategorySerializer(serializers.ModelSerializer): class Meta (line 62) | class Meta: method to_representation (line 66) | def to_representation(self, instance): method to_internal_value (line 70) | def to_internal_value(data): class NetmapViewSerializer (line 74) | class NetmapViewSerializer(serializers.Serializer): method update (line 92) | def update(self, instance, validated_data): method create (line 102) | def create(self, validated_data): method _update_categories (line 112) | def _update_categories(instance, new_categories): class NetmapViewDefaultViewSerializer (line 129) | class NetmapViewDefaultViewSerializer(serializers.ModelSerializer): class Meta (line 134) | class Meta(object): FILE: python/nav/web/netmap/views.py class IndexView (line 36) | class IndexView(DefaultNetmapViewMixin, TemplateView): method get_context_data (line 41) | def get_context_data(self, **kwargs): class NetmapAdminView (line 84) | class NetmapAdminView(AdminRequiredMixin, ListView): method get_context_data (line 91) | def get_context_data(self, **kwargs): FILE: python/nav/web/networkexplorer/forms.py class MultitypeQueryWidget (line 8) | class MultitypeQueryWidget(forms.MultiWidget): method decompress (line 13) | def decompress(self, value): method format_output (line 16) | def format_output(self, rendered_widgets): class MultitypeQueryField (line 35) | class MultitypeQueryField(forms.MultiValueField): method __init__ (line 41) | def __init__(self, choices, validators={}, *args, **kwargs): method validate (line 58) | def validate(self, value): method compress (line 64) | def compress(self, data_list): class NetworkSearchForm (line 68) | class NetworkSearchForm(forms.Form): method clean (line 87) | def clean(self): FILE: python/nav/web/networkexplorer/mixins.py class JSONResponseMixin (line 14) | class JSONResponseMixin(object): method get_json_dumps_kwargs (line 26) | def get_json_dumps_kwargs(self): method render_json_response (line 32) | def render_json_response(self, context_dict, status=200): method render_json_object_response (line 42) | def render_json_object_response(self, objects, **kwargs): class GetRoutersMixin (line 51) | class GetRoutersMixin(object): method get_queryset (line 56) | def get_queryset(self): method get_context_data (line 60) | def get_context_data(self, **kwargs): class ExpandRouterContextMixin (line 73) | class ExpandRouterContextMixin(object): method get_context_data (line 79) | def get_context_data(self, **kwargs): method _get_expandable (line 106) | def _get_expandable(gwport): class ExpandGWPortMixin (line 145) | class ExpandGWPortMixin(object): method get_context_data (line 151) | def get_context_data(self, **kwargs): method _get_expandable (line 200) | def _get_expandable(vlan): class ExpandSwitchContextMixin (line 250) | class ExpandSwitchContextMixin(object): method get_context_data (line 253) | def get_context_data(self, **kwargs): class ExpandSWPortContextMixin (line 288) | class ExpandSWPortContextMixin(object): method get_context_data (line 291) | def get_context_data(self, **kwargs): function _get_connected_sysname (line 324) | def _get_connected_sysname(interface): FILE: python/nav/web/networkexplorer/search.py function search (line 28) | def search(data): function search_expand_swport (line 75) | def search_expand_swport(swportid=None, swport=None, scanned=[]): function search_expand_netbox (line 127) | def search_expand_netbox(netboxid=None, netbox=None): function search_expand_sysname (line 165) | def search_expand_sysname(sysname=None): function search_expand_mac (line 175) | def search_expand_mac(mac=None): function sysname_search (line 205) | def sysname_search(sysname, exact=False): function ip_search (line 246) | def ip_search(ip, exact=False): function portname_search (line 290) | def portname_search(portname, exact=False): function room_search (line 312) | def room_search(room, exact=False): function mac_search (line 343) | def mac_search(mac, exact=False): function vlan_search (line 353) | def vlan_search(vlan, exact=False): FILE: python/nav/web/networkexplorer/views.py class IndexView (line 41) | class IndexView(TemplateView): method get_context_data (line 46) | def get_context_data(self, **kwargs): class RouterJSONView (line 52) | class RouterJSONView(JSONResponseMixin, GetRoutersMixin, BaseListView): method render_to_response (line 55) | def render_to_response(self, context): class ExpandRouterView (line 59) | class ExpandRouterView(JSONResponseMixin, ExpandRouterContextMixin, Base... method render_to_response (line 64) | def render_to_response(self, context): class ExpandGWPortView (line 68) | class ExpandGWPortView(JSONResponseMixin, ExpandGWPortMixin, BaseDetailV... method render_to_response (line 73) | def render_to_response(self, context): class ExpandSwitchView (line 77) | class ExpandSwitchView(JSONResponseMixin, ExpandSwitchContextMixin, Base... method render_to_response (line 82) | def render_to_response(self, context): class ExpandSWPortView (line 86) | class ExpandSWPortView(JSONResponseMixin, ExpandSWPortContextMixin, Base... method render_to_response (line 91) | def render_to_response(self, context): class SearchView (line 95) | class SearchView(JSONResponseMixin, View): method form_invalid (line 96) | def form_invalid(self, form): method form_valid (line 99) | def form_valid(self, form): method get (line 102) | def get(self, request, *_args, **_kwargs): FILE: python/nav/web/portadmin/forms.py class SearchForm (line 27) | class SearchForm(forms.Form): method __init__ (line 37) | def __init__(self, *args, **kwargs): FILE: python/nav/web/portadmin/utils.py function get_and_populate_livedata (line 37) | def get_and_populate_livedata(netbox, interfaces): function update_interfaces_with_collected_data (line 46) | def update_interfaces_with_collected_data( function find_and_populate_allowed_vlans (line 71) | def find_and_populate_allowed_vlans( function find_allowed_vlans_for_user_on_netbox (line 83) | def find_allowed_vlans_for_user_on_netbox( function find_vlans_on_netbox (line 101) | def find_vlans_on_netbox( function find_allowed_vlans_for_user (line 115) | def find_allowed_vlans_for_user(account): function set_editable_flag_on_interfaces (line 128) | def set_editable_flag_on_interfaces( function intersect (line 155) | def intersect(list_a, list_b): function find_vlans_in_org (line 160) | def find_vlans_in_org(org): function check_format_on_ifalias (line 172) | def check_format_on_ifalias(ifalias): function get_aliastemplate (line 188) | def get_aliastemplate(): function save_to_database (line 193) | def save_to_database(interfaces): function filter_vlans (line 199) | def filter_vlans(target_vlans, old_vlans, allowed_vlans): function should_check_access_rights (line 210) | def should_check_access_rights(account): function mark_detained_interfaces (line 215) | def mark_detained_interfaces(interfaces): function add_dot1x_info (line 230) | def add_dot1x_info(interfaces, handler): function is_cisco (line 248) | def is_cisco(netbox): function add_poe_info (line 255) | def add_poe_info(interfaces, handler): FILE: python/nav/web/portadmin/views.py function get_base_context (line 70) | def get_base_context(additional_paths=None, form=None): function default_render (line 82) | def default_render(request): function get_form (line 89) | def get_form(request): function index (line 96) | def index(request): function search (line 116) | def search(query): function search_by_ip (line 130) | def search_by_ip(request, ip): function search_by_sysname (line 135) | def search_by_sysname(request, sysname): function search_by_interfaceid (line 140) | def search_by_interfaceid(request, interfaceid): function load_portadmin_data (line 145) | def load_portadmin_data(request, **kwargs): function search_by_kwargs (line 150) | def search_by_kwargs(request, **kwargs): function _get_netbox_and_interfaces (line 172) | def _get_netbox_and_interfaces(request, **kwargs): function _get_interface_and_netbox (line 180) | def _get_interface_and_netbox(request, interfaceid): function _get_netbox_and_ports (line 191) | def _get_netbox_and_ports(request, **kwargs): function _get_load_data_url (line 216) | def _get_load_data_url(**kwargs): function load_portadmin_data_by_kwargs (line 228) | def load_portadmin_data_by_kwargs(request, **kwargs): function populate_infodict (line 260) | def populate_infodict(request, netbox, interfaces): function _initialize_handler_and_error_state (line 309) | def _initialize_handler_and_error_state(request, netbox, interfaces): function _setup_voice_vlan (line 359) | def _setup_voice_vlan(request, netbox, interfaces, handler): function _setup_dot1x_if_enabled (line 370) | def _setup_dot1x_if_enabled(interfaces, handler): function _setup_poe_if_supported (line 379) | def _setup_poe_if_supported(interfaces, handler): function _get_alias_template (line 401) | def _get_alias_template(): function fetch_voice_vlan_for_netbox (line 410) | def fetch_voice_vlan_for_netbox(request: HttpRequest, handler: Managemen... function set_voice_vlan_attribute (line 432) | def set_voice_vlan_attribute(voice_vlan, interfaces): function set_voice_vlan_attribute_cisco (line 444) | def set_voice_vlan_attribute_cisco(voice_vlan, interfaces, handler: Mana... function add_readonly_reason (line 452) | def add_readonly_reason(request: HttpRequest, mgmt_handler: ManagementHa... function save_interfaceinfo (line 462) | def save_interfaceinfo(request): function set_interface_values (line 497) | def set_interface_values(account, interface, request): function set_poe_state (line 514) | def set_poe_state(handler, interface, request): function build_ajax_messages (line 525) | def build_ajax_messages(request): function set_ifalias (line 539) | def set_ifalias(account, handler: ManagementHandler, interface, request): function set_vlan (line 568) | def set_vlan(account, handler: ManagementHandler, interface, request): function set_voice_vlan (line 612) | def set_voice_vlan(handler: ManagementHandler, interface, request): function set_admin_status (line 670) | def set_admin_status(handler: ManagementHandler, interface, request: Htt... function response_based_on_result (line 713) | def response_based_on_result(result): function render_trunk_edit (line 725) | def render_trunk_edit(request, interfaceid): function handle_trunk_edit (line 779) | def handle_trunk_edit(request, agent, interface): function restart_interfaces (line 819) | def restart_interfaces(request): function commit_configuration (line 854) | def commit_configuration(request): function get_management_handler (line 888) | def get_management_handler(netbox: Netbox) -> ManagementHandler: FILE: python/nav/web/radius/db.py function get_named_cursor (line 23) | def get_named_cursor(): class SQLQuery (line 43) | class SQLQuery(object): method execute (line 53) | def execute(self): method _format (line 59) | def _format(self, row): class LogDetailQuery (line 68) | class LogDetailQuery(SQLQuery): method __init__ (line 73) | def __init__(self, logid, fields=LOG_DETAILFIELDS): method _format (line 95) | def _format(self, row): class LogSearchQuery (line 108) | class LogSearchQuery(SQLQuery): method __init__ (line 113) | def __init__( method _format (line 214) | def _format(self, row): class AcctSearchQuery (line 227) | class AcctSearchQuery(SQLQuery): method __init__ (line 250) | def __init__( method execute (line 503) | def execute(self): method make_stats (line 513) | def make_stats(self): method _format (line 527) | def _format(self, row): method _replace_ip_with_hostname (line 552) | def _replace_ip_with_hostname(self, result, lookup_result): class AcctDetailQuery (line 573) | class AcctDetailQuery(SQLQuery): method __init__ (line 580) | def __init__(self, rad_acct_id, fields=ACCT_DETAILSFIELDS): method _format (line 599) | def _format(self, row): class AcctChartsQuery (line 636) | class AcctChartsQuery(SQLQuery): method __init__ (line 655) | def __init__(self, chart, days=None, topx="10"): FILE: python/nav/web/radius/forms.py function validate_integer (line 36) | def validate_integer(value): function validate_cidr (line 44) | def validate_cidr(value): function validate_datetime_with_slack (line 50) | def validate_datetime_with_slack(value): class MultitypeQueryWidget (line 64) | class MultitypeQueryWidget(forms.MultiWidget): method decompress (line 69) | def decompress(self, value): method format_output (line 72) | def format_output(self, rendered_widgets): class MultitypeQueryField (line 81) | class MultitypeQueryField(forms.MultiValueField): method __init__ (line 87) | def __init__(self, choices, validators, *args, **kwargs): method validate (line 106) | def validate(self, value): method compress (line 112) | def compress(self, data_list): class ErrorLogSearchForm (line 116) | class ErrorLogSearchForm(forms.Form): method __init__ (line 151) | def __init__(self, *args, **kwargs): method clean_time (line 171) | def clean_time(self): class AccountLogSearchForm (line 179) | class AccountLogSearchForm(forms.Form): method __init__ (line 223) | def __init__(self, *args, **kwargs): method clean_time (line 247) | def clean_time(self): class AccountChartsForm (line 255) | class AccountChartsForm(forms.Form): method __init__ (line 269) | def __init__(self, *args, **kwargs): method clean_days (line 277) | def clean_days(self): FILE: python/nav/web/radius/radiuslib.py class HostCache (line 30) | class HostCache(object): method __init__ (line 36) | def __init__(self): method lookup_ip_address (line 39) | def lookup_ip_address(self, ip): function humanize_time (line 61) | def humanize_time(seconds): function _calc_time (line 86) | def _calc_time(seconds): function humanize_bytes (line 117) | def humanize_bytes(number, unit="B"): function _scale (line 144) | def _scale(number): function calculate_stop_time (line 156) | def calculate_stop_time(acctstarttime, acctstoptime, acctsessiontime): function remove_fractions (line 197) | def remove_fractions(timestamp): FILE: python/nav/web/radius/views.py function get_navpath (line 43) | def get_navpath(path): function index (line 52) | def index(request): function account_log_hints_modal (line 65) | def account_log_hints_modal(request): function log_search (line 75) | def log_search(request): function log_search_hints_modal (line 130) | def log_search_hints_modal(request): function log_detail_page (line 140) | def log_detail_page(request, accountid): function log_detail_modal (line 146) | def log_detail_modal(request, accountid): function log_detail (line 152) | def log_detail(request, accountid, template, use_modal=False): function account_charts (line 188) | def account_charts(request): function account_chart_hints_modal (line 219) | def account_chart_hints_modal(request): function account_detail_page (line 229) | def account_detail_page(request, accountid): function account_detail_modal (line 235) | def account_detail_modal(request, accountid): function account_detail (line 241) | def account_detail(request, accountid, template, use_modal=False): function account_search (line 277) | def account_search(request): function split_time (line 337) | def split_time(timestring): FILE: python/nav/web/report/views.py function index (line 59) | def index(request): function get_report_for_widget (line 74) | def get_report_for_widget(request, report_name): function get_report (line 83) | def get_report(request, report_name): function _strip_empty_arguments (line 105) | def _strip_empty_arguments(request): function _get_export_delimiter (line 123) | def _get_export_delimiter(query): function matrix_report (line 142) | def matrix_report(request, scope=None): function group_scopes (line 189) | def group_scopes(scopes): function create_matrix (line 218) | def create_matrix(scope, show_unused): function report_list (line 248) | def report_list(request): function make_report (line 266) | def make_report(request, report_name, export_delimiter, query_dict, pagi... function get_page_size (line 391) | def get_page_size(request): function find_page_range (line 409) | def find_page_range(page_number, page_range, visible_pages=5): function generate_export (line 433) | def generate_export(report, report_name, export_delimiter): function add_report_widget (line 458) | def add_report_widget(request): function report_cache (line 479) | def report_cache(key_items, query_dict): function _query_dict_hash (line 516) | def _query_dict_hash(query_dict): class UnknownNetworkTypeException (line 540) | class UnknownNetworkTypeException(Exception): FILE: python/nav/web/security.py class WebSecurityConfigParser (line 6) | class WebSecurityConfigParser(NavConfigParserDefaultSection): method __init__ (line 17) | def __init__(self): method get_x_frame_options (line 22) | def get_x_frame_options(self): FILE: python/nav/web/seeddb/__init__.py class SeeddbInfo (line 22) | class SeeddbInfo(object): method title (line 44) | def title(self): method navpath (line 51) | def navpath(self): method template_context (line 55) | def template_context(self): FILE: python/nav/web/seeddb/forms/__init__.py function create_hierarchy (line 55) | def create_hierarchy(klass): function create_choices (line 70) | def create_choices(element, ancestors, is_last_child=False): function tree_pad (line 92) | def tree_pad(string, ancestors, last=False): function get_prefix (line 112) | def get_prefix(ancestors): function cut_branch (line 121) | def cut_branch(field, klass, pk): function get_single_layout (line 131) | def get_single_layout(heading, filter_field): class RoomFilterForm (line 164) | class RoomFilterForm(forms.Form): method __init__ (line 172) | def __init__(self, *args, **kwargs): class RoomForm (line 179) | class RoomForm(forms.ModelForm): method __init__ (line 186) | def __init__(self, *args, **kwargs): class Meta (line 192) | class Meta(object): method clean_location (line 196) | def clean_location(self): class RoomMoveForm (line 201) | class RoomMoveForm(forms.Form): class LocationForm (line 209) | class LocationForm(forms.ModelForm): class Meta (line 216) | class Meta(object): method __init__ (line 220) | def __init__(self, *args, **kwargs): method clean_parent (line 231) | def clean_parent(self): class OrganizationForm (line 246) | class OrganizationForm(forms.ModelForm): class Meta (line 252) | class Meta(object): method __init__ (line 256) | def __init__(self, *args, **kwargs): method clean_parent (line 267) | def clean_parent(self): class OrganizationMoveForm (line 282) | class OrganizationMoveForm(forms.Form): class NetboxTypeFilterForm (line 290) | class NetboxTypeFilterForm(forms.Form): method __init__ (line 295) | def __init__(self, *args, **kwargs): class NetboxTypeForm (line 302) | class NetboxTypeForm(forms.ModelForm): class Meta (line 305) | class Meta(object): method clean_sysobjectid (line 309) | def clean_sysobjectid(self): class CablingForm (line 321) | class CablingForm(forms.ModelForm): class Meta (line 324) | class Meta(object): class DeviceGroupForm (line 330) | class DeviceGroupForm(forms.ModelForm): method __init__ (line 343) | def __init__(self, *args, **kwargs): class Meta (line 351) | class Meta(object): function to_choice_format (line 356) | def to_choice_format(objects, key, value): function get_netboxes_in_group (line 361) | def get_netboxes_in_group(group): function get_netboxes_not_in_group (line 368) | def get_netboxes_not_in_group(group): FILE: python/nav/web/seeddb/forms/bulk.py class BulkImportForm (line 24) | class BulkImportForm(forms.Form): method __init__ (line 35) | def __init__(self, parser, *args, **kwargs): method get_raw_data (line 44) | def get_raw_data(self): method get_parser (line 48) | def get_parser(self): method clean (line 52) | def clean(self): method clean_bulk_data (line 62) | def clean_bulk_data(self): method _no_data_found (line 75) | def _no_data_found(self): method _is_bulk_data_unchanged (line 80) | def _is_bulk_data_unchanged(self): method _is_bulk_data_empty (line 86) | def _is_bulk_data_empty(bulk_data): method bulk_process_check (line 92) | def bulk_process_check(self, importer): FILE: python/nav/web/seeddb/page/__init__.py function index (line 23) | def index(request): function not_implemented (line 36) | def not_implemented(*_args, **_kwargs): function view_switcher (line 45) | def view_switcher( FILE: python/nav/web/seeddb/page/cabling.py class CablingInfo (line 36) | class CablingInfo(SeeddbInfo): function cabling (line 53) | def cabling(request): function cabling_list (line 62) | def cabling_list(request): function cabling_delete (line 78) | def cabling_delete(request, object_id=None): function cabling_edit (line 90) | def cabling_edit(request): function cabling_bulk (line 103) | def cabling_bulk(request): FILE: python/nav/web/seeddb/page/location.py class LocationInfo (line 35) | class LocationInfo(SeeddbInfo): function location (line 51) | def location(request): function location_list (line 60) | def location_list(request): function location_delete (line 72) | def location_delete(request, object_id=None): function location_edit (line 84) | def location_edit(request, location_id=None, action='edit'): function location_bulk (line 117) | def location_bulk(request): FILE: python/nav/web/seeddb/page/management_profile/__init__.py function _get_netbox_link (line 46) | def _get_netbox_link(management_profile_id): function add_netbox_links (line 50) | def add_netbox_links(rows): class ManagementProfileInfo (line 64) | class ManagementProfileInfo(SeeddbInfo): function management_profile (line 81) | def management_profile(request): function management_profile_list (line 90) | def management_profile_list(request): function management_profile_delete (line 108) | def management_profile_delete(request, object_id=None): function management_profile_edit (line 122) | def management_profile_edit(request, management_profile_id=None): function management_profile_bulk (line 189) | def management_profile_bulk(request): FILE: python/nav/web/seeddb/page/management_profile/forms.py class ManagementProfileFilterForm (line 24) | class ManagementProfileFilterForm(forms.Form): method __init__ (line 31) | def __init__(self, *args, **kwargs): class ProtocolSpecificMixIn (line 39) | class ProtocolSpecificMixIn(object): method __init__ (line 48) | def __init__(self, *args, **kwargs): method _post_clean (line 57) | def _post_clean(self): class HttpApiForm (line 65) | class HttpApiForm(ProtocolSpecificMixIn, forms.ModelForm): class Meta (line 69) | class Meta(object): class DebugForm (line 87) | class DebugForm(ProtocolSpecificMixIn, forms.ModelForm): class Meta (line 91) | class Meta(object): class SnmpForm (line 99) | class SnmpForm(ProtocolSpecificMixIn, forms.ModelForm): class Meta (line 103) | class Meta(object): class SnmpV3Form (line 121) | class SnmpV3Form(ProtocolSpecificMixIn, forms.ModelForm): class Meta (line 126) | class Meta(object): method clean_auth_password (line 202) | def clean_auth_password(self): method clean_priv_password (line 211) | def clean_priv_password(self): class NapalmForm (line 221) | class NapalmForm(ProtocolSpecificMixIn, forms.ModelForm): class Meta (line 225) | class Meta(object): class ManagementProfileForm (line 277) | class ManagementProfileForm(forms.ModelForm): class Meta (line 280) | class Meta(object): method __init__ (line 284) | def __init__(self, *args, **kwargs): method get_protocol_form_class (line 287) | def get_protocol_form_class(self): method get_protocol_forms (line 295) | def get_protocol_forms(): FILE: python/nav/web/seeddb/page/netbox/__init__.py class NetboxInfo (line 45) | class NetboxInfo(SeeddbInfo): function netbox (line 63) | def netbox(request): function netbox_list (line 74) | def netbox_list(request): function netbox_delete (line 104) | def netbox_delete(request, object_id=None): function netbox_pre_deletion_mark (line 120) | def netbox_pre_deletion_mark(queryset): function netbox_download_qr_codes (line 128) | def netbox_download_qr_codes(request): function netbox_move (line 152) | def netbox_move(request): function netbox_bulk (line 165) | def netbox_bulk(request): FILE: python/nav/web/seeddb/page/netbox/edit.py function log_netbox_change (line 48) | def log_netbox_change(account, old, new): function netbox_edit (line 71) | def netbox_edit(request, netbox_id=None, suggestion=None, action='edit'): function check_connectivity (line 131) | def check_connectivity(request): function _handle_invalid_ip (line 170) | def _handle_invalid_ip(request: HttpRequest, ip_address: str): function load_connectivity_test_results (line 202) | def load_connectivity_test_results(request): function get_snmp_read_only_variables (line 278) | def get_snmp_read_only_variables(ip_address: str, profile: ManagementPro... function snmp_write_test (line 291) | def snmp_write_test(ip, profile): function check_snmp_version (line 331) | def check_snmp_version(ip, profile): function test_napalm_connectivity (line 343) | def test_napalm_connectivity(ip_address: str, profile: ManagementProfile... function get_sysname (line 356) | def get_sysname(ip_address): function get_netbox_type (line 365) | def get_netbox_type(ip_addr, profile): function snmp_type (line 371) | def snmp_type(ip_addr, profile: ManagementProfile): function netbox_do_save (line 387) | def netbox_do_save(form): function validate_ip_address (line 429) | def validate_ip_address(request): FILE: python/nav/web/seeddb/page/netbox/forms.py class MyModelMultipleChoiceField (line 45) | class MyModelMultipleChoiceField(forms.ModelMultipleChoiceField): method __init__ (line 51) | def __init__(self, *args, **kwargs): class ProfileSelectWithLinks (line 56) | class ProfileSelectWithLinks(forms.SelectMultiple): method __init__ (line 62) | def __init__(self, attrs=None, choices=()): class NetboxModelForm (line 71) | class NetboxModelForm(forms.ModelForm): class Meta (line 85) | class Meta(object): method __init__ (line 104) | def __init__(self, *args, **kwargs): method create_instance_query (line 132) | def create_instance_query(self, masters): method create_master_query (line 146) | def create_master_query(self, masters): method _initialize_profiles_field (line 155) | def _initialize_profiles_field(self): method clean_ip (line 168) | def clean_ip(self): method clean_sysname (line 177) | def clean_sysname(self): method clean (line 185) | def clean(self): method _check_existing_ip (line 208) | def _check_existing_ip(self, ip): method save (line 218) | def save(self, commit=True): class NetboxFilterForm (line 235) | class NetboxFilterForm(forms.Form): method __init__ (line 249) | def __init__(self, *args, **kwargs): method map_formfieldname_to_queryname (line 294) | def map_formfieldname_to_queryname(fieldname): class NetboxMoveForm (line 302) | class NetboxMoveForm(forms.Form): class IPExistsException (line 311) | class IPExistsException(Exception): method __init__ (line 314) | def __init__(self, message_list, **kwargs): FILE: python/nav/web/seeddb/page/netboxgroup.py class NetboxGroupInfo (line 56) | class NetboxGroupInfo(SeeddbInfo): function netboxgroup (line 71) | def netboxgroup(request): function netboxgroup_list (line 80) | def netboxgroup_list(request): function netboxgroup_delete (line 93) | def netboxgroup_delete(request, object_id=None): function netboxgroup_edit (line 105) | def netboxgroup_edit(request, netboxgroup_id=None): function netboxgroup_bulk (line 127) | def netboxgroup_bulk(request): FILE: python/nav/web/seeddb/page/netboxtype.py class NetboxTypeInfo (line 35) | class NetboxTypeInfo(SeeddbInfo): function netboxtype (line 50) | def netboxtype(request): function netboxtype_list (line 59) | def netboxtype_list(request): function netboxtype_delete (line 74) | def netboxtype_delete(request, object_id=None): function netboxtype_edit (line 86) | def netboxtype_edit(request, type_id=None): function netboxtype_bulk (line 98) | def netboxtype_bulk(request): FILE: python/nav/web/seeddb/page/organization.py class OrganizationInfo (line 36) | class OrganizationInfo(SeeddbInfo): function organization (line 51) | def organization(request): function organization_list (line 60) | def organization_list(request): function organization_move (line 72) | def organization_move(request): function organization_delete (line 83) | def organization_delete(request, object_id=None): function organization_edit (line 95) | def organization_edit(request, organization_id=None): function organization_bulk (line 107) | def organization_bulk(request): FILE: python/nav/web/seeddb/page/patch/__init__.py class PatchInfo (line 43) | class PatchInfo(SeeddbInfo): class PatchForm (line 62) | class PatchForm(forms.ModelForm): class Meta (line 65) | class Meta(object): function patch (line 70) | def patch(request): function patch_list (line 80) | def patch_list(request): function patch_delete (line 105) | def patch_delete(request, object_id=None): function patch_edit (line 118) | def patch_edit(request): function patch_show_modal (line 138) | def patch_show_modal(request): class PatchSaveForm (line 162) | class PatchSaveForm(forms.Form): function patch_save (line 171) | def patch_save(request): function patch_remove (line 199) | def patch_remove(request): function patch_bulk (line 208) | def patch_bulk(request): function load_cell (line 220) | def load_cell(request): FILE: python/nav/web/seeddb/page/prefix.py class PrefixInfo (line 43) | class PrefixInfo(SeeddbInfo): class PrefixForm (line 60) | class PrefixForm(forms.ModelForm): class Meta (line 65) | class Meta(object): class PrefixVlanForm (line 70) | class PrefixVlanForm(forms.ModelForm): class Meta (line 75) | class Meta(object): function get_prefix_view (line 87) | def get_prefix_view(request): function prefix_list (line 97) | def prefix_list(request): function prefix_delete (line 121) | def prefix_delete(request, object_id=None): function prefix_bulk (line 134) | def prefix_bulk(request): function prefix_edit (line 147) | def prefix_edit(request, prefix_id=None): function get_prefix_and_vlan (line 194) | def get_prefix_and_vlan(prefix_id): FILE: python/nav/web/seeddb/page/room.py class RoomInfo (line 44) | class RoomInfo(SeeddbInfo): function room (line 62) | def room(request): function room_list (line 73) | def room_list(request): function room_move (line 90) | def room_move(request): function room_download_qr_codes (line 98) | def room_download_qr_codes(request): function room_delete (line 120) | def room_delete(request, object_id=None): function room_edit (line 133) | def room_edit(request, action='edit', room_id=None, lat=None, lon=None): function room_bulk (line 173) | def room_bulk(request): FILE: python/nav/web/seeddb/page/service/__init__.py class ServiceInfo (line 32) | class ServiceInfo(SeeddbInfo): function service (line 47) | def service(request): function service_list (line 56) | def service_list(request): function service_delete (line 70) | def service_delete(request, object_id=None): function service_bulk (line 82) | def service_bulk(request): FILE: python/nav/web/seeddb/page/service/edit.py class ServiceChoiceForm (line 37) | class ServiceChoiceForm(forms.Form): method __init__ (line 40) | def __init__(self, *args, **kwargs): method _build_checker_choices (line 68) | def _build_checker_choices(): method _build_netbox_choices (line 84) | def _build_netbox_choices(): class ServiceForm (line 88) | class ServiceForm(forms.Form): class ServicePropertyForm (line 96) | class ServicePropertyForm(forms.Form): method __init__ (line 99) | def __init__(self, *args, **kwargs): function service_edit (line 113) | def service_edit(request, service_id=None): function service_add (line 165) | def service_add(request): function service_save (line 211) | def service_save(request, service_form, property_form): FILE: python/nav/web/seeddb/page/usage.py class UsageInfo (line 35) | class UsageInfo(SeeddbInfo): class UsageForm (line 52) | class UsageForm(forms.ModelForm): class Meta (line 55) | class Meta(object): method __init__ (line 59) | def __init__(self, *args, **kwargs): function usage (line 65) | def usage(request): function usage_list (line 75) | def usage_list(request): function usage_delete (line 89) | def usage_delete(request, object_id=None): function usage_edit (line 102) | def usage_edit(request, usage_id=None): function usage_bulk (line 115) | def usage_bulk(request): FILE: python/nav/web/seeddb/page/vendor.py class VendorInfo (line 35) | class VendorInfo(SeeddbInfo): class VendorForm (line 51) | class VendorForm(forms.ModelForm): class Meta (line 54) | class Meta(object): function vendor (line 59) | def vendor(request): function vendor_list (line 69) | def vendor_list(request): function vendor_delete (line 79) | def vendor_delete(request): function vendor_edit (line 91) | def vendor_edit(request, vendor_id=None): function vendor_bulk (line 104) | def vendor_bulk(request): FILE: python/nav/web/seeddb/page/vlan.py class VlanInfo (line 36) | class VlanInfo(SeeddbInfo): class VlanFilterForm (line 47) | class VlanFilterForm(forms.Form): method __init__ (line 56) | def __init__(self, *args, **kwargs): class VlanForm (line 96) | class VlanForm(forms.ModelForm): class Meta (line 97) | class Meta(object): function vlan_list (line 102) | def vlan_list(request): function vlan_edit (line 137) | def vlan_edit(request, vlan_id=None): FILE: python/nav/web/seeddb/utils/bulk.py function render_bulkimport (line 29) | def render_bulkimport(request, parser_cls, importer_cls, redirect, extra... function bulk_save (line 58) | def bulk_save(importer): function post_save_message (line 70) | def post_save_message(request, saved): FILE: python/nav/web/seeddb/utils/delete.py function qs_delete (line 35) | def qs_delete(queryset): function render_delete (line 56) | def render_delete( function _get_qs_to_delete (line 96) | def _get_qs_to_delete(model, object_ids, whitelist=None): function _try_deleting (line 110) | def _try_deleting(request, objects, pre_delete_operation=None, delete_op... function log_deleted (line 147) | def log_deleted(account, objects, template): function dependencies (line 153) | def dependencies(queryset, whitelist): FILE: python/nav/web/seeddb/utils/edit.py function render_edit (line 40) | def render_edit( function _get_object (line 118) | def _get_object(model, object_id, identifier_attr='pk'): function resolve_ip_and_sysname (line 126) | def resolve_ip_and_sysname(name): function does_ip_exist (line 146) | def does_ip_exist(ip_addr, netbox_id=None): function does_sysname_exist (line 166) | def does_sysname_exist(sysname, netbox_id=None): function _connect_group_to_devices (line 186) | def _connect_group_to_devices(group, netbox_ids): FILE: python/nav/web/seeddb/utils/list.py function render_list (line 33) | def render_list( function _filter_query (line 94) | def _filter_query(filter_form, queryset): function _process_objects (line 105) | def _process_objects(queryset, value_list, edit_url=None, edit_url_attr=... function _getattr (line 150) | def _getattr(obj, attr): function _label (line 165) | def _label(model, value_list, datakeys=None, overriden_labels: Optional[... function _add_descriptions (line 188) | def _add_descriptions(rows, queryset): FILE: python/nav/web/seeddb/utils/move.py function move (line 31) | def move(request, model, form_model, redirect, title_attr='id', extra_co... function _parse_value_differences (line 122) | def _parse_value_differences(values, data, title_attr, fields): FILE: python/nav/web/servicecheckers.py function get_checkers (line 29) | def get_checkers(): function get_descriptions (line 34) | def get_descriptions(checker_names): function get_description (line 40) | def get_description(checker_name, checkers=None): function get_checker_modules_as_dict (line 56) | def get_checker_modules_as_dict(): function load_checker_classes (line 61) | def load_checker_classes(): function _import_or_none (line 84) | def _import_or_none(module_name): function get_checker_modules (line 91) | def get_checker_modules(): FILE: python/nav/web/session_serializer.py class PickleSerializer (line 7) | class PickleSerializer: method __init__ (line 27) | def __init__(self, protocol=None): method dumps (line 34) | def dumps(self, obj): method loads (line 37) | def loads(self, data): FILE: python/nav/web/sortedstats/config.py class SortedStatsConfig (line 15) | class SortedStatsConfig(NAVConfigParser): method get_reports (line 20) | def get_reports(self, timeframe): method validate_timeframe (line 39) | def validate_timeframe(self, timeframe): method validate_view (line 44) | def validate_view(self, view): method validate_rows (line 49) | def validate_rows(self, rows): FILE: python/nav/web/sortedstats/forms.py function get_sections_list (line 32) | def get_sections_list(): class NumberInput (line 37) | class NumberInput(forms.TextInput): class NumberField (line 43) | class NumberField(forms.IntegerField): class ViewForm (line 49) | class ViewForm(forms.Form): method __init__ (line 67) | def __init__(self, *args, **kwargs): FILE: python/nav/web/sortedstats/statmodules.py class Stat (line 35) | class Stat(object): method __init__ (line 43) | def __init__(self, start='-1d', end='now', rows=5): method collect (line 53) | def collect(self): method get_sorted_data (line 61) | def get_sorted_data(self): method get_data (line 66) | def get_data(self): method get_metric_name (line 74) | def get_metric_name(self, metric): method get_metric_lookups (line 78) | def get_metric_lookups(self): method get_graph_url (line 82) | def get_graph_url(self): method create_graph_url (line 107) | def create_graph_url(self): method get_display_data (line 111) | def get_display_data(self): method get_graph_series (line 124) | def get_graph_series(self): method get_graph_metrics (line 128) | def get_graph_metrics(self): method upscale (line 132) | def upscale(self, data): method sort_by_value (line 140) | def sort_by_value(data): method humanize (line 145) | def humanize(number, precision=1): class StatMinFreeAddresses (line 165) | class StatMinFreeAddresses(Stat): method __init__ (line 171) | def __init__(self, *args, **kwargs): method get_data (line 176) | def get_data(self): method get_targets (line 185) | def get_targets(self): method get_graph_url (line 200) | def get_graph_url(self): method get_metric_name (line 216) | def get_metric_name(self, metric): class StatCpuAverage (line 224) | class StatCpuAverage(Stat): method __init__ (line 234) | def __init__(self, *args, **kwargs): method get_metric_name (line 239) | def get_metric_name(self, metric): class StatUptime (line 243) | class StatUptime(Stat): method __init__ (line 251) | def __init__(self, *args, **kwargs): method get_data (line 257) | def get_data(self): method get_metric_name (line 263) | def get_metric_name(self, metric): class StatIf (line 276) | class StatIf(Stat): method get_metric_name (line 279) | def get_metric_name(self, metric): class StatIfOctets (line 287) | class StatIfOctets(StatIf): method __init__ (line 296) | def __init__(self, *args, **kwargs): class StatIfInOctets (line 302) | class StatIfInOctets(StatIfOctets): method __init__ (line 308) | def __init__(self, *args, **kwargs): class StatIfOutOctets (line 313) | class StatIfOutOctets(StatIfOctets): method __init__ (line 319) | def __init__(self, *args, **kwargs): class StatIfErrors (line 324) | class StatIfErrors(StatIf): method __init__ (line 333) | def __init__(self, *args, **kwargs): method get_data (line 337) | def get_data(self): class StatIfOutErrors (line 343) | class StatIfOutErrors(StatIfErrors): method __init__ (line 349) | def __init__(self, *args, **kwargs): class StatIfInErrors (line 354) | class StatIfInErrors(StatIfErrors): method __init__ (line 360) | def __init__(self, *args, **kwargs): FILE: python/nav/web/sortedstats/views.py function get_cache (line 35) | def get_cache(): function cache_is_misconfigured (line 39) | def cache_is_misconfigured(): function index (line 48) | def index(request): function process_form (line 82) | def process_form(form): function get_result (line 105) | def get_result(view, start, end, rows): function get_cache_key (line 114) | def get_cache_key(view, timeframe, rows): function collect_result (line 118) | def collect_result(view, timeframe, rows): function get_timestamps (line 132) | def get_timestamps(timeframe): FILE: python/nav/web/static/js/geomap/Calendar.js function Calendar (line 57) | function Calendar(idPrefix, changeCallback, interval, method time (line 90) | get time() { return this.interval.time; } method time (line 91) | set time(t) { function makeSelectFunc (line 140) | function makeSelectFunc(time) { function updateMovementButton (line 144) | function updateMovementButton(id, timeOffset) { function todayp (line 156) | function todayp(t) { function updateCell (line 160) | function updateCell(row, col, rowSelected) { function updateRow (line 181) | function updateRow(row) { FILE: python/nav/web/static/js/geomap/GeomapPlugin.js function geomap (line 10) | function geomap() { function fetchRooms (line 26) | function fetchRooms() { function createPoint (line 34) | function createPoint(room) { function getLat (line 38) | function getLat(position) { function getLong (line 42) | function getLong(position) { function showPositionHint (line 46) | function showPositionHint() { function init (line 54) | function init(boundingBox) { function createMap (line 65) | function createMap() { function addLayers (line 86) | function addLayers(map) { function zoomToBounds (line 131) | function zoomToBounds(map, boundingBox) { function addFullScreenToggler (line 166) | function addFullScreenToggler() { FILE: python/nav/web/static/js/geomap/NetworkLayer.js function formattedTime (line 103) | function formattedTime(timeFunc) { FILE: python/nav/web/static/js/geomap/Permalink.js function Permalink (line 63) | function Permalink(htmlId, mapObj, parameters, listenHooks) { FILE: python/nav/web/static/js/geomap/Time.js constant TIME_UNITS (line 23) | const TIME_UNITS = ['year', 'month', 'week', 'day', 'hour', 'minute']; function Time (line 62) | function Time(obj, absolute) { method weekDay (line 89) | get weekDay() { method weekDayName (line 94) | get weekDayName() { method shortWeekDayName (line 99) | get shortWeekDayName() { method week (line 107) | get week() { method weekYear (line 118) | get weekYear() { method monthName (line 122) | get monthName() { method shortMonthName (line 128) | get shortMonthName() { method daysInMonth (line 136) | get daysInMonth() { method leapYear (line 154) | get leapYear() { function adjust (line 197) | function adjust(obj, large, small, size, minval) { FILE: python/nav/web/static/js/geomap/TimeInterval.js constant TI_SIZES (line 38) | const TI_SIZES = [ constant TI_YEAR (line 50) | const TI_YEAR = 0; constant TI_MONTH (line 51) | const TI_MONTH = 1; constant TI_WEEK (line 52) | const TI_WEEK = 2; constant TI_DAY (line 53) | const TI_DAY = 3; constant TI_HOUR (line 54) | const TI_HOUR = 4; constant TI_10MIN (line 55) | const TI_10MIN = 5; constant TI_5MIN (line 56) | const TI_5MIN = 5; function sizeName (line 69) | function sizeName(size, omitNIfOne) { function TimeInterval (line 97) | function TimeInterval(size, time) { function err (line 369) | function err(msg) { FILE: python/nav/web/static/js/geomap/TimeNavigator.js function TimeNavigator (line 51) | function TimeNavigator(idPrefix, changeCallback, initialInterval) { function makeHTMLOptions (line 140) | function makeHTMLOptions(options) { FILE: python/nav/web/static/js/geomap/coordinates.js function utmProjectionName (line 37) | function utmProjectionName(zone, hemisphere) { function utmProjection (line 44) | function utmProjection(zone, hemisphere) { function parseUtm (line 63) | function parseUtm(utmStr) { function utmToStr (line 82) | function utmToStr(utm) { function parseLonLat (line 101) | function parseLonLat(llStr) { function lonLatToStr (line 113) | function lonLatToStr(lonlat) { function utmStrToLonLat (line 130) | function utmStrToLonLat(utmStr) { function utmToLonLat (line 137) | function utmToLonLat(utm) { function lonLatToUtm (line 154) | function lonLatToUtm(lonlat) { function utmZone (line 179) | function utmZone(lonlat) { function utmHemisphere (line 202) | function utmHemisphere(lonlat) { function fromMapCoords (line 210) | function fromMapCoords(lonlat, map) { function toMapCoords (line 217) | function toMapCoords(lonlat, map) { FILE: python/nav/web/static/js/geomap/proj4js-compressed.js function phi4z (line 99) | function phi4z(eccent,e0,e1,e2,e3,a,b,c,phi){var sinphi,sin2ph,tanph,ml,... function e4fn (line 101) | function e4fn(x){var con,com;con=1.0+x;com=1.0-x;return(Math.sqrt((Math.... function cs_geodetic_to_geocentric (line 162) | function cs_geodetic_to_geocentric(cs,p){var Longitude=p.x;var Latitude=... function cs_geocentric_to_geodetic (line 170) | function cs_geocentric_to_geodetic(cs,p){var X=p.x;var Y=p.y;var Z=p.z;v... function cs_geocentric_to_wgs84 (line 193) | function cs_geocentric_to_wgs84(defn,p){if(defn.datum_type==PJD_3PARAM) function cs_geocentric_from_wgs84 (line 197) | function cs_geocentric_from_wgs84(defn,p){if(defn.datum_type==PJD_3PARAM) FILE: python/nav/web/static/js/geomap/util.js function zip (line 21) | function zip() { function subarray (line 32) | function subarray(arr, start, end) { function map (line 41) | function map(fun) { function mapMethod (line 70) | function mapMethod(methodName, objects) { function funmap (line 77) | function funmap(functions, arg) { function filter (line 81) | function filter(pred, list) { function firstWith (line 90) | function firstWith(pred, list, defaultValue) { function reduce (line 98) | function reduce(init, fun, list) { function concat (line 106) | function concat(strlist) { function encapsulate (line 112) | function encapsulate(obj, fun) { function min (line 119) | function min(a, b) { function max (line 123) | function max(a, b) { function member (line 128) | function member(elem, arr) { function copyObject (line 137) | function copyObject(obj) { function copyArray (line 145) | function copyArray(a) { function extend (line 152) | function extend(obj, ext) { function square (line 160) | function square(n) { function union (line 166) | function union(a, b) { function difference (line 177) | function difference(a, b) { function format (line 188) | function format(fstr) { function format_value (line 209) | function format_value(val, type, len, variant) { function arrayConcat (line 239) | function arrayConcat(arrays) { function values (line 245) | function values(obj) { function makeObject (line 253) | function makeObject() { function callMethod (line 262) | function callMethod(obj, method) { function encapsulateMethod (line 268) | function encapsulateMethod(obj, method) { function identity (line 273) | function identity(x) { function compose (line 277) | function compose() { function fix (line 283) | function fix(fun, argvalues, positions) { function first (line 303) | function first(x) { return x[0]; } function second (line 304) | function second(x) { return x[1]; } function nth (line 305) | function nth(n, x) { return x[n]; } function len (line 307) | function len(lst) { return lst.length; } function interleave (line 309) | function interleave() { function getAllMatches (line 319) | function getAllMatches(re, str) { function regexpReplace (line 333) | function regexpReplace(str, re, fun) { function range (line 340) | function range(start, end, step) { function makeHook (line 357) | function makeHook() { function addHook (line 361) | function addHook(hook, func) { function callHook (line 365) | function callHook(hook) { FILE: python/nav/web/static/js/libs/ipadebug.js function Debugger (line 46) | function Debugger(name) { function registerNamespaces (line 130) | function registerNamespaces(registered, namespaces) { function listNamespaces (line 139) | function listNamespaces(namespaces) { function debugLog (line 148) | function debugLog(data) { function explodeNamespace (line 157) | function explodeNamespace(namespace) { function helpString (line 186) | function helpString(mountElem) { FILE: python/nav/web/static/js/libs/ol-debug-4.6.5.js function visitNode (line 1350) | function visitNode(path) { function tempCtor (line 2498) | function tempCtor() {} function addNewerLanguageTranspilationCheck (line 2868) | function addNewerLanguageTranspilationCheck(modeName, isSupported) { function evalCheck (line 2883) | function /** boolean */ evalCheck(/** string */ code) { function preventDefault (line 10290) | function preventDefault() { function isAvailable (line 23479) | function isAvailable(fontFamily) { function check (line 23495) | function check() { function callback (line 25073) | function callback(tile) { function forEachFeatureAtCoordinate (line 26054) | function forEachFeatureAtCoordinate(feature, layer) { function quickselect (line 26902) | function quickselect(arr, k, left, right, compare) { function quickselectStep (line 26905) | function quickselectStep(arr, k, left, right, compare) { function swap (line 26938) | function swap(arr, i, j) { function defaultCompare (line 26943) | function defaultCompare(a, b) { function rbush (line 26949) | function rbush(maxEntries, format) { function findItem (line 27251) | function findItem(item, items, equalsFn) { function calcBBox (line 27258) | function calcBBox(node, toBBox) { function distBBox (line 27261) | function distBBox(node, k, p, toBBox, destNode) { function extend (line 27273) | function extend(a, b) { function compareNodeMinX (line 27280) | function compareNodeMinX(a, b) { return a.minX - b.minX; } function compareNodeMinY (line 27281) | function compareNodeMinY(a, b) { return a.minY - b.minY; } function bboxArea (line 27282) | function bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); } function bboxMargin (line 27283) | function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); } function enlargedArea (line 27284) | function enlargedArea(a, b) { function intersectionArea (line 27288) | function intersectionArea(a, b) { function contains (line 27296) | function contains(a, b) { function intersects (line 27302) | function intersects(a, b) { function createNode (line 27308) | function createNode(children) { function multiSelect (line 27319) | function multiSelect(arr, left, right, n, compare) { function featureCallback (line 30167) | function featureCallback(feature) { function Pbf (line 50157) | function Pbf(buf) { function readVarintRemainder (line 50465) | function readVarintRemainder(l, s, p) { function readPackedEnd (line 50476) | function readPackedEnd(pbf) { function toNum (line 50480) | function toNum(low, high, isSigned) { function writeBigVarint (line 50486) | function writeBigVarint(val, pbf) { function writeBigVarintLow (line 50508) | function writeBigVarintLow(low, high, pbf) { function writeBigVarintHigh (line 50515) | function writeBigVarintHigh(high, pbf) { function makeRoomForExtraLength (line 50524) | function makeRoomForExtraLength(startPos, len, pbf) { function writePackedVarint (line 50532) | function writePackedVarint(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedSVarint (line 50533) | function writePackedSVarint(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedFloat (line 50534) | function writePackedFloat(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedDouble (line 50535) | function writePackedDouble(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedBoolean (line 50536) | function writePackedBoolean(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedFixed32 (line 50537) | function writePackedFixed32(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedSFixed32 (line 50538) | function writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedFixed64 (line 50539) | function writePackedFixed64(arr, pbf) { for (var i = 0; i < arr.length;... function writePackedSFixed64 (line 50540) | function writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length;... function readUInt32 (line 50541) | function readUInt32(buf, pos) { function writeInt32 (line 50547) | function writeInt32(buf, val, pos) { function readInt32 (line 50553) | function readInt32(buf, pos) { function readUtf8 (line 50559) | function readUtf8(buf, pos, end) { function writeUtf8 (line 50616) | function writeUtf8(buf, str, pos) { function callback (line 72765) | function callback(tile) { function cleanup (line 73498) | function cleanup() { function newImageData$1 (line 78159) | function newImageData$1(data, width, height) { function createMinion (line 78174) | function createMinion(operation) { function createWorker (line 78230) | function createWorker(config, onMessage) { function createFauxWorker (line 78247) | function createFauxWorker(config, onMessage) { function Processor (line 78257) | function Processor(config) { function createFromTemplate (line 81764) | function createFromTemplate(template) { FILE: python/nav/web/static/js/libs/urijs/IPv6.js function bestPresentation (line 42) | function bestPresentation(address) { function noConflict (line 172) | function noConflict() { FILE: python/nav/web/static/js/libs/urijs/URI.js function URI (line 35) | function URI(url, base) { function escapeRegEx (line 79) | function escapeRegEx(string) { function getType (line 84) | function getType(value) { function isArray (line 93) | function isArray(obj) { function filterArrayValues (line 97) | function filterArrayValues(data, value) { function arrayContains (line 126) | function arrayContains(list, value) { function arraysEqual (line 155) | function arraysEqual(one, two) { function trimSlashes (line 177) | function trimSlashes(text) { function escapeForDumbFirefox36 (line 271) | function escapeForDumbFirefox36(value) { function strictEncodeURIComponent (line 277) | function strictEncodeURIComponent(string) { function generateSimpleAccessor (line 1042) | function generateSimpleAccessor(_part){ function generatePrefixAccessor (line 1054) | function generatePrefixAccessor(_part, _key){ FILE: python/nav/web/static/js/libs/urijs/URITemplate.js function URITemplate (line 36) | function URITemplate(expression) { function Data (line 52) | function Data(data) { FILE: python/nav/web/static/js/libs/urijs/jquery.URI.js function escapeRegEx (line 65) | function escapeRegEx(string) { function getUriProperty (line 70) | function getUriProperty(elem) { function generateAccessor (line 84) | function generateAccessor(property) { function uriPseudo (line 174) | function uriPseudo (elem, text) { FILE: python/nav/web/static/js/libs/urijs/punycode.js function error (line 66) | function error(type) { function map (line 78) | function map(array, fn) { function mapDomain (line 97) | function mapDomain(string, fn) { function ucs2decode (line 126) | function ucs2decode(string) { function ucs2encode (line 160) | function ucs2encode(array) { function basicToDigit (line 182) | function basicToDigit(codePoint) { function digitToBasic (line 206) | function digitToBasic(digit, flag) { function adapt (line 217) | function adapt(delta, numPoints, firstTime) { function decode (line 234) | function decode(input) { function encode (line 335) | function encode(input) { function toUnicode (line 453) | function toUnicode(input) { function toASCII (line 472) | function toASCII(input) { FILE: python/nav/web/static/js/libs/vue-2.2.0.js function _toString (line 17) | function _toString (val) { function toNumber (line 29) | function toNumber (val) { function makeMap (line 38) | function makeMap ( function remove (line 60) | function remove (arr, item) { function hasOwn (line 73) | function hasOwn (obj, key) { function isPrimitive (line 80) | function isPrimitive (value) { function cached (line 87) | function cached (fn) { function bind (line 124) | function bind (fn, ctx) { function toArray (line 141) | function toArray (list, start) { function extend (line 154) | function extend (to, _from) { function isObject (line 166) | function isObject (obj) { function isPlainObject (line 176) | function isPlainObject (obj) { function toObject (line 183) | function toObject (arr) { function noop (line 196) | function noop () {} function genStaticKeys (line 211) | function genStaticKeys (modules) { function looseEqual (line 221) | function looseEqual (a, b) { function looseIndexOf (line 233) | function looseIndexOf (arr, val) { function once (line 243) | function once (fn) { function isNative (line 392) | function isNative (Ctor) { function nextTickHandler (line 408) | function nextTickHandler () { function Set (line 487) | function Set () { function isReserved (line 520) | function isReserved (str) { function def (line 528) | function def (obj, key, val, enumerable) { function parsePath (line 541) | function parsePath (path) { function pushTarget (line 653) | function pushTarget (_target) { function popTarget (line 658) | function popTarget () { function protoAugment (line 775) | function protoAugment (target, src) { function copyAugment (line 786) | function copyAugment (target, src, keys) { function observe (line 798) | function observe (value, asRootData) { function defineReactive$$1 (line 823) | function defineReactive$$1 ( function set (line 883) | function set (obj, key, val) { function del (line 913) | function del (obj, key) { function dependArray (line 940) | function dependArray (value) { function mergeData (line 977) | function mergeData (to, from) { function mergeHook (line 1051) | function mergeHook ( function mergeAssets (line 1075) | function mergeAssets (parentVal, childVal) { function checkComponents (line 1137) | function checkComponents (options) { function normalizeProps (line 1153) | function normalizeProps (options) { function normalizeDirectives (line 1184) | function normalizeDirectives (options) { function mergeOptions (line 1200) | function mergeOptions ( function resolveAsset (line 1247) | function resolveAsset ( function validateProp (line 1277) | function validateProp ( function getPropDefaultValue (line 1313) | function getPropDefaultValue (vm, prop, key) { function assertProp (line 1345) | function assertProp ( function assertType (line 1398) | function assertType (value, type) { function getType (line 1427) | function getType (fn) { function isType (line 1432) | function isType (type, fn) { function handleError (line 1445) | function handleError (err, vm, type) { function createTextVNode (line 1583) | function createTextVNode (val) { function cloneVNode (line 1591) | function cloneVNode (vnode) { function cloneVNodes (line 1608) | function cloneVNodes (vnodes) { function createFnInvoker (line 1630) | function createFnInvoker (fns) { function updateListeners (line 1648) | function updateListeners ( function mergeVNodeHook (line 1685) | function mergeVNodeHook (def, hookKey, hook) { function simpleNormalizeChildren (line 1729) | function simpleNormalizeChildren (children) { function normalizeChildren (line 1742) | function normalizeChildren (children) { function normalizeArrayChildren (line 1750) | function normalizeArrayChildren (children, nestedIndex) { function getFirstComponentChild (line 1784) | function getFirstComponentChild (children) { function initEvents (line 1790) | function initEvents (vm) { function add (line 1802) | function add (event, fn, once$$1) { function remove$1 (line 1810) | function remove$1 (event, fn) { function updateComponentListeners (line 1814) | function updateComponentListeners ( function eventsMixin (line 1823) | function eventsMixin (Vue) { function resolveSlots (line 1903) | function resolveSlots ( function resolveScopedSlots (line 1939) | function resolveScopedSlots ( function initLifecycle (line 1953) | function initLifecycle (vm) { function lifecycleMixin (line 1979) | function lifecycleMixin (Vue) { function mountComponent (line 2065) | function mountComponent ( function updateChildComponent (line 2126) | function updateChildComponent ( function isInInactiveTree (line 2181) | function isInInactiveTree (vm) { function activateChildComponent (line 2188) | function activateChildComponent (vm, direct) { function deactivateChildComponent (line 2206) | function deactivateChildComponent (vm, direct) { function callHook (line 2222) | function callHook (vm, hook) { function resetSchedulerState (line 2251) | function resetSchedulerState () { function flushSchedulerQueue (line 2263) | function flushSchedulerQueue () { function queueWatcher (line 2325) | function queueWatcher (watcher) { function traverse (line 2560) | function traverse (val) { function _traverse (line 2565) | function _traverse (val, seen) { function proxy (line 2597) | function proxy (target, sourceKey, key) { function initState (line 2607) | function initState (vm) { function initProps (line 2623) | function initProps (vm, propsOptions) { function initData (line 2667) | function initData (vm) { function initComputed (line 2701) | function initComputed (vm, computed) { function defineComputed (line 2719) | function defineComputed (target, key, userDef) { function createComputedGetter (line 2736) | function createComputedGetter (key) { function initMethods (line 2751) | function initMethods (vm, methods) { function initWatch (line 2773) | function initWatch (vm, watch) { function createWatcher (line 2786) | function createWatcher (vm, key, handler) { function stateMixin (line 2798) | function stateMixin (Vue) { function createComponent (line 2847) | function createComponent ( function createFunctionalComponent (line 2932) | function createFunctionalComponent ( function createComponentInstanceForVnode (line 2966) | function createComponentInstanceForVnode ( function init (line 2993) | function init ( function prepatch (line 3014) | function prepatch ( function insert (line 3029) | function insert (vnode) { function destroy (line 3039) | function destroy (vnode) { function resolveAsyncComponent (line 3049) | function resolveAsyncComponent ( function extractProps (line 3097) | function extractProps (data, Ctor) { function checkProp (line 3120) | function checkProp ( function mergeHooks (line 3145) | function mergeHooks (data) { function mergeHook$1 (line 3157) | function mergeHook$1 (one, two) { function transformModel (line 3166) | function transformModel (options, data) { function createElement (line 3184) | function createElement ( function _createElement (line 3201) | function _createElement ( function applyNS (line 3266) | function applyNS (vnode, ns) { function renderList (line 3287) | function renderList ( function renderSlot (line 3318) | function renderSlot ( function resolveFilter (line 3351) | function resolveFilter (id) { function checkKeyCodes (line 3360) | function checkKeyCodes ( function bindObjectProps (line 3378) | function bindObjectProps ( function renderStatic (line 3415) | function renderStatic ( function markOnce (line 3438) | function markOnce ( function markStatic (line 3447) | function markStatic ( function markStaticNode (line 3463) | function markStaticNode (node, key, isOnce) { function initRender (line 3471) | function initRender (vm) { function renderMixin (line 3489) | function renderMixin (Vue) { function initInjections (line 3568) | function initInjections (vm) { function initMixin (line 3605) | function initMixin (Vue) { function initInternalComponent (line 3657) | function initInternalComponent (vm, options) { function resolveConstructorOptions (line 3674) | function resolveConstructorOptions (Ctor) { function resolveModifiedOptions (line 3698) | function resolveModifiedOptions (Ctor) { function dedupe (line 3711) | function dedupe (latest, sealed) { function Vue$3 (line 3728) | function Vue$3 (options) { function initUse (line 3744) | function initUse (Vue) { function initMixin$1 (line 3765) | function initMixin$1 (Vue) { function initExtend (line 3773) | function initExtend (Vue) { function initProps$1 (line 3855) | function initProps$1 (Comp) { function initComputed$1 (line 3862) | function initComputed$1 (Comp) { function initAssetRegisters (line 3871) | function initAssetRegisters (Vue) { function getComponentName (line 3910) | function getComponentName (opts) { function matches (line 3914) | function matches (pattern, name) { function pruneCache (line 3924) | function pruneCache (cache, filter) { function pruneCacheEntry (line 3937) | function pruneCacheEntry (vnode) { function initGlobalAPI (line 4010) | function initGlobalAPI (Vue) { function genClassForVnode (line 4102) | function genClassForVnode (vnode) { function mergeClassData (line 4120) | function mergeClassData (child, parent) { function genClassFromData (line 4129) | function genClassFromData (data) { function concat (line 4139) | function concat (a, b) { function stringifyClass (line 4143) | function stringifyClass (value) { function getTagNamespace (line 4208) | function getTagNamespace (tag) { function isUnknownElement (line 4220) | function isUnknownElement (tag) { function query (line 4250) | function query (el) { function createElement$1 (line 4267) | function createElement$1 (tagName, vnode) { function createElementNS (line 4279) | function createElementNS (namespace, tagName) { function createTextNode (line 4283) | function createTextNode (text) { function createComment (line 4287) | function createComment (text) { function insertBefore (line 4291) | function insertBefore (parentNode, newNode, referenceNode) { function removeChild (line 4295) | function removeChild (node, child) { function appendChild (line 4299) | function appendChild (node, child) { function parentNode (line 4303) | function parentNode (node) { function nextSibling (line 4307) | function nextSibling (node) { function tagName (line 4311) | function tagName (node) { function setTextContent (line 4315) | function setTextContent (node, text) { function setAttribute (line 4319) | function setAttribute (node, key, val) { function registerRef (line 4356) | function registerRef (vnode, isRemoval) { function isUndef (line 4400) | function isUndef (s) { function isDef (line 4404) | function isDef (s) { function sameVnode (line 4408) | function sameVnode (vnode1, vnode2) { function createKeyToOldIdx (line 4417) | function createKeyToOldIdx (children, beginIdx, endIdx) { function createPatchFunction (line 4427) | function createPatchFunction (backend) { function updateDirectives (line 5007) | function updateDirectives (oldVnode, vnode) { function _update (line 5013) | function _update (oldVnode, vnode) { function normalizeDirectives$1 (line 5075) | function normalizeDirectives$1 ( function getRawDirName (line 5095) | function getRawDirName (dir) { function callHook$1 (line 5099) | function callHook$1 (dir, hook, vnode, oldVnode, isDestroy) { function updateAttrs (line 5113) | function updateAttrs (oldVnode, vnode) { function setAttr (line 5149) | function setAttr (el, key, value) { function updateClass (line 5182) | function updateClass (oldVnode, vnode) { function parseFilters (line 5215) | function parseFilters (exp) { function wrapFilter (line 5297) | function wrapFilter (exp, filter) { function baseWarn (line 5311) | function baseWarn (msg) { function pluckModuleFunction (line 5315) | function pluckModuleFunction ( function addProp (line 5324) | function addProp (el, name, value) { function addAttr (line 5328) | function addAttr (el, name, value) { function addDirective (line 5332) | function addDirective ( function addHandler (line 5343) | function addHandler ( function getBindingAttr (line 5378) | function getBindingAttr ( function getAndRemoveAttr (line 5396) | function getAndRemoveAttr (el, name) { function genComponentModel (line 5415) | function genComponentModel ( function genAssignmentCode (line 5446) | function genAssignmentCode ( function parseModel (line 5482) | function parseModel (val) { function next (line 5510) | function next () { function eof (line 5514) | function eof () { function isStringStart (line 5518) | function isStringStart (chr) { function parseBracket (line 5522) | function parseBracket (chr) { function parseString (line 5540) | function parseString (chr) { function model (line 5559) | function model ( function genCheckboxModel (line 5613) | function genCheckboxModel ( function genRadioModel (line 5652) | function genRadioModel ( function genSelect (line 5672) | function genSelect ( function checkOptionWarning (line 5693) | function checkOptionWarning (option) { function genDefaultModel (line 5707) | function genDefaultModel ( function normalizeEvents (line 5750) | function normalizeEvents (on) { function add$1 (line 5769) | function add$1 ( function remove$2 (line 5790) | function remove$2 ( function updateDOMListeners (line 5799) | function updateDOMListeners (oldVnode, vnode) { function updateDOMProps (line 5817) | function updateDOMProps (oldVnode, vnode) { function shouldUpdateValue (line 5863) | function shouldUpdateValue ( function isDirty (line 5875) | function isDirty (elm, checkVal) { function isInputChanged (line 5880) | function isInputChanged (elm, newVal) { function normalizeStyleData (line 5913) | function normalizeStyleData (data) { function normalizeStyleBinding (line 5923) | function normalizeStyleBinding (bindingStyle) { function getStyle (line 5937) | function getStyle (vnode, checkChild) { function updateStyle (line 5997) | function updateStyle (oldVnode, vnode) { function addClass (line 6045) | function addClass (el, cls) { function removeClass (line 6070) | function removeClass (el, cls) { function resolveTransition (line 6095) | function resolveTransition (def$$1) { function nextFrame (line 6151) | function nextFrame (fn) { function addTransitionClass (line 6157) | function addTransitionClass (el, cls) { function removeTransitionClass (line 6162) | function removeTransitionClass (el, cls) { function whenTransitionEnds (line 6169) | function whenTransitionEnds ( function getTransitionInfo (line 6202) | function getTransitionInfo (el, expectedType) { function getTimeout (line 6251) | function getTimeout (delays, durations) { function toMs (line 6262) | function toMs (s) { function enter (line 6268) | function enter (vnode, toggleDisplay) { function leave (line 6416) | function leave (vnode, rm) { function checkDuration (line 6519) | function checkDuration (val, name, vnode) { function isValidDuration (line 6535) | function isValidDuration (val) { function getHookAgumentsLength (line 6545) | function getHookAgumentsLength (fn) { function _enter (line 6560) | function _enter (_, vnode) { function setSelected (line 6654) | function setSelected (el, binding, vm) { function hasNoMatchingOption (line 6687) | function hasNoMatchingOption (value, options) { function getValue (line 6696) | function getValue (option) { function onCompositionStart (line 6702) | function onCompositionStart (e) { function onCompositionEnd (line 6706) | function onCompositionEnd (e) { function trigger (line 6711) | function trigger (el, type) { function locateNode (line 6720) | function locateNode (vnode) { function getRealChild (line 6811) | function getRealChild (vnode) { function extractTransitionData (line 6820) | function extractTransitionData (comp) { function placeholder (line 6836) | function placeholder (h, rawChild) { function hasParentTransition (line 6842) | function hasParentTransition (vnode) { function isSameChild (line 6850) | function isSameChild (child, oldChild) { function callPendingCbs (line 7099) | function callPendingCbs (c) { function recordPosition (line 7110) | function recordPosition (c) { function applyTranslation (line 7114) | function applyTranslation (c) { function shouldDecode (line 7183) | function shouldDecode (content, encoded) { function decode (line 7223) | function decode (html) { function decodeAttr (line 7287) | function decodeAttr (value, shouldDecodeNewlines) { function parseHTML (line 7292) | function parseHTML (html, options) { function parseText (line 7546) | function parseText ( function parse (line 7599) | function parse ( function processPre (line 7820) | function processPre (el) { function processRawAttrs (line 7826) | function processRawAttrs (el) { function processKey (line 7842) | function processKey (el) { function processRef (line 7852) | function processRef (el) { function processFor (line 7860) | function processFor (el) { function processIf (line 7885) | function processIf (el) { function processIfConditions (line 7904) | function processIfConditions (el, parent) { function findPrevElement (line 7919) | function findPrevElement (children) { function addIfCondition (line 7936) | function addIfCondition (el, condition) { function processOnce (line 7943) | function processOnce (el) { function processSlot (line 7950) | function processSlot (el) { function processComponent (line 7971) | function processComponent (el) { function processAttrs (line 7981) | function processAttrs (el) { function checkInFor (line 8047) | function checkInFor (el) { function parseModifiers (line 8058) | function parseModifiers (name) { function makeAttrsMap (line 8067) | function makeAttrsMap (attrs) { function isForbiddenTag (line 8078) | function isForbiddenTag (el) { function guardIESVGBug (line 8092) | function guardIESVGBug (attrs) { function checkForAliasModel (line 8104) | function checkForAliasModel (el, value) { function optimize (line 8138) | function optimize (root, options) { function genStaticKeys$1 (line 8148) | function genStaticKeys$1 (keys) { function markStatic$1 (line 8155) | function markStatic$1 (node) { function markStaticRoots (line 8178) | function markStaticRoots (node, isInFor) { function walkThroughConditionsBlocks (line 8206) | function walkThroughConditionsBlocks (conditionBlocks, isInFor) { function isStatic (line 8212) | function isStatic (node) { function isDirectChildOfTemplateFor (line 8229) | function isDirectChildOfTemplateFor (node) { function genHandlers (line 8278) | function genHandlers (events, native) { function genHandler (line 8286) | function genHandler ( function genKeyFilter (line 8318) | function genKeyFilter (keys) { function genFilterCode (line 8322) | function genFilterCode (key) { function bind$1 (line 8333) | function bind$1 (el, dir) { function generate (line 8358) | function generate ( function genElement (line 8382) | function genElement (el) { function genStatic (line 8415) | function genStatic (el) { function genOnce (line 8422) | function genOnce (el) { function genIf (line 8448) | function genIf (el) { function genIfConditions (line 8453) | function genIfConditions (conditions) { function genFor (line 8471) | function genFor (el) { function genData (line 8496) | function genData (el) { function genDirectives (line 8569) | function genDirectives (el) { function genInlineTemplate (line 8594) | function genInlineTemplate (el) { function genScopedSlots (line 8607) | function genScopedSlots (slots) { function genScopedSlot (line 8611) | function genScopedSlot (key, el) { function genChildren (line 8618) | function genChildren (el, checkSkip) { function getNormalizationType (line 8640) | function getNormalizationType (children) { function needsNormalization (line 8660) | function needsNormalization (el) { function maybeComponent (line 8664) | function maybeComponent (el) { function genNode (line 8668) | function genNode (node) { function genText (line 8676) | function genText (text) { function genSlot (line 8682) | function genSlot (el) { function genComponent (line 8701) | function genComponent (componentName, el) { function genProps (line 8706) | function genProps (props) { function transformSpecialNewlines (line 8716) | function transformSpecialNewlines (text) { function detectErrors (line 8736) | function detectErrors (ast) { function checkNode (line 8744) | function checkNode (node, errors) { function checkFor (line 8768) | function checkFor (node, text, errors) { function checkIdentifier (line 8775) | function checkIdentifier (ident, type, text, errors) { function checkExpression (line 8781) | function checkExpression (exp, text, errors) { function baseCompile (line 8799) | function baseCompile ( function makeFunction (line 8813) | function makeFunction (code, errors) { function createCompiler (line 8822) | function createCompiler (baseOptions) { function transformNode (line 8955) | function transformNode (el, options) { function genData$1 (line 8978) | function genData$1 (el) { function transformNode$1 (line 8997) | function transformNode$1 (el, options) { function genData$2 (line 9022) | function genData$2 (el) { function text (line 9046) | function text (el, dir) { function html (line 9054) | function html (el, dir) { function getOuterHTML (line 9161) | function getOuterHTML (el) { FILE: python/nav/web/static/js/netmap.js function convert_bits_to_si (line 14) | function convert_bits_to_si(bits) { FILE: python/nav/web/static/js/networkexplorer.js function before_send (line 47) | function before_send() { function request_error (line 51) | function request_error() { function visualize_not_found (line 56) | function visualize_not_found() { function inform_user (line 61) | function inform_user(text) { function fade_to_normal (line 67) | function fade_to_normal() { function parse_result (line 71) | function parse_result(data) { function scroll_to_result (line 97) | function scroll_to_result(routers, gwports, swports) { function process_router (line 107) | function process_router(i, _router){ function process_gwport (line 116) | function process_gwport(i, _gwport){ function process_swport (line 125) | function process_swport(i, _swport){ function append_data (line 135) | function append_data(data_node, data) { function switch_icon (line 148) | function switch_icon(node) { function openNode (line 154) | function openNode(img){ FILE: python/nav/web/static/js/src/arnold.js function addVlanToggler (line 37) | function addVlanToggler(selectNode) { FILE: python/nav/web/static/js/src/business.js function setMaxHeight (line 10) | function setMaxHeight($listElements) { function addSubscriptionListener (line 69) | function addSubscriptionListener() { function addRefreshSubscriptionListListener (line 85) | function addRefreshSubscriptionListListener() { function addRemoveSubscriptionListener (line 95) | function addRemoveSubscriptionListener() { function addUndoUnsubscribeListener (line 109) | function addUndoUnsubscribeListener() { FILE: python/nav/web/static/js/src/dt_plugins/modulesort.js function moduleSort (line 6) | function moduleSort(a, b) { function bothAreCiscoInterfaceNames (line 19) | function bothAreCiscoInterfaceNames(a, b) { function isCiscoInterfaceName (line 23) | function isCiscoInterfaceName(ifname) { function bothAreStrings (line 27) | function bothAreStrings(a, b) { function stripTags (line 31) | function stripTags(input) { FILE: python/nav/web/static/js/src/dt_plugins/natsort.js function naturalSort (line 8) | function naturalSort(a, b) { FILE: python/nav/web/static/js/src/getting_started_wizard.js function initGettingStartedWizard (line 4) | function initGettingStartedWizard() { FILE: python/nav/web/static/js/src/image_upload.js function addButtonListeners (line 53) | function addButtonListeners(index, element) { function addEditHandler (line 59) | function addEditHandler($element) { function saveTitle (line 83) | function saveTitle($element) { function addDeleteHandler (line 106) | function addDeleteHandler($element) { function addOrdering (line 130) | function addOrdering() { function saveOrder (line 141) | function saveOrder() { function get_image_priorities (line 156) | function get_image_priorities() { function createFeedback (line 164) | function createFeedback(message, type) { function removeAlertBox (line 176) | function removeAlertBox($alertBox) { FILE: python/nav/web/static/js/src/info/global_dt_filters.js function add_filters (line 10) | function add_filters(node, input_tables, secondary_filters) { function add_primary_filter (line 18) | function add_primary_filter(node, input_tables) { function do_primary_filter (line 24) | function do_primary_filter() { function remove_keywords (line 31) | function remove_keywords(input) { function add_secondary_filters (line 49) | function add_secondary_filters(filters_to_enable) { function register_filter (line 62) | function register_filter(config) { function set_last_seen_mode (line 73) | function set_last_seen_mode(mode) { function filter_last_seen (line 78) | function filter_last_seen(oSettings, aData, iDataIndex) { function filter_vlan (line 91) | function filter_vlan(oSettings, aData, iDataIndex) { function get_keyword (line 102) | function get_keyword(regexp) { function getInputValue (line 112) | function getInputValue(node) { function extract_date (line 117) | function extract_date(cell) { function daysince (line 128) | function daysince(date) { function is_trunk (line 138) | function is_trunk(cell) { FILE: python/nav/web/static/js/src/info/table_info_converter.js function create_csv (line 7) | function create_csv(tables) { function find_sysname (line 21) | function find_sysname(table) { function format_rowdata (line 29) | function format_rowdata(row) { FILE: python/nav/web/static/js/src/info_location.js function add_tabs (line 20) | function add_tabs() { function add_navigation (line 45) | function add_navigation() { function add_streetmap (line 50) | function add_streetmap() { FILE: python/nav/web/static/js/src/info_room.js function add_tabs (line 34) | function add_tabs() { function request_error (line 63) | function request_error(xhr, status, error) { function applyNetboxInterfacesHandlers (line 68) | function applyNetboxInterfacesHandlers() { function add_navigation (line 77) | function add_navigation() { function add_streetmap (line 82) | function add_streetmap() { function enrich_tables (line 92) | function enrich_tables() { function format_filter_text (line 116) | function format_filter_text(oSettings, iStart, iEnd, iMax, iTotal, sPre) { function add_filters (line 126) | function add_filters() { function add_csv_download (line 143) | function add_csv_download() { function fetchRoomPositions (line 151) | function fetchRoomPositions(mapcontainer) { function applyEnvironmentHandlers (line 155) | function applyEnvironmentHandlers() { FILE: python/nav/web/static/js/src/info_room_rack.js function select2MultipleMatcher (line 5) | function select2MultipleMatcher(params, data) { function round (line 47) | function round(number, n) { function addSensorModalListeners (line 67) | function addSensorModalListeners($sensorModal) { function updateSingleSensor (line 116) | function updateSingleSensor($sensor) { function getMetrics (line 129) | function getMetrics($element) { function getMetric (line 138) | function getMetric($element) { function getValue (line 148) | function getValue(datapoints) { function createResultMap (line 160) | function createResultMap(results) { function getMinMax (line 172) | function getMinMax(rackitem) { function updateSensors (line 185) | function updateSensors(results, metricMap, updateFunc) { function updateSensor (line 198) | function updateSensor($element, value, minMax) { function updatePDU (line 228) | function updatePDU($element, value, minMax) { function getData (line 250) | function getData(metricMap, updateFunc) { function updateRack (line 277) | function updateRack($rack) { function updateRacks (line 285) | function updateRacks() { function addSensorRemoveListener (line 295) | function addSensorRemoveListener() { function addRackRemoveListener (line 319) | function addRackRemoveListener() { function addEditModeListener (line 342) | function addEditModeListener() { function toggleEditEmptyRack (line 362) | function toggleEditEmptyRack() { function addRenameRackListener (line 372) | function addRenameRackListener() { function addSensorSort (line 398) | function addSensorSort() { function addRackSort (line 425) | function addRackSort() { function addColorChooser (line 444) | function addColorChooser() { FILE: python/nav/web/static/js/src/interface_browser.js function renderStatus (line 196) | function renderStatus(data, type, row, meta) { function isSwPort (line 202) | function isSwPort(row) { function createTable (line 208) | function createTable() { function Browser (line 248) | function Browser() { FILE: python/nav/web/static/js/src/interface_browser_column_toggler.js function addContainerToggler (line 4) | function addContainerToggler($toggler, $toggleTarget) { function createColumnTogglers (line 13) | function createColumnTogglers(table, $container) { function ColumnToggler (line 30) | function ColumnToggler(config) { FILE: python/nav/web/static/js/src/interface_browser_dynamic_columns_controller.js function isEmpty (line 10) | function isEmpty(cell) { function addSparklines (line 22) | function addSparklines(table, column, suffix) { function addSparkLine (line 31) | function addSparkLine(table, cell, suffix) { function getRow (line 60) | function getRow(table, cell) { function getInterfaceId (line 65) | function getInterfaceId(table, cell) { function getGraphiteUri (line 72) | function getGraphiteUri(metrics, suffix) { function createSparkContainer (line 84) | function createSparkContainer(cell) { function convertToSparkLine (line 92) | function convertToSparkLine(data) { function createSparkLine (line 98) | function createSparkLine($container, dataPoints) { function addLastUsed (line 106) | function addLastUsed(table, column) { function checkDynamicColumns (line 130) | function checkDynamicColumns(table) { function updateDynamicColumns (line 160) | function updateDynamicColumns(table) { function controller (line 172) | function controller(table) { FILE: python/nav/web/static/js/src/interface_browser_filter_controller.js function addFilterParameters (line 17) | function addFilterParameters(uri) { function vlanFilter (line 26) | function vlanFilter() { function linkFilter (line 30) | function linkFilter() { function netboxFilter (line 34) | function netboxFilter() { function ifClassFilter (line 49) | function ifClassFilter() { function queryFilter (line 53) | function queryFilter() { function addNetboxFilter (line 59) | function addNetboxFilter() { function reload (line 81) | function reload(table) { function reloadOnFilterChange (line 86) | function reloadOnFilterChange(table) { function filterController (line 102) | function filterController(table) { function addSubmitListener (line 108) | function addSubmitListener(table) { function getUrl (line 116) | function getUrl() { FILE: python/nav/web/static/js/src/ipam/util.js function calculateAvailable (line 10) | function calculateAvailable(prefixlen, family) { function translate (line 17) | function translate(x, y) { function normalize (line 27) | function normalize(arrayOfObj, valueFieldOrFunction, scaleFn) { FILE: python/nav/web/static/js/src/ipam/views/prefixmap.js function calculateNodes (line 161) | function calculateNodes() { function calculateText (line 180) | function calculateText() { function brushended (line 232) | function brushended(event) { function zoomed (line 247) | function zoomed(event) { function colors (line 268) | function colors(d) { FILE: python/nav/web/static/js/src/ipam/viz.js function normalizeData (line 47) | function normalizeData(data, opts) { function subnetChart (line 61) | function subnetChart(inOpts) { function usageChart (line 171) | function usageChart(inOpts) { function rowSpan (line 224) | function rowSpan(row) { function subnetMatrix (line 229) | function subnetMatrix(inOpts) { FILE: python/nav/web/static/js/src/ipdevinfo.js function loadSensorValues (line 44) | function loadSensorValues() { function commonPrefix (line 65) | function commonPrefix(array){ function getSensorData (line 72) | function getSensorData(metricMap, updateFunc) { function addModuleTabs (line 95) | function addModuleTabs() { function addMainTabs (line 108) | function addMainTabs() { function addMetricTabs (line 117) | function addMetricTabs() { function addFloatingGlobalControls (line 124) | function addFloatingGlobalControls() { function markErrorTabs (line 148) | function markErrorTabs(tabs) { function addActivityButtonListener (line 156) | function addActivityButtonListener(event, element) { function addIntervalToRequest (line 166) | function addIntervalToRequest() { function getActivityInterval (line 174) | function getActivityInterval() { function addSparkLinesToJobs (line 178) | function addSparkLinesToJobs() { FILE: python/nav/web/static/js/src/libs/tablesort_extensions.js function extractIP (line 10) | function extractIP(str) { function padOctets (line 19) | function padOctets(ip) { function getDatetimeValue (line 29) | function getDatetimeValue(val) { function initTableSort (line 95) | function initTableSort(table, options) { FILE: python/nav/web/static/js/src/machinetracker.js function addLocalStateSettings (line 12) | function addLocalStateSettings() { function addSettingsListener (line 24) | function addSettingsListener(form) { function setElementState (line 36) | function setElementState() { function getLocalSetting (line 50) | function getLocalSetting(element) { function getKey (line 60) | function getKey(element) { FILE: python/nav/web/static/js/src/main.js function csrfSafeMethod (line 12) | function csrfSafeMethod(method) { function addSearchFocusHandlers (line 37) | function addSearchFocusHandlers() { function refreshSession (line 57) | function refreshSession() { function addTopbarHandlers (line 80) | function addTopbarHandlers() { FILE: python/nav/web/static/js/src/maintenance.js function toggleEndTime (line 21) | function toggleEndTime(checkBox){ FILE: python/nav/web/static/js/src/neighbors.js function applyListeners (line 26) | function applyListeners() { function addToggleIgnoredHandler (line 41) | function addToggleIgnoredHandler() { function setIgnoredSinceVisibility (line 50) | function setIgnoredSinceVisibility() { function addToggleAllCheckBoxesListener (line 56) | function addToggleAllCheckBoxesListener() { function getCheckboxIds (line 68) | function getCheckboxIds(checkboxes) { function setIgnoredState (line 74) | function setIgnoredState(action) { function feedbackSuccess (line 123) | function feedbackSuccess(text) { function feedbackFail (line 127) | function feedbackFail(text) { function feedback (line 131) | function feedback(text, type) { function applyDatatable (line 139) | function applyDatatable() { function filterNeighborState (line 173) | function filterNeighborState(oSettings, aData, iDataIndex) { function filterQueryParameters (line 185) | function filterQueryParameters(dataTable) { FILE: python/nav/web/static/js/src/netmap/graph_view.js function filterNodesByCategories (line 800) | function filterNodesByCategories(nodes, categories) { function filterNodesByRoomsOrLocations (line 813) | function filterNodesByRoomsOrLocations(nodes, filters) { function filterLinksByCategories (line 826) | function filterLinksByCategories(links, categories) { function filterLinksByRoomsOrLocations (line 840) | function filterLinksByRoomsOrLocations(links, filters) { function removeOrphanNodes (line 855) | function removeOrphanNodes(nodes, links) { function filterLinksByNodes (line 871) | function filterLinksByNodes(nodes, links) { function findLinkMaxSpeed (line 884) | function findLinkMaxSpeed(link) { function linkSpeedAsString (line 906) | function linkSpeedAsString(speed) { function findBoundingBox (line 934) | function findBoundingBox(nodes) { function getTrafficCSSforLink (line 976) | function getTrafficCSSforLink(link) { FILE: python/nav/web/static/js/src/networkexplorer.js function fadeIn (line 3) | function fadeIn(search_form) { function fadeOut (line 6) | function fadeOut(search_form) { function submitForm (line 9) | function submitForm(networkTree, search_form, working) { function parseResult (line 35) | function parseResult(networkTree, data) { function notifyFail (line 38) | function notifyFail(text) { FILE: python/nav/web/static/js/src/plugins/accordion_maker.js function accordionMaker (line 5) | function accordionMaker($elements) { function showContent (line 13) | function showContent($elements) { function convertToTabs (line 22) | function convertToTabs($elements) { function convertToAccordion (line 35) | function convertToAccordion($elements) { function isAccordion (line 49) | function isAccordion($elements) { FILE: python/nav/web/static/js/src/plugins/alert.js function init (line 4) | function init() { function closeAlert (line 23) | function closeAlert(alertBox) { FILE: python/nav/web/static/js/src/plugins/checkbox_selector.js function CheckboxSelector (line 7) | function CheckboxSelector(node, selector) { FILE: python/nav/web/static/js/src/plugins/counterdisplay.js function CounterDisplay (line 2) | function CounterDisplay(template, parentId, value, unit) { FILE: python/nav/web/static/js/src/plugins/csrf-utils.js function getCsrfToken (line 10) | function getCsrfToken() { FILE: python/nav/web/static/js/src/plugins/d3_sparkline.js function lineSparkline (line 44) | function lineSparkline(container, data, options) { function bulletSparkline (line 134) | function bulletSparkline(container, data, options) { function drawSpots (line 215) | function drawSpots(svg, data, xScale, yScale, opts) { function normalizeLineData (line 246) | function normalizeLineData(data) { function mergeOptions (line 257) | function mergeOptions(defaults, options) { function addLineTooltip (line 268) | function addLineTooltip(svg, data, xScale, yScale, opts, width, height) { function addBulletTooltip (line 332) | function addBulletTooltip(svg, el, data, opts) { function findClosestPoint (line 352) | function findClosestPoint(data, xValue) { function createTooltip (line 381) | function createTooltip() { function showTooltip (line 400) | function showTooltip(tooltip, html, event) { function hideTooltip (line 424) | function hideTooltip(tooltip) { FILE: python/nav/web/static/js/src/plugins/fullscreen.js function toggleFullscreen (line 24) | function toggleFullscreen(element) { function isFullscreenSupported (line 40) | function isFullscreenSupported() { function isInFullscreen (line 51) | function isInFullscreen() { function exitFullscreen (line 61) | function exitFullscreen() { function requestFullscreen (line 77) | function requestFullscreen(element) { function createFullscreenToggler (line 97) | function createFullscreenToggler(element, append) { FILE: python/nav/web/static/js/src/plugins/gauge.js function JohnGauge (line 13) | function JohnGauge(config) { function arcTween (line 109) | function arcTween(transition, newValue) { FILE: python/nav/web/static/js/src/plugins/graphfetcher.js function GraphFetcher (line 31) | function GraphFetcher(node, urls, config) { function getTimeDescription (line 280) | function getTimeDescription(timeframe) { function getSeriesName (line 298) | function getSeriesName(target) { FILE: python/nav/web/static/js/src/plugins/graphfetcher_controller.js function GraphHandler (line 25) | function GraphHandler($container, graphs) { function addToggleListeners (line 81) | function addToggleListeners($parent, graphs) { function addGraphUrlSwitcher (line 104) | function addGraphUrlSwitcher($parent, graphs) { function addTimeframeSwitcher (line 126) | function addTimeframeSwitcher($parent, graphs) { FILE: python/nav/web/static/js/src/plugins/hover_highlight.js function HoverHighlight (line 3) | function HoverHighlight(node) { function addHighlight (line 8) | function addHighlight(topNode) { FILE: python/nav/web/static/js/src/plugins/jquery_ui_helpers.js function cacheRequest (line 5) | function cacheRequest(event, ui) { FILE: python/nav/web/static/js/src/plugins/lightbox.js function init (line 7) | function init() { function handleClick (line 14) | function handleClick(event) { function handleKeydown (line 41) | function handleKeydown(event) { function openGallery (line 53) | function openGallery(galleryId, selectedSrc = null) { function showLightbox (line 69) | function showLightbox() { function closeLightbox (line 78) | function closeLightbox() { function generateThumbnails (line 90) | function generateThumbnails() { function showImage (line 100) | function showImage(index) { function navigate (line 121) | function navigate(direction) { FILE: python/nav/web/static/js/src/plugins/linear_gauge.js function guid (line 6) | function guid() { function LinearGauge (line 18) | function LinearGauge(config) { FILE: python/nav/web/static/js/src/plugins/megadrop.js function hideMegaDrop (line 13) | function hideMegaDrop() { function showMegaDrop (line 19) | function showMegaDrop() { FILE: python/nav/web/static/js/src/plugins/multiple_select.js function sortOptions (line 24) | function sortOptions(selectElement) { function MultipleSelect (line 32) | function MultipleSelect(config = {}) { method findOptions (line 60) | findOptions() { method findChoiceOptions (line 64) | findChoiceOptions() { method findInitialOptions (line 67) | findInitialOptions() { method addClickListeners (line 70) | addClickListeners() { method move (line 75) | move($node) { method addSubmitHandler (line 90) | addSubmitHandler() { method addSearchListener (line 95) | addSearchListener() { method doSearch (line 100) | doSearch() { method reDraw (line 113) | reDraw() { FILE: python/nav/web/static/js/src/plugins/nav-url-utils.js function deSerialize (line 8) | function deSerialize(query) { function serialize (line 35) | function serialize(obj) { function removeURLParameter (line 48) | function removeURLParameter(url, parameter) { FILE: python/nav/web/static/js/src/plugins/navlet_alert.js function AlertController (line 11) | function AlertController($navlet, options) { FILE: python/nav/web/static/js/src/plugins/navlet_handlers.js function getNavletType (line 57) | function getNavletType($node) { function handleNavletType (line 62) | function handleNavletType($node) { function handleTitleEditing (line 75) | function handleTitleEditing(node) { function handleSelect2Initialization (line 115) | function handleSelect2Initialization($swappedNode) { FILE: python/nav/web/static/js/src/plugins/navlet_pdu.js function PduController (line 10) | function PduController($navlet, dataUrl, metrics) { function getConfig (line 68) | function getConfig(numLimits) { function isTotal (line 86) | function isTotal(metric) { function strEndsWith (line 91) | function strEndsWith(str, suffix) { function getLimits (line 99) | function getLimits(limit) { function getParameters (line 110) | function getParameters(metrics) { FILE: python/nav/web/static/js/src/plugins/navlet_ups.js function Poller (line 6) | function Poller($navlet) { function convertValue (line 72) | function convertValue($node, value) { FILE: python/nav/web/static/js/src/plugins/navlets_htmx_controller.js function NavletsHtmxController (line 40) | function NavletsHtmxController() { function initialize (line 164) | function initialize() { FILE: python/nav/web/static/js/src/plugins/neighbor-map.js function NeighborMap (line 6) | function NeighborMap(node) { function dragStarted (line 336) | function dragStarted(event, d) { function dragEnded (line 342) | function dragEnded(event, d) { function dragging (line 362) | function dragging(event, d) { FILE: python/nav/web/static/js/src/plugins/popover.js function init (line 4) | function init() { function handleClick (line 30) | function handleClick(e) { function togglePopover (line 49) | function togglePopover(trigger) { function openPopover (line 67) | function openPopover(popover) { function closePopover (line 76) | function closePopover(popover) { function closeOpenPopovers (line 86) | function closeOpenPopovers(clickTarget) { function closeAllPopovers (line 97) | function closeAllPopovers() { FILE: python/nav/web/static/js/src/plugins/rickshaw-utils.js function createSeries (line 8) | function createSeries(data) { function convertToRickshaw (line 26) | function convertToRickshaw(dataPoint) { function filterFunctionCalls (line 40) | function filterFunctionCalls(name) { function removeFunctionCalls (line 57) | function removeFunctionCalls(string) { function siNumbers (line 69) | function siNumbers(y, toInteger, spacer) { function formatKMGT (line 94) | function formatKMGT(y) { function resizeGraph (line 105) | function resizeGraph(graph) { FILE: python/nav/web/static/js/src/plugins/rickshaw_graph.js function RickshawGraph (line 12) | function RickshawGraph(container, data, url, minValue) { function buildObject (line 46) | function buildObject(parts) { function getSeriesMeta (line 55) | function getSeriesMeta(name) { function addUtility (line 60) | function addUtility(container, graph, url) { function updateMeta (line 138) | function updateMeta(container, params) { FILE: python/nav/web/static/js/src/plugins/room_mapper.js function RoomMapper (line 17) | function RoomMapper(node, options) { function OverlayToggler (line 246) | function OverlayToggler(opt_options) { function getOSMsource (line 282) | function getOSMsource() { function transformPosition (line 289) | function transformPosition(room) { function getLat (line 294) | function getLat(room) { function getLong (line 298) | function getLong(room) { function getComponentStyle (line 305) | function getComponentStyle(feature) { function getRoomStyle (line 319) | function getRoomStyle(room) { function getClusterStyle (line 331) | function getClusterStyle(size) { function addCssToHead (line 352) | function addCssToHead(src) { function addClickNavigation (line 363) | function addClickNavigation(map) { function getMarkerStyle (line 393) | function getMarkerStyle(text, image) { function getFocusMarkerStyle (line 408) | function getFocusMarkerStyle(text) { function getMainMarkerStyle (line 412) | function getMainMarkerStyle(text) { FILE: python/nav/web/static/js/src/plugins/seeddb_datatables.js function enrichTable (line 14) | function enrichTable(tableType) { function prepareDataTable (line 36) | function prepareDataTable() { function getPageConfig (line 62) | function getPageConfig(numRows) { function drawCallback (line 77) | function drawCallback(oSettings) { function initComplete (line 85) | function initComplete() { function applyDefaultDataTable (line 90) | function applyDefaultDataTable(options) { function applyCablingDataTable (line 121) | function applyCablingDataTable(options) { function applyPatchDataTable (line 210) | function applyPatchDataTable(options) { FILE: python/nav/web/static/js/src/plugins/seeddb_hstore.js function HstoreForm (line 12) | function HstoreForm($element) { FILE: python/nav/web/static/js/src/plugins/seeddb_management_profile.js function executeOnLoad (line 4) | function executeOnLoad() { function protocolChanged (line 16) | function protocolChanged() { FILE: python/nav/web/static/js/src/plugins/seeddb_map.js function SeedDBMap (line 10) | function SeedDBMap(mapElementId, positionFieldId, getLocationTrigger) { function initMap (line 25) | function initMap(mapElementId) { function populateMap (line 51) | function populateMap(map, positionField) { function getCenter (line 81) | function getCenter(map, positionValue) { function parsePositionValue (line 100) | function parsePositionValue(position) { function getPoint (line 116) | function getPoint(map, coords) { function isDefaultPoint (line 129) | function isDefaultPoint(lonlat) { function addMarkerLayer (line 134) | function addMarkerLayer(map) { function addMarkerToLayer (line 141) | function addMarkerToLayer(lonlat, layer) { function initGetLonLatOnClickControl (line 155) | function initGetLonLatOnClickControl(map, marker, position_input) function updatePosition (line 200) | function updatePosition(positionField, lonlat, map) { function lonLatToStr (line 210) | function lonLatToStr(lonlat) { function getAndSetLocation (line 220) | function getAndSetLocation(map, marker, positionField) { function moveTo (line 251) | function moveTo(point, map, marker) { function getMarkerLayer (line 263) | function getMarkerLayer(map) { FILE: python/nav/web/static/js/src/plugins/sensor_controller.js function SensorController (line 9) | function SensorController($node, templates) { FILE: python/nav/web/static/js/src/plugins/sensors_controller.js function SensorsController (line 9) | function SensorsController($sensors) { FILE: python/nav/web/static/js/src/plugins/state_controller.js function _getFormState (line 8) | function _getFormState(form) { function _setFormState (line 17) | function _setFormState(form, storageKey) { function _getFormStateFromStorage (line 23) | function _getFormStateFromStorage(storageKey) { function _setFormStateInStorage (line 27) | function _setFormStateInStorage(form, storageKey) { FILE: python/nav/web/static/js/src/plugins/symbols.js function symbol (line 8) | function symbol(unit) { FILE: python/nav/web/static/js/src/plugins/tab_navigation.js function setTitle (line 3) | function setTitle(fragment) { function add (line 15) | function add(selector, parent) { FILE: python/nav/web/static/js/src/plugins/table_utils.js function TableUtil (line 3) | function TableUtil(node, limit) { function createToggleRow (line 35) | function createToggleRow(nodeText, colspan) { function getShowText (line 47) | function getShowText(numRows) { function getHideText (line 51) | function getHideText() { FILE: python/nav/web/static/js/src/plugins/tooltip.js function initializeTooltips (line 5) | function initializeTooltips(container = document) { function adjustTooltipAlignment (line 21) | function adjustTooltipAlignment(tooltip) { function initializeFixedTooltip (line 44) | function initializeFixedTooltip(tooltip) { function positionTooltip (line 55) | function positionTooltip(tooltip) { FILE: python/nav/web/static/js/src/plugins/vue_rack.js function round (line 14) | function round(number, n) { function getValue (line 29) | function getValue(datapoints) { FILE: python/nav/web/static/js/src/portadmin.js function Feedbacker (line 6) | function Feedbacker(modal) { function addTrunkSelectedListener (line 181) | function addTrunkSelectedListener($wrapper) { function addChangeListener (line 195) | function addChangeListener($wrapper) { function actOnChange (line 216) | function actOnChange(row) { function addSaveListener (line 224) | function addSaveListener($wrapper) { function addSaveAllListener (line 232) | function addSaveAllListener(element) { function bulkSave (line 236) | function bulkSave() { function textFieldChanged (line 242) | function textFieldChanged(row) { function dropDownChanged (line 247) | function dropDownChanged(row) { function poeDropDownChanged (line 254) | function poeDropDownChanged(row) { function voiceVlanChanged (line 261) | function voiceVlanChanged(row) { function adminStatusChanged (line 275) | function adminStatusChanged(row) { function markAsChanged (line 286) | function markAsChanged(row) { function markAsUnchanged (line 294) | function markAsUnchanged(row) { function clearChangedState (line 302) | function clearChangedState(row) { function saveRow (line 306) | async function saveRow($row) { function create_ajax_data (line 322) | function create_ajax_data($row) { function saveInterface (line 354) | async function saveInterface(interfaceData) { function doAjaxRequest (line 372) | async function doAjaxRequest(rowid) { function commitConfig (line 444) | async function commitConfig(interfaceid) { function restartInterfaces (line 468) | async function restartInterfaces() { function disableButtons (line 491) | function disableButtons(row) { function enableButtons (line 495) | function enableButtons(row) { function indicateSuccess (line 499) | function indicateSuccess($row) { function indicateError (line 508) | function indicateError($row, messages) { function removeAlerts (line 522) | function removeAlerts($container) { function updateDefaults (line 526) | function updateDefaults($row, data) { function updateIfAliasDefault (line 544) | function updateIfAliasDefault($row, ifalias) { function updateVlanDefault (line 551) | function updateVlanDefault($row, vlan) { function updateVoiceDefault (line 560) | function updateVoiceDefault($row, new_value) { function updateAdminStatusDefault (line 570) | function updateAdminStatusDefault($row, new_value) { function updatePoeDefault (line 578) | function updatePoeDefault($row, new_value) { function removeFromQueue (line 587) | function removeFromQueue(id) { function emptyQueue (line 597) | function emptyQueue() { function disableSaveallButtons (line 606) | function disableSaveallButtons() { function enableSaveallButtons (line 610) | function enableSaveallButtons() { FILE: python/nav/web/static/js/src/porttable.js function renderStatus (line 140) | function renderStatus(data, type, row, meta) { function isSwPort (line 147) | function isSwPort(row) { function PortTable (line 158) | function PortTable(selector, netboxid) { function loadMoreData (line 222) | function loadMoreData(data) { function createForm (line 248) | function createForm(formID, formContainer) { function setFormFields (line 265) | function setFormFields($form) { function getLocalStorageValues (line 275) | function getLocalStorageValues() { function setLocalStorageValues (line 279) | function setLocalStorageValues($form) { function formListener (line 285) | function formListener(dt, $form) { function addLoadingIndicator (line 293) | function addLoadingIndicator(tableSelector) { function addCustomOrdering (line 304) | function addCustomOrdering() { function translateData (line 313) | function translateData(data) { function fixSearchDelay (line 326) | function fixSearchDelay(dataTable) { function toggleLastUsedOnXHR (line 346) | function toggleLastUsedOnXHR(tableSelector, column, $form) { FILE: python/nav/web/static/js/src/radius.js function initTimeField (line 3) | function initTimeField() { function addTableCellListener (line 28) | function addTableCellListener(resulttable, datatable) { function addFilterInputListener (line 36) | function addFilterInputListener(resulttable, datatable) { function initResulttable (line 46) | function initResulttable(resulttable) { FILE: python/nav/web/static/js/src/report.js function addToggleFiltersListener (line 6) | function addToggleFiltersListener() { function addReportWidgetListener (line 22) | function addReportWidgetListener() { function addTogglePageSizeListener (line 60) | function addTogglePageSizeListener() { FILE: python/nav/web/static/js/src/seeddb.js function executeOnLoad (line 9) | function executeOnLoad() { function initDeviceGroupSelectMultiple (line 74) | function initDeviceGroupSelectMultiple($formElement, $searchField) { function activateIpDeviceFormPlugins (line 121) | function activateIpDeviceFormPlugins() { function addConfirmLeavePage (line 150) | function addConfirmLeavePage() { function netboxListSelect2 (line 165) | function netboxListSelect2(data, _params) { function initSearchForIpDevice (line 181) | function initSearchForIpDevice() { function addParentSelect2 (line 201) | function addParentSelect2() { FILE: python/nav/web/static/js/src/seeddb_netbox.js function isHidden (line 8) | function isHidden(element) { function toggle (line 12) | function toggle() { function hasValue (line 41) | function hasValue($field) { function checkFields (line 54) | function checkFields() { function formatProfileResult (line 77) | function formatProfileResult(item) { function findProfileLink (line 99) | function findProfileLink(element) { FILE: python/nav/web/static/js/src/seeddb_netbox_wizard.js function initNetboxWizard (line 2) | function initNetboxWizard() { FILE: python/nav/web/static/js/src/statistics.js function setActiveButton (line 15) | function setActiveButton($button) { function addGraphType (line 20) | function addGraphType(type) { FILE: python/nav/web/static/js/src/status2/status.js function clearFilterForm (line 15) | function clearFilterForm() { FILE: python/nav/web/static/js/src/status2/views.js function startSpinner (line 92) | function startSpinner() { function stopSpinner (line 97) | function stopSpinner() { FILE: python/nav/web/static/js/src/subnetmatrix.js function UsageFetcher (line 3) | function UsageFetcher(container) { function PopoverHandler (line 179) | function PopoverHandler(container) { FILE: python/nav/web/static/js/src/syslogger.js function addMainTabs (line 54) | function addMainTabs() { function enrich_tables (line 65) | function enrich_tables(tables, extra_opts) { function stripDomainSuffixOrigin (line 80) | function stripDomainSuffixOrigin(dom, suffixes) { function eventLoadingComplete (line 96) | function eventLoadingComplete(event, ui) { function attachButtonListeners (line 105) | function attachButtonListeners() { function checkDataAndUpdateSelection (line 112) | function checkDataAndUpdateSelection(dataTarget, data) { function setSelectedOption (line 123) | function setSelectedOption(name, field) { function convertToBoolean (line 134) | function convertToBoolean(value) { function setSelectedValue (line 154) | function setSelectedValue(name, field) { function setSelectedCheckbox (line 158) | function setSelectedCheckbox(name, field) { function updateFormFromRequestArguments (line 164) | function updateFormFromRequestArguments() { function showLogIfEnoughFilteringEnabled (line 182) | function showLogIfEnoughFilteringEnabled() { function showLog (line 195) | function showLog() { function searchSyslog (line 199) | function searchSyslog(target) { FILE: python/nav/web/static/js/src/threshold.js function handleSelect (line 51) | function handleSelect(event, ui) { function displayMetricInfo (line 62) | function displayMetricInfo(metric) { function startSpinner (line 87) | function startSpinner() { function stopSpinner (line 92) | function stopSpinner() { FILE: python/nav/web/static/js/src/watchdog.js function addLabelClickHandlers (line 4) | function addLabelClickHandlers() { function populateOverview (line 12) | function populateOverview() { function doRequest (line 53) | function doRequest(element, url, fun) { function intComma (line 68) | function intComma(x) { FILE: python/nav/web/static/js/src/webfront.js function addDashboardKeyNavigation (line 14) | function addDashboardKeyNavigation() { function addDroppableDashboardTargets (line 56) | function addDroppableDashboardTargets() { function createFeedbackElements (line 132) | function createFeedbackElements() { function addFullscreenListener (line 157) | function addFullscreenListener() { function addDisplayDensityListener (line 165) | function addDisplayDensityListener() { function addDefaultDashboardListener (line 185) | function addDefaultDashboardListener(feedback) { function addCreateDashboardListener (line 209) | function addCreateDashboardListener(feedback) { function addRenameDashboardListener (line 230) | function addRenameDashboardListener(feedback) { FILE: python/nav/web/status2/forms.py class Select2Multiple (line 38) | class Select2Multiple(forms.SelectMultiple): method __init__ (line 41) | def __init__(self, attrs=None, choices=()): class StatusPanelForm (line 48) | class StatusPanelForm(forms.Form): method __init__ (line 60) | def __init__(self, *args, **kwargs): method clean_stateless_threshold (line 167) | def clean_stateless_threshold(self): class StatusWidgetForm (line 176) | class StatusWidgetForm(StatusPanelForm): method __init__ (line 198) | def __init__(self, *args, **kwargs): function get_event_types (line 291) | def get_event_types(): function get_alert_types (line 296) | def get_alert_types(): function get_categories (line 313) | def get_categories(): function get_organizations (line 318) | def get_organizations(): function get_device_groups (line 323) | def get_device_groups(): function get_locations (line 328) | def get_locations(): function get_severity (line 338) | def get_severity(): FILE: python/nav/web/status2/views.py class StatusView (line 42) | class StatusView(View): method get_status_preferences (line 45) | def get_status_preferences(self): method set_default_parameters (line 68) | def set_default_parameters(parameters): method get_permits (line 73) | def get_permits(self): method get (line 90) | def get(self, request): function save_status_preferences (line 111) | def save_status_preferences(request): function get_alerts_from_request (line 126) | def get_alerts_from_request(request, event_type_filter=None): function handle_resolve_alerts (line 142) | def handle_resolve_alerts(request): function resolve_alerts (line 151) | def resolve_alerts(alerts): function acknowledge_alert (line 158) | def acknowledge_alert(request): function put_on_maintenance (line 171) | def put_on_maintenance(request): function delete_module_or_chassis (line 193) | def delete_module_or_chassis(request): function is_maintenance_task_posted (line 238) | def is_maintenance_task_posted(netbox): function add_maintenance_task (line 248) | def add_maintenance_task(owner, netboxes, description=""): FILE: python/nav/web/styleguide.py class StyleFormOne (line 29) | class StyleFormOne(forms.Form): class StyleFormTwo (line 36) | class StyleFormTwo(forms.Form): method __init__ (line 42) | def __init__(self, *args, **kwargs): function styleguide_index (line 66) | def styleguide_index(request): FILE: python/nav/web/syslogger/forms.py function _choice_values (line 17) | def _choice_values(model, field_name): class LoggerGroupSearchForm (line 31) | class LoggerGroupSearchForm(forms.Form): method __init__ (line 45) | def __init__(self, *args, **kwargs): FILE: python/nav/web/syslogger/views.py function _strip_empty_arguments (line 48) | def _strip_empty_arguments(request): function _build_context (line 61) | def _build_context(request): function handle_search (line 190) | def handle_search(request, _searchform, form_target): function index (line 202) | def index(request): function group_search (line 206) | def group_search(request): function exceptions_response (line 212) | def exceptions_response(request): function errors_response (line 235) | def errors_response(request): FILE: python/nav/web/threshold/forms.py class ThresholdForm (line 35) | class ThresholdForm(forms.ModelForm): method __init__ (line 49) | def __init__(self, *args, **kwargs): method clean (line 107) | def clean(self): method clean_period (line 117) | def clean_period(self): method clean_alert (line 130) | def clean_alert(self): method clean_clear (line 136) | def clean_clear(self): class Meta (line 144) | class Meta(object): function validate_expression (line 150) | def validate_expression(expression, form): function is_interface (line 160) | def is_interface(metric): FILE: python/nav/web/threshold/views.py function get_path (line 35) | def get_path(): function index (line 40) | def index(request): function add_threshold (line 48) | def add_threshold(request, metric=None): function edit_threshold (line 78) | def edit_threshold(request, rule_id): function delete_threshold (line 107) | def delete_threshold(request, rule_id): function handle_threshold_form (line 116) | def handle_threshold_form(form, request): function threshold_help_modal (line 128) | def threshold_help_modal(request): function threshold_search (line 140) | def threshold_search(request): function enhance_term (line 158) | def enhance_term(term): function get_metrics (line 169) | def get_metrics(term): function is_all_leaves (line 185) | def is_all_leaves(metrics): function get_graph_url (line 199) | def get_graph_url(request): FILE: python/nav/web/useradmin/forms.py class AccountGroupForm (line 40) | class AccountGroupForm(forms.ModelForm): method __init__ (line 46) | def __init__(self, *args, **kwargs): class Meta (line 66) | class Meta(object): class AccountForm (line 71) | class AccountForm(forms.ModelForm): method __init__ (line 88) | def __init__(self, *args, **kwargs): method clean_password1 (line 121) | def clean_password1(self): method is_valid (line 130) | def is_valid(self): class Meta (line 140) | class Meta(object): class ExternalAccountForm (line 145) | class ExternalAccountForm(AccountForm): method __init__ (line 148) | def __init__(self, *args, **kwargs): class PrivilegeForm (line 174) | class PrivilegeForm(forms.Form): method __init__ (line 182) | def __init__(self, *args, **kwargs): class OrganizationAddForm (line 205) | class OrganizationAddForm(forms.Form): method __init__ (line 208) | def __init__(self, account, *args, **kwargs): class GroupAddForm (line 227) | class GroupAddForm(forms.Form): method __init__ (line 230) | def __init__(self, account, *args, **kwargs): class AccountAddForm (line 262) | class AccountAddForm(forms.Form): method __init__ (line 265) | def __init__(self, group, *args, **kwargs): function _get_default_expires (line 285) | def _get_default_expires(): class ReadonlyField (line 289) | class ReadonlyField(forms.CharField): method widget_attrs (line 292) | def widget_attrs(self, widget): class TokenForm (line 298) | class TokenForm(forms.ModelForm): method __init__ (line 315) | def __init__(self, *args, **kwargs): method clean_endpoints (line 362) | def clean_endpoints(self): class Meta (line 367) | class Meta(object): class JWTRefreshTokenCreateForm (line 372) | class JWTRefreshTokenCreateForm(forms.ModelForm): method __init__ (line 387) | def __init__(self, *args, **kwargs): method clean_endpoints (line 422) | def clean_endpoints(self): class Meta (line 427) | class Meta(object): class JWTRefreshTokenEditForm (line 432) | class JWTRefreshTokenEditForm(forms.ModelForm): method __init__ (line 438) | def __init__(self, *args, **kwargs): class Meta (line 461) | class Meta(object): FILE: python/nav/web/useradmin/views.py function account_list (line 47) | def account_list(request): function account_detail (line 60) | def account_detail(request, account_id=None): function add_warnings_for_account (line 116) | def add_warnings_for_account(account, request): function save_account (line 161) | def save_account(request, account_form, old_account): function save_account_org (line 182) | def save_account_org(request, account, org_form): function save_account_group (line 201) | def save_account_group(request, account, group_form): function sudo_to_user (line 225) | def sudo_to_user(request): function account_delete (line 237) | def account_delete(request, account_id): function account_organization_remove (line 276) | def account_organization_remove(request, account_id, org_id): function account_group_remove (line 327) | def account_group_remove(request, account_id, group_id, caller='account'): function group_list (line 395) | def group_list(request): function group_detail (line 406) | def group_detail(request, group_id=None): function group_delete (line 482) | def group_delete(request, group_id): function group_account_remove (line 511) | def group_account_remove(request, group_id, account_id): function group_privilege_remove (line 516) | def group_privilege_remove(request, group_id, privilege_id): class NavPathMixin (line 554) | class NavPathMixin(object): method get_context_data (line 555) | def get_context_data(self, **kwargs): class TokenList (line 561) | class TokenList(NavPathMixin, generic.ListView): method get_context_data (line 567) | def get_context_data(self, **kwargs): class TokenCreate (line 574) | class TokenCreate(NavPathMixin, generic.CreateView): method post (line 581) | def post(self, request, *args, **kwargs): class TokenEdit (line 589) | class TokenEdit(NavPathMixin, generic.UpdateView): method post (line 596) | def post(self, request, *args, **kwargs): class TokenDelete (line 610) | class TokenDelete(generic.DeleteView): method get_success_url (line 615) | def get_success_url(self): method form_valid (line 618) | def form_valid(self, form): class TokenDetail (line 633) | class TokenDetail(NavPathMixin, generic.DetailView): function token_expire (line 641) | def token_expire(request, pk): function log_account_change (line 662) | def log_account_change(actor, old, new): function log_add_account_to_group (line 674) | def log_add_account_to_group(request, group, account): function log_add_account_to_org (line 685) | def log_add_account_to_org(request, organization, account): class JWTList (line 696) | class JWTList(NavPathMixin, generic.ListView): method get_context_data (line 702) | def get_context_data(self, **kwargs): class JWTCreate (line 710) | class JWTCreate(NavPathMixin, generic.CreateView): method form_valid (line 717) | def form_valid(self, form): class JWTEdit (line 749) | class JWTEdit(NavPathMixin, generic.UpdateView): method form_valid (line 756) | def form_valid(self, form): class JWTDetail (line 776) | class JWTDetail(NavPathMixin, generic.DetailView): class JWTDelete (line 783) | class JWTDelete(generic.DeleteView): method get_success_url (line 788) | def get_success_url(self): method form_valid (line 791) | def form_valid(self, form): function jwt_revoke (line 807) | def jwt_revoke(request, pk): function jwt_recreate (line 828) | def jwt_recreate(request, pk): function generate_refresh_token_from_model (line 862) | def generate_refresh_token_from_model(token: JWTRefreshToken): FILE: python/nav/web/utils.py function is_ajax (line 35) | def is_ajax(request: HttpRequest) -> bool: function get_navpath_root (line 40) | def get_navpath_root(): function create_title (line 49) | def create_title(navpath): class SubListView (line 54) | class SubListView(ListView): method get_context_data (line 59) | def get_context_data(self, *args, **kwargs): function require_param (line 65) | def require_param(parameter): function generate_png_qr_code (line 85) | def generate_png_qr_code(url: str, caption: str = "") -> bytes: function generate_svg_qr_code (line 122) | def generate_svg_qr_code(url: str, caption: str = "") -> bytes: function generate_qr_code_as_string (line 158) | def generate_qr_code_as_string( function generate_qr_codes_as_zip_response (line 174) | def generate_qr_codes_as_zip_response( function validate_timedelta_for_overflow (line 201) | def validate_timedelta_for_overflow(days: int = 0, hours: int = 0): FILE: python/nav/web/watchdog/views.py function render_index (line 28) | def render_index(request): function get_active_addresses (line 41) | def get_active_addresses(_): function get_cam_and_arp (line 52) | def get_cam_and_arp(_request): function get_database_size (line 65) | def get_database_size(_request): function get_cam (line 76) | def get_cam(cursor): function get_oldest_cam_date (line 81) | def get_oldest_cam_date(cursor): function get_arp (line 86) | def get_arp(cursor): function get_oldest_arp_date (line 91) | def get_oldest_arp_date(cursor): function get_tuple_count_estimate (line 96) | def get_tuple_count_estimate(cursor, table): function get_oldest_start_time_date (line 106) | def get_oldest_start_time_date(cursor, table): function get_postgres_db_size (line 123) | def get_postgres_db_size(cursor): function get_serial_numbers (line 131) | def get_serial_numbers(_): FILE: python/nav/web/webfront/__init__.py function find_dashboard (line 20) | def find_dashboard(account, dashboard_id=None): function _find_dashboard_by_id (line 39) | def _find_dashboard_by_id(account, dashboard_id): function _find_default_dashboard (line 51) | def _find_default_dashboard(account): function get_dashboards_for_account (line 69) | def get_dashboards_for_account(account) -> list[AccountDashboard]: FILE: python/nav/web/webfront/forms.py class LoginForm (line 30) | class LoginForm(forms.Form): method __init__ (line 37) | def __init__(self, *args, **kwargs): class NavbarlinkForm (line 46) | class NavbarlinkForm(forms.ModelForm): method __init__ (line 47) | def __init__(self, *args, **kwargs): class ChangePasswordForm (line 64) | class ChangePasswordForm(forms.Form): method __init__ (line 81) | def __init__(self, *args, **kwargs): method clean_old_password (line 106) | def clean_old_password(self): method clean (line 116) | def clean(self): method clear_passwords (line 129) | def clear_passwords(cleaned_data): FILE: python/nav/web/webfront/utils.py class Tool (line 35) | class Tool(object): method __init__ (line 38) | def __init__( method __str__ (line 49) | def __str__(self): method __eq__ (line 52) | def __eq__(self, other): method __lt__ (line 55) | def __lt__(self, other): method __repr__ (line 58) | def __repr__(self): function quick_read (line 62) | def quick_read(filename): function current_messages (line 70) | def current_messages(): function boxes_down (line 79) | def boxes_down(): function tool_list (line 99) | def tool_list(account): function get_account_tools (line 135) | def get_account_tools(account, all_tools): function split_tools (line 151) | def split_tools(tools, parts=3): FILE: python/nav/web/webfront/views.py function index (line 87) | def index(request, did=None): function load_dashboard (line 118) | def load_dashboard(request, dashboard_id=None): function toggle_dashboard_shared (line 147) | def toggle_dashboard_shared(request, did): function _render_share_form_response (line 178) | def _render_share_form_response( function toggle_subscribe (line 194) | def toggle_subscribe(request, did): function dashboard_search_modal (line 209) | def dashboard_search_modal(request): function dashboard_search (line 221) | def dashboard_search(request): function export_dashboard (line 264) | def export_dashboard(request, did): function import_dashboard (line 292) | def import_dashboard(request): function import_dashboard_modal (line 344) | def import_dashboard_modal(request): function login (line 355) | def login(request): function audit_logging_modal (line 384) | def audit_logging_modal(request): function do_login (line 395) | def do_login(request: HttpRequest) -> HttpResponse: function logout (line 434) | def logout(request: HttpRequest) -> HttpResponse: function _logout_helper (line 441) | def _logout_helper(request: HttpRequest, sudo=False) -> Optional[str]: function about (line 461) | def about(request): function toolbox (line 473) | def toolbox(request): function _create_preference_context (line 489) | def _create_preference_context(request): function preferences (line 517) | def preferences(request): function qr_code (line 524) | def qr_code(request): function change_password (line 540) | def change_password(request): function save_links (line 564) | def save_links(request): function set_account_preference (line 587) | def set_account_preference(request): function set_default_dashboard (line 596) | def set_default_dashboard(request, did): function add_dashboard (line 617) | def add_dashboard(request): function delete_dashboard (line 627) | def delete_dashboard(request, did): function rename_dashboard (line 664) | def rename_dashboard(request, did): function save_dashboard_columns (line 674) | def save_dashboard_columns(request, did): function moveto_dashboard (line 702) | def moveto_dashboard(request, did): FILE: tests/conftest.py function pytest_configure (line 8) | def pytest_configure(config): function admin_username (line 30) | def admin_username(): function admin_password (line 35) | def admin_password(): function rsa_private_key (line 42) | def rsa_private_key() -> str: function rsa_public_key (line 76) | def rsa_public_key() -> str: FILE: tests/functional/arnold_test.py function test_when_visiting_arnold_then_title_should_contain_detentions (line 23) | def test_when_visiting_arnold_then_title_should_contain_detentions(authe... FILE: tests/functional/conftest.py function pytest_configure (line 18) | def pytest_configure(config): function _ensure_playwright_browser (line 26) | def _ensure_playwright_browser(): function live_server (line 34) | def live_server(): function authenticated_page (line 48) | def authenticated_page(page: Page, live_server, admin_username, admin_pa... FILE: tests/functional/geomap_test.py function test_when_loading_geomap_then_map_viewport_should_exist (line 21) | def test_when_loading_geomap_then_map_viewport_should_exist(authenticate... FILE: tests/functional/ipdevinfo_test.py function test_when_loading_port_details_activity_graphs_should_load (line 6) | def test_when_loading_port_details_activity_graphs_should_load(authentic... FILE: tests/functional/navbar_test.py function test_when_searching_for_ip_then_it_should_return_result (line 21) | def test_when_searching_for_ip_then_it_should_return_result(authenticate... FILE: tests/functional/netmap_test.py function test_when_loading_netmap_then_it_should_not_have_syntax_errors (line 4) | def test_when_loading_netmap_then_it_should_not_have_syntax_errors(authe... FILE: tests/functional/room_test.py function test_when_uploading_room_image_then_it_should_appear (line 8) | def test_when_uploading_room_image_then_it_should_appear(authenticated_p... FILE: tests/functional/status_test.py function status_page (line 23) | def status_page(authenticated_page): function test_when_clicking_filter_toggle_then_panel_should_toggle (line 29) | def test_when_clicking_filter_toggle_then_panel_should_toggle(status_page): function test_when_refreshing_page_then_panel_state_should_persist (line 42) | def test_when_refreshing_page_then_panel_state_should_persist(status_page): FILE: tests/integration/alertengine_test.py function test_all_handlers_should_be_loadable (line 5) | def test_all_handlers_should_be_loadable(): FILE: tests/integration/api_test.py function test_forbidden_endpoints (line 57) | def test_forbidden_endpoints(db, api_client, url): function test_allowed_endpoints (line 67) | def test_allowed_endpoints(db, api_client, token, serializer_models, nam... function test_unauthenticated_user_can_access_api_root (line 81) | def test_unauthenticated_user_can_access_api_root(db): function test_delete (line 93) | def test_delete(db, api_client, token, endpoint): function test_create (line 105) | def test_create(db, api_client, token, endpoint): function test_page_size (line 112) | def test_page_size(db, api_client, token): function test_ordering_should_not_crash (line 122) | def test_ordering_should_not_crash(db, api_client, token): function test_update_org_on_account (line 133) | def test_update_org_on_account(db, api_client, token): function test_update_group_on_org (line 147) | def test_update_group_on_org(db, api_client, token): function test_filter_netbox_by_invalid_ip (line 160) | def test_filter_netbox_by_invalid_ip(db, api_client, token): function test_filter_netbox_by_invalid_ip_that_cannot_be_converted_throws_error (line 167) | def test_filter_netbox_by_invalid_ip_that_cannot_be_converted_throws_error( function test_update_netbox (line 176) | def test_update_netbox(db, api_client, token): function test_delete_netbox (line 187) | def test_delete_netbox(db, api_client, token): function test_get_wrong_room (line 203) | def test_get_wrong_room(db, api_client, token): function test_get_new_room (line 210) | def test_get_new_room(db, api_client, token): function test_when_room_has_dot_in_id_the_api_should_still_find_it (line 219) | def test_when_room_has_dot_in_id_the_api_should_still_find_it(db, api_cl... function test_when_location_has_dot_in_id_the_api_should_still_find_it (line 230) | def test_when_location_has_dot_in_id_the_api_should_still_find_it( function test_patch_room_not_found (line 244) | def test_patch_room_not_found(db, api_client, token): function test_patch_room_wrong_location (line 252) | def test_patch_room_wrong_location(db, api_client, token): function test_patch_room (line 262) | def test_patch_room(db, api_client, token): function test_patch_alias (line 273) | def test_patch_alias(db, api_client, token, endpoint): function test_patch_alias_with_pipe (line 293) | def test_patch_alias_with_pipe(db, api_client, token, endpoint): function test_patch_alias_too_long (line 310) | def test_patch_alias_too_long(db, api_client, token, endpoint): function test_delete_room_wrong_room (line 326) | def test_delete_room_wrong_room(db, api_client, token): function test_when_filtering_by_alias_then_it_should_return_matching_results (line 336) | def test_when_filtering_by_alias_then_it_should_return_matching_results( function test_when_filtering_by_id_then_it_should_return_matching_results (line 362) | def test_when_filtering_by_id_then_it_should_return_matching_results( function test_when_filtering_by_description_then_it_should_return_matching_results (line 386) | def test_when_filtering_by_description_then_it_should_return_matching_re... function test_when_searching_by_alias_then_it_should_return_matching_results (line 412) | def test_when_searching_by_alias_then_it_should_return_matching_results( function test_when_searching_by_description_then_it_should_return_matching_results (line 438) | def test_when_searching_by_description_then_it_should_return_matching_re... function test_when_filtering_netbox_by_alias_then_it_should_return_matching_results (line 470) | def test_when_filtering_netbox_by_alias_then_it_should_return_matching_r... function test_when_searching_by_cabling_room_alias_then_it_should_return_matching_results (line 488) | def test_when_searching_by_cabling_room_alias_then_it_should_return_matc... function test_when_filtering_by_room_alias_then_it_should_return_matching_results (line 517) | def test_when_filtering_by_room_alias_then_it_should_return_matching_res... function test_validate_vlan (line 531) | def test_validate_vlan(db, api_client, token): function prepare_prefix_test (line 541) | def prepare_prefix_test(db, api_client, token): function test_create_prefix (line 552) | def test_create_prefix(db, api_client, token): function test_create_prefix_with_usage (line 560) | def test_create_prefix_with_usage(db, api_client, token, serializer_mode... function test_update_prefix_remove_usage (line 570) | def test_update_prefix_remove_usage(db, api_client, token, serializer_mo... function test_nonexistent_alert_should_give_404 (line 586) | def test_nonexistent_alert_should_give_404(db, api_client, token): function test_alert_should_be_visible_in_api (line 593) | def test_alert_should_be_visible_in_api(db, api_client, token, serialize... function test_interface_with_last_used_should_be_listable (line 608) | def test_interface_with_last_used_should_be_listable( class TestVendorLookupGet (line 618) | class TestVendorLookupGet: method test_if_vendor_is_found_it_should_include_vendor_in_response (line 619) | def test_if_vendor_is_found_it_should_include_vendor_in_response( method test_should_always_return_mac_with_correct_format (line 627) | def test_should_always_return_mac_with_correct_format( method test_if_vendor_is_not_found_it_should_return_empty_dict (line 635) | def test_if_vendor_is_not_found_it_should_return_empty_dict( method test_if_mac_is_invalid_it_should_return_400 (line 643) | def test_if_mac_is_invalid_it_should_return_400( method test_if_mac_is_not_provided_it_should_return_empty_dict (line 650) | def test_if_mac_is_not_provided_it_should_return_empty_dict( class TestVendorLookupPost (line 658) | class TestVendorLookupPost: method test_if_vendor_is_found_it_should_include_vendor_in_response (line 659) | def test_if_vendor_is_found_it_should_include_vendor_in_response( method test_should_always_return_macs_with_correct_format (line 667) | def test_should_always_return_macs_with_correct_format( method test_if_vendor_is_not_found_it_should_be_omitted_from_response (line 675) | def test_if_vendor_is_not_found_it_should_be_omitted_from_response( method test_if_empty_list_is_provided_it_should_return_empty_dict (line 683) | def test_if_empty_list_is_provided_it_should_return_empty_dict( method test_if_mac_is_invalid_it_should_return_400 (line 690) | def test_if_mac_is_invalid_it_should_return_400( class TestNetboxEntityViewSet (line 697) | class TestNetboxEntityViewSet: method test_should_return_list_of_entities (line 698) | def test_should_return_list_of_entities( method test_should_get_correct_entity_when_accessing_with_id (line 706) | def test_should_get_correct_entity_when_accessing_with_id( class TestMaintenanceTaskViewSetList (line 715) | class TestMaintenanceTaskViewSetList: method test_when_getting_list_of_tasks_then_return_tasks (line 716) | def test_when_getting_list_of_tasks_then_return_tasks( method test_when_searching_by_description_then_return_matching_results (line 724) | def test_when_searching_by_description_then_return_matching_results( method test_when_filtering_by_id_then_return_matching_results (line 742) | def test_when_filtering_by_id_then_return_matching_results( method test_when_filtering_by_description_then_return_matching_results (line 760) | def test_when_filtering_by_description_then_return_matching_results( method test_when_filtering_by_author_then_return_matching_results (line 778) | def test_when_filtering_by_author_then_return_matching_results( method test_when_filtering_by_state_then_return_matching_results (line 799) | def test_when_filtering_by_state_then_return_matching_results( method test_when_filtering_by_current_true_then_return_ongoing_tasks (line 817) | def test_when_filtering_by_current_true_then_return_ongoing_tasks( method test_when_filtering_by_current_false_then_return_not_ongoing_tasks (line 833) | def test_when_filtering_by_current_false_then_return_not_ongoing_tasks( method test_when_filtering_by_past_true_then_return_passed_tasks (line 853) | def test_when_filtering_by_past_true_then_return_passed_tasks( method test_when_filtering_by_past_false_then_return_current_or_future_tasks (line 869) | def test_when_filtering_by_past_false_then_return_current_or_future_ta... method test_when_filtering_by_future_true_then_return_future_tasks (line 887) | def test_when_filtering_by_future_true_then_return_future_tasks( method test_when_filtering_by_endless_true_then_return_tasks_with_end_time_infinite (line 903) | def test_when_filtering_by_endless_true_then_return_tasks_with_end_tim... method test_when_filtering_by_endless_false_then_return_finite_tasks (line 919) | def test_when_filtering_by_endless_false_then_return_finite_tasks( class TestMaintenanceTaskViewSetRetrieve (line 940) | class TestMaintenanceTaskViewSetRetrieve: method test_when_getting_specific_task_then_return_task (line 941) | def test_when_getting_specific_task_then_return_task( method test_when_getting_specific_task_with_components_then_list_components (line 948) | def test_when_getting_specific_task_with_components_then_list_components( class TestMaintenanceTaskViewSetCreate (line 956) | class TestMaintenanceTaskViewSetCreate: method test_given_task_without_end_time_then_create_infinite_task (line 957) | def test_given_task_without_end_time_then_create_infinite_task( method test_given_task_end_time_none_then_create_infinite_task (line 974) | def test_given_task_end_time_none_then_create_infinite_task( method test_given_task_with_end_time_then_create_finite_task (line 992) | def test_given_task_with_end_time_then_create_finite_task( method test_given_task_with_end_time_in_past_then_create_passed_task (line 1011) | def test_given_task_with_end_time_in_past_then_create_passed_task( method test_given_invalid_start_time_then_return_400 (line 1029) | def test_given_invalid_start_time_then_return_400( method test_given_invalid_end_time_then_return_400 (line 1045) | def test_given_invalid_end_time_then_return_400( method test_given_end_time_before_start_time_then_return_400 (line 1062) | def test_given_end_time_before_start_time_then_return_400( method test_given_non_existent_author_then_return_400 (line 1079) | def test_given_non_existent_author_then_return_400( method test_given_task_with_rooms_then_create_task (line 1095) | def test_given_task_with_rooms_then_create_task( method test_given_task_with_netbox_then_create_task (line 1114) | def test_given_task_with_netbox_then_create_task( method test_given_task_with_location_then_create_task (line 1135) | def test_given_task_with_location_then_create_task( method test_given_task_with_netboxgroup_then_create_task (line 1151) | def test_given_task_with_netboxgroup_then_create_task( method test_given_task_with_service_then_create_task (line 1168) | def test_given_task_with_service_then_create_task( method test_given_no_components_then_return_400 (line 1186) | def test_given_no_components_then_return_400( method test_given_non_existing_netbox_id_then_return_400 (line 1202) | def test_given_non_existing_netbox_id_then_return_400( method test_given_non_number_netbox_id_then_return_400 (line 1220) | def test_given_non_number_netbox_id_then_return_400( method test_given_non_string_room_id_then_return_400 (line 1236) | def test_given_non_string_room_id_then_return_400( class TestMaintenanceTaskViewSetDestroy (line 1253) | class TestMaintenanceTaskViewSetDestroy: method test_when_deleting_task_then_delete_task_and_components (line 1254) | def test_when_deleting_task_then_delete_task_and_components( function create_token_endpoint (line 1272) | def create_token_endpoint(token, name): function get (line 1277) | def get(api_client, endpoint, id=None): function create (line 1284) | def create(api_client, endpoint, data): function update (line 1289) | def update(api_client, endpoint, id, data): function delete (line 1296) | def delete(api_client, endpoint, id): function test_api_urls_should_resolve (line 1314) | def test_api_urls_should_resolve(urlname, arg): function patch_object_with_aliases (line 1324) | def patch_object_with_aliases(api_client, token, endpoint, object_id): function serializer_models (line 1340) | def serializer_models(db, localhost, admin_account): function alias_filter_models (line 1399) | def alias_filter_models(localhost): function oui (line 1445) | def oui(db): function vendor_endpoint (line 1453) | def vendor_endpoint(db, token): function netboxentity_endpoint (line 1460) | def netboxentity_endpoint(db, token): function netboxentity (line 1467) | def netboxentity(db, localhost): function maintenance_endpoint (line 1475) | def maintenance_endpoint(db, token): function current_maintenance_task (line 1482) | def current_maintenance_task(db, localhost): function passed_maintenance_task (line 1501) | def passed_maintenance_task(db): function future_maintenance_task (line 1513) | def future_maintenance_task(db): function canceled_maintenance_task (line 1525) | def canceled_maintenance_task(db): function endless_maintenance_task (line 1537) | def endless_maintenance_task(db): FILE: tests/integration/auditlog_test.py class AuditlogModelTestCase (line 11) | class AuditlogModelTestCase(TestCase): method setUp (line 12) | def setUp(self): method test_str (line 16) | def test_str(self): method test_add_log_entry_bad_template (line 22) | def test_add_log_entry_bad_template(self): method test_add_log_entry_actor_only (line 36) | def test_add_log_entry_actor_only(self): method test_add_create_entry (line 44) | def test_add_create_entry(self): method test_add_delete_entry (line 50) | def test_add_delete_entry(self): method test_compare_objects (line 56) | def test_compare_objects(self): method test_addLog_entry_before (line 80) | def test_addLog_entry_before(self): method test_find_name (line 86) | def test_find_name(self): method test_when_log_entry_created_then_actor_sortkey_should_be_set (line 90) | def test_when_log_entry_created_then_actor_sortkey_should_be_set(self): method test_when_log_entry_has_object_then_object_sortkey_should_be_set (line 97) | def test_when_log_entry_has_object_then_object_sortkey_should_be_set(s... method test_when_log_entry_has_no_object_then_object_sortkey_should_be_null (line 108) | def test_when_log_entry_has_no_object_then_object_sortkey_should_be_nu... method test_when_log_entry_has_target_then_target_sortkey_should_be_set (line 115) | def test_when_log_entry_has_target_then_target_sortkey_should_be_set(s... method test_when_log_entry_has_no_target_then_target_sortkey_should_be_null (line 128) | def test_when_log_entry_has_no_target_then_target_sortkey_should_be_nu... class AuditlogUtilsTestCase (line 136) | class AuditlogUtilsTestCase(TestCase): method setUp (line 137) | def setUp(self): method test_get_auditlog_entries (line 141) | def test_get_auditlog_entries(self): function test_v1_api_should_return_plain_strings_for_backward_compatibility (line 169) | def test_v1_api_should_return_plain_strings_for_backward_compatibility( function test_v2_api_retrieve_should_return_entity_objects_with_urls (line 205) | def test_v2_api_retrieve_should_return_entity_objects_with_urls(db, toke... function test_v2_api_list_should_return_entity_objects_with_urls (line 244) | def test_v2_api_list_should_return_entity_objects_with_urls(db, token, a... FILE: tests/integration/bin_test.py function test_script_runs (line 11) | def test_script_runs(script): function test_naventity_runs_without_error_with_arguments (line 26) | def test_naventity_runs_without_error_with_arguments(localhost, snmpsim): function test_nav_runs_without_error_without_arguments (line 52) | def test_nav_runs_without_error_without_arguments(): FILE: tests/integration/bulkimport_test.py class TestGenericBulkImport (line 11) | class TestGenericBulkImport(TestCase): method test_is_generator (line 12) | def test_is_generator(self): class TestNetboxImporter (line 19) | class TestNetboxImporter(DjangoTransactionTestCase): method setUp (line 20) | def setUp(self): method test_simple_import_yields_netbox_and_device_model (line 44) | def test_simple_import_yields_netbox_and_device_model(self): method test_server_import_yields_netbox_and_device_model (line 59) | def test_server_import_yields_netbox_and_device_model(self): method test_simple_import_yields_objects_with_proper_values (line 69) | def test_simple_import_yields_objects_with_proper_values(self): method test_invalid_room_gives_error (line 84) | def test_invalid_room_gives_error(self): method test_netbox_function_is_set (line 93) | def test_netbox_function_is_set(self): method test_get_netboxinfo_from_function (line 104) | def test_get_netboxinfo_from_function(self): method test_netbox_groups_are_set (line 113) | def test_netbox_groups_are_set(self): method test_get_groups_from_group (line 122) | def test_get_groups_from_group(self): method test_duplicate_locations_should_give_error (line 135) | def test_duplicate_locations_should_give_error(self): method test_created_objects_can_be_saved (line 150) | def test_created_objects_can_be_saved(self): method test_invalid_master_should_give_error (line 163) | def test_invalid_master_should_give_error(self): method parse_to_objects (line 169) | def parse_to_objects(data): class TestManagementProfileImporter (line 176) | class TestManagementProfileImporter(DjangoTransactionTestCase): method test_import (line 177) | def test_import(self): method parse_to_objects (line 186) | def parse_to_objects(data): class TestLocationImporter (line 193) | class TestLocationImporter(DjangoTransactionTestCase): method test_import (line 194) | def test_import(self): method test_import_no_description (line 201) | def test_import_no_description(self): method test_imported_objects_can_be_saved (line 209) | def test_imported_objects_can_be_saved(self): method test_duplicate_locations_should_give_error (line 217) | def test_duplicate_locations_should_give_error(self): method test_location_can_have_parent (line 226) | def test_location_can_have_parent(self): method test_location_nodescr_can_have_parent (line 238) | def test_location_nodescr_can_have_parent(self): method test_too_long_locationid_should_raise_error (line 250) | def test_too_long_locationid_should_raise_error(self): method test_location_can_have_single_alias (line 257) | def test_location_can_have_single_alias(self): method test_location_can_have_multiple_aliases (line 264) | def test_location_can_have_multiple_aliases(self): method test_too_long_alias_should_raise_error (line 271) | def test_too_long_alias_should_raise_error(self): method parse_to_objects (line 277) | def parse_to_objects(data): class TestPrefixImporter (line 284) | class TestPrefixImporter(DjangoTransactionTestCase): method setUp (line 285) | def setUp(self): method test_import (line 292) | def test_import(self): class TestRoomImporter (line 305) | class TestRoomImporter(DjangoTransactionTestCase): method test_import (line 306) | def test_import(self): method test_import_no_description (line 313) | def test_import_no_description(self): method test_imported_objects_can_be_saved (line 320) | def test_imported_objects_can_be_saved(self): method test_duplicate_rooms_should_give_error (line 328) | def test_duplicate_rooms_should_give_error(self): method test_too_long_roomid_should_raise_error (line 337) | def test_too_long_roomid_should_raise_error(self): method test_room_can_have_single_alias (line 344) | def test_room_can_have_single_alias(self): method test_room_can_have_multiple_aliases (line 351) | def test_room_can_have_multiple_aliases(self): method test_too_long_alias_should_raise_error (line 358) | def test_too_long_alias_should_raise_error(self): method parse_to_objects (line 364) | def parse_to_objects(data): FILE: tests/integration/collectstatic_test.py function test_collectstatic_should_succeed (line 20) | def test_collectstatic_should_succeed(tmp_path): FILE: tests/integration/conftest.py function pytest_configure (line 28) | def pytest_configure(config): function live_server (line 36) | def live_server(): function pytest_generate_tests (line 62) | def pytest_generate_tests(metafunc): function _nav_script_tests (line 74) | def _nav_script_tests(): function _nav_scripts_map (line 90) | def _nav_scripts_map() -> dict[str, str]: function _scan_testargs (line 103) | def _scan_testargs(filename): function management_profile (line 133) | def management_profile(): function localhost (line 151) | def localhost(management_profile): function netbox_type (line 169) | def netbox_type(localhost): function localhost_using_legacy_db (line 186) | def localhost_using_legacy_db(): function client (line 215) | def client(admin_username, admin_password): function db (line 227) | def db(request): function _is_django_unittest (line 250) | def _is_django_unittest(request_or_item): function token (line 265) | def token(db): function api_client (line 284) | def api_client(token): function snmpsim (line 295) | def snmpsim(): function snmp_agent_proxy (line 323) | def snmp_agent_proxy(snmpsim, snmp_ports): function snmp_ports (line 346) | def snmp_ports(): function _lookfor (line 357) | def _lookfor(string, filename): function admin_account (line 364) | def admin_account(db): function non_admin_account (line 371) | def non_admin_account(db): FILE: tests/integration/django_check_test.py function test_django_check_should_not_produce_errors (line 7) | def test_django_check_should_not_produce_errors(): FILE: tests/integration/djangodb_test.py function test_db_password_should_not_be_blank (line 6) | def test_db_password_should_not_be_blank(): function test_django_db_password_should_be_correct (line 13) | def test_django_db_password_should_be_correct(): FILE: tests/integration/event_test.py class TestEvent (line 5) | class TestEvent: method test_should_post_simple_event_without_error (line 6) | def test_should_post_simple_event_without_error(self, localhost_using_... FILE: tests/integration/eventengine/alerts_test.py function test_should_be_able_to_find_snmpagentdown_alert_msg_templates (line 12) | def test_should_be_able_to_find_snmpagentdown_alert_msg_templates(): function test_should_be_able_to_load_snmpagentdown_alert_msg_template (line 19) | def test_should_be_able_to_load_snmpagentdown_alert_msg_template(): function test_should_be_able_to_render_snmpagentdown_alert_msg_template (line 28) | def test_should_be_able_to_render_snmpagentdown_alert_msg_template(): FILE: tests/integration/eventengine/boxdown_test.py function test_eventengine_should_declare_box_down (line 13) | def test_eventengine_should_declare_box_down(host_going_down, eventengin... function post_fake_boxdown (line 25) | def post_fake_boxdown(netbox): function host_going_down (line 37) | def host_going_down(): function eventengine_test_config (line 52) | def eventengine_test_config(): FILE: tests/integration/eventengine/juniper_alert_count_test.py class TestBlackBox (line 20) | class TestBlackBox: method test_eventengine_should_copy_alert_count_to_alert_history_on_yellow_start_event (line 21) | def test_eventengine_should_copy_alert_count_to_alert_history_on_yello... method test_eventengine_should_create_new_alert_history_entry_on_second_yellow_start_event_with_changed_count (line 39) | def test_eventengine_should_create_new_alert_history_entry_on_second_y... method test_eventengine_should_set_alert_history_entry_to_closed_on_yellow_end_event (line 58) | def test_eventengine_should_set_alert_history_entry_to_closed_on_yello... method test_eventengine_should_copy_alert_count_to_alert_history_on_red_start_event (line 69) | def test_eventengine_should_copy_alert_count_to_alert_history_on_red_s... method test_eventengine_should_create_new_alert_history_entry_on_second_red_start_event_with_changed_count (line 85) | def test_eventengine_should_create_new_alert_history_entry_on_second_r... method test_eventengine_should_set_alert_history_entry_to_closed_on_red_end_event (line 104) | def test_eventengine_should_set_alert_history_entry_to_closed_on_red_e... class TestStatelessEvent (line 116) | class TestStatelessEvent: method test_ignore_stateless_events (line 117) | def test_ignore_stateless_events(self, netbox_having_new_alarm_count, ... class TestHandleStart (line 130) | class TestHandleStart: method test_handle_start_ignores_irrelevant_alert_type (line 131) | def test_handle_start_ignores_irrelevant_alert_type( method test_handle_start_posts_alert_if_none_is_yet_posted (line 153) | def test_handle_start_posts_alert_if_none_is_yet_posted( method test_handle_start_resolves_existing_alert_with_different_count (line 176) | def test_handle_start_resolves_existing_alert_with_different_count( method test_handle_start_does_nothing_if_alert_exists_with_same_count (line 205) | def test_handle_start_does_nothing_if_alert_exists_with_same_count( class TestHandleEnd (line 234) | class TestHandleEnd: method test_handle_end_ignores_irellevant_alert_type (line 235) | def test_handle_end_ignores_irellevant_alert_type( method test_handle_end_resolves_start_alert (line 256) | def test_handle_end_resolves_start_alert( method test_handle_end_does_nothing_if_no_start_alert_exists (line 283) | def test_handle_end_does_nothing_if_no_start_alert_exists( function post_fake_yellow_alarm_start_event (line 307) | def post_fake_yellow_alarm_start_event(netbox, count: int = 2): function post_fake_yellow_alarm_end_event (line 324) | def post_fake_yellow_alarm_end_event(netbox): function post_fake_red_alarm_start_event (line 340) | def post_fake_red_alarm_start_event(netbox, count: int = 2): function post_fake_red_alarm_end_event (line 357) | def post_fake_red_alarm_end_event(netbox): function post_fake_stateless_event (line 373) | def post_fake_stateless_event(netbox): function netbox_having_new_alarm_count (line 387) | def netbox_having_new_alarm_count(): FILE: tests/integration/eventengine/severity_test.py class TestThatExampleSeverityRules (line 6) | class TestThatExampleSeverityRules: method test_should_be_valid (line 7) | def test_should_be_valid(self): FILE: tests/integration/eventengine/upgrade_test.py function test_upgrade_handler_should_copy_old_and_new_version_to_alert_history_if_they_exist (line 12) | def test_upgrade_handler_should_copy_old_and_new_version_to_alert_histor... function test_upgrade_handler_should_not_fail_if_old_and_new_version_do_not_exist (line 43) | def test_upgrade_handler_should_not_fail_if_old_and_new_version_do_not_e... function netbox_having_sw_upgrade (line 80) | def netbox_having_sw_upgrade(): FILE: tests/integration/ipdevpoll/db_test.py function test_django_debug_cleanup_should_run_without_errors (line 10) | def test_django_debug_cleanup_should_run_without_errors(): function test_delete_stale_job_refresh_notifications_should_delete_stale_notifications (line 19) | def test_delete_stale_job_refresh_notifications_should_delete_stale_noti... function stale_refresh_event (line 35) | def stale_refresh_event(localhost): FILE: tests/integration/ipdevpoll/plugins/entity_test.py function test_entity_sets_software_version_of_entity_with_lowest_index (line 6) | def test_entity_sets_software_version_of_entity_with_lowest_index(localh... FILE: tests/integration/ipdevpoll/plugins/juniper_alarm_test.py function test_start_events_should_be_posted_on_new_alarms (line 14) | def test_start_events_should_be_posted_on_new_alarms(juniper_netbox, db): function test_no_start_event_should_be_posted_on_new_zero_alarms (line 57) | def test_no_start_event_should_be_posted_on_new_zero_alarms(juniper_netb... function test_no_start_event_should_be_posted_on_old_zero_alarms (line 98) | def test_no_start_event_should_be_posted_on_old_zero_alarms(juniper_netb... function test_no_start_event_should_be_posted_on_old_non_zero_alarms (line 146) | def test_no_start_event_should_be_posted_on_old_non_zero_alarms(juniper_... function test_start_events_should_be_posted_on_changed_alarms (line 194) | def test_start_events_should_be_posted_on_changed_alarms(juniper_netbox,... function test_start_events_should_be_posted_on_changed_from_zero_alarms (line 245) | def test_start_events_should_be_posted_on_changed_from_zero_alarms(junip... function test_end_events_should_be_posted_on_changed_to_zero_alarms (line 296) | def test_end_events_should_be_posted_on_changed_to_zero_alarms(juniper_n... function juniper_netbox (line 336) | def juniper_netbox(management_profile): FILE: tests/integration/ipdevpoll/plugins/paloaltoarp_test.py class TestCanHandleNetbox (line 14) | class TestCanHandleNetbox: method test_it_should_accept_netbox_having_some_paloalto_http_api_management_profile (line 26) | def test_it_should_accept_netbox_having_some_paloalto_http_api_managem... method test_it_should_not_accept_netbox_without_any_paloalto_http_api_management_profile (line 40) | def test_it_should_not_accept_netbox_without_any_paloalto_http_api_man... class TestGetArpMappings (line 49) | class TestGetArpMappings: method test_it_should_get_arp_mappings_of_netbox_having_some_paloalto_management_profile_with_valid_api_key (line 61) | def test_it_should_get_arp_mappings_of_netbox_having_some_paloalto_man... method test_it_should_not_get_arp_mappings_of_netbox_without_any_paloalto_http_api_management_profile_with_valid_api_key (line 94) | def test_it_should_not_get_arp_mappings_of_netbox_without_any_paloalto... class TestEndToEnd (line 111) | class TestEndToEnd: method test_it_should_get_arp_mappings_of_netbox_configured_with_paloalto_management_profile_using_seeddb (line 116) | def test_it_should_get_arp_mappings_of_netbox_configured_with_paloalto... function _only_accept_1234 (line 229) | def _only_accept_1234(self, address, key, *args, **kwargs): function paloalto_netbox_1234 (line 237) | def paloalto_netbox_1234(): function paloalto_netbox_5678 (line 267) | def paloalto_netbox_5678(): function no_http_api_netbox (line 294) | def no_http_api_netbox(): function no_paloalto_http_api_netbox (line 324) | def no_paloalto_http_api_netbox(): function blank_management_profile (line 351) | def blank_management_profile(): FILE: tests/integration/ipdevpoll/plugins/snmpcheck_test.py function test_short_outage (line 16) | def test_short_outage(localhost, db): FILE: tests/integration/ipdevpoll/plugins/typeoid_test.py function test_get_vendor_should_return_expected_vendor (line 5) | def test_get_vendor_should_return_expected_vendor(): function test_make_new_vendor_should_return_expected_vendor_object (line 12) | def test_make_new_vendor_should_return_expected_vendor_object(): FILE: tests/integration/ipdevpoll/pool_test.py function test_reschedule (line 16) | def test_reschedule(localhost, ipdevpoll_test_config, pool): function test_success (line 30) | def test_success(localhost, ipdevpoll_test_config, pool): function test_fail (line 44) | def test_fail(localhost, ipdevpoll_test_config, pool): function test_not_done (line 58) | def test_not_done(localhost, ipdevpoll_test_config, pool): function test_crash (line 73) | def test_crash(localhost, ipdevpoll_test_config, pool): function test_cancel (line 87) | def test_cancel(localhost, ipdevpoll_test_config, pool): function pool (line 102) | def pool(request): function ipdevpoll_test_config (line 112) | def ipdevpoll_test_config(): FILE: tests/integration/ipdevpoll/utils_test.py function test_get_arista_vrf_instances_should_return_expected_instances (line 25) | def test_get_arista_vrf_instances_should_return_expected_instances(snmp_... FILE: tests/integration/jwt_refresh_endpoint_test.py function test_token_not_in_database_should_be_rejected (line 12) | def test_token_not_in_database_should_be_rejected(db, api_client, url, a... function test_inactive_token_should_be_rejected (line 25) | def test_inactive_token_should_be_rejected(db, api_client, url, inactive... function test_revoked_token_should_be_rejected (line 47) | def test_revoked_token_should_be_rejected(db, api_client, url, active_to... function test_valid_token_should_be_accepted (line 68) | def test_valid_token_should_be_accepted(db, api_client, url, active_token): function test_valid_token_should_be_replaced_by_new_token_in_db (line 88) | def test_valid_token_should_be_replaced_by_new_token_in_db( function test_should_include_access_and_refresh_token_in_response (line 114) | def test_should_include_access_and_refresh_token_in_response( function test_last_used_should_be_updated_after_token_is_used (line 138) | def test_last_used_should_be_updated_after_token_is_used( function inactive_token (line 165) | def inactive_token(nav_name, rsa_private_key) -> str: function active_token (line 180) | def active_token(nav_name, rsa_private_key) -> str: function url (line 195) | def url(): function jwt_private_key_mock (line 200) | def jwt_private_key_mock(rsa_private_key) -> Generator[str, None, None]: function jwt_public_key_mock (line 207) | def jwt_public_key_mock(rsa_public_key) -> Generator[str, None, None]: function jwt_name_mock (line 214) | def jwt_name_mock(nav_name) -> Generator[str, None, None]: function jwt_access_token_lifetime_mock (line 222) | def jwt_access_token_lifetime_mock() -> Generator[timedelta, None, None]: function jwt_refresh_token_lifetime_mock (line 230) | def jwt_refresh_token_lifetime_mock() -> Generator[timedelta, None, None]: function jwt_is_configured_mock (line 238) | def jwt_is_configured_mock() -> Generator[timedelta, None, None]: function nav_name (line 245) | def nav_name() -> str: FILE: tests/integration/l2trace_test.py class TestGetNetboxVlan (line 34) | class TestGetNetboxVlan: method test_when_netbox_has_no_prefix_it_should_return_none (line 35) | def test_when_netbox_has_no_prefix_it_should_return_none(self, l2trace... class TestGetVlanFromThings (line 52) | class TestGetVlanFromThings: method test_arbitrary_ip_is_on_vlan_10 (line 53) | def test_arbitrary_ip_is_on_vlan_10(self, l2trace_topology): method test_router_is_on_vlan_10 (line 59) | def test_router_is_on_vlan_10(self, l2trace_topology): method test_switch_is_on_vlan_10 (line 66) | def test_switch_is_on_vlan_10(self, l2trace_topology): class TestNetboxFromHost (line 76) | class TestNetboxFromHost: method test_known_ip_is_router (line 77) | def test_known_ip_is_router(self, l2trace_topology): method test_unknown_ip_gives_none_as_result (line 83) | def test_unknown_ip_gives_none_as_result(self, l2trace_topology): method test_known_ip_is_netbox (line 87) | def test_known_ip_is_netbox(self, l2trace_topology): method test_unknown_ip_is_host (line 92) | def test_unknown_ip_is_host(self, l2trace_topology): class TestGateway (line 101) | class TestGateway: method test_foo_gw_is_router_for_employee_vlan (line 102) | def test_foo_gw_is_router_for_employee_vlan(self, l2trace_topology): method test_foo_gw_is_router_for_admin_vlan (line 107) | def test_foo_gw_is_router_for_admin_vlan(self, l2trace_topology): method test_foo_gw_is_router (line 112) | def test_foo_gw_is_router(self, l2trace_topology): method test_foo_sw1_is_not_a_router (line 116) | def test_foo_sw1_is_not_a_router(self, l2trace_topology): class TestVlanEquality (line 123) | class TestVlanEquality: method test_ips_should_be_on_same_vlan (line 124) | def test_ips_should_be_on_same_vlan(self, l2trace_topology): method test_ips_should_not_be_on_same_vlan (line 127) | def test_ips_should_not_be_on_same_vlan(self, l2trace_topology): class TestDownlink (line 133) | class TestDownlink: method test_employee1_downlink_should_be_foo_sw1_gi_0_10 (line 134) | def test_employee1_downlink_should_be_foo_sw1_gi_0_10(self, l2trace_to... method test_foo_sw1_vlan_downlink_should_be_on_foo_gw_gi_0_13 (line 145) | def test_foo_sw1_vlan_downlink_should_be_on_foo_gw_gi_0_13(self, l2tra... method test_foo_sw1_employee_vlan_uplink_should_be_foo_gw_gi_0_13 (line 155) | def test_foo_sw1_employee_vlan_uplink_should_be_foo_gw_gi_0_13( class TestUplink (line 171) | class TestUplink: method test_foo_sw1_vlan_uplink_should_be_gi_0_1 (line 172) | def test_foo_sw1_vlan_uplink_should_be_gi_0_1(self, l2trace_topology): method test_foo_sw1_employee_vlan_uplink_should_be_gi_0_1 (line 180) | def test_foo_sw1_employee_vlan_uplink_should_be_gi_0_1(self, l2trace_t... class TestHost (line 192) | class TestHost: method test_host_without_resolvable_name (line 193) | def test_host_without_resolvable_name(self, l2trace_topology): method test_hosts_are_equal (line 200) | def test_hosts_are_equal(self, l2trace_topology): method test_host_with_host_argument_returns_equal_instance (line 205) | def test_host_with_host_argument_returns_equal_instance(self, l2trace_... class TestStartPath (line 213) | class TestStartPath: method test_start_path_for_foo_sw1_ip_should_be_on_vlan_10 (line 214) | def test_start_path_for_foo_sw1_ip_should_be_on_vlan_10(self, l2trace_... method test_start_path_for_employee1_should_be_on_vlan_20 (line 222) | def test_start_path_for_employee1_should_be_on_vlan_20(self, l2trace_t... class TestPath (line 235) | class TestPath: method test_path_for_foo_sw1_should_be_2_long (line 236) | def test_path_for_foo_sw1_should_be_2_long(self, l2trace_topology): method test_path_for_foo_sw1_should_start_with_foo_sw1 (line 241) | def test_path_for_foo_sw1_should_start_with_foo_sw1(self, l2trace_topo... method test_path_for_foo_sw1_should_end_at_foo_gw (line 246) | def test_path_for_foo_sw1_should_end_at_foo_gw(self, l2trace_topology): method test_path_for_foo_sw1_should_be_on_vlan_10 (line 252) | def test_path_for_foo_sw1_should_be_on_vlan_10(self, l2trace_topology): method test_path_for_employee1_should_be_3_long (line 258) | def test_path_for_employee1_should_be_3_long(self, l2trace_topology): method test_path_for_employee2_should_be_3_long (line 262) | def test_path_for_employee2_should_be_3_long(self, l2trace_topology): method test_path_for_employee1_should_be_on_vlan_20 (line 266) | def test_path_for_employee1_should_be_on_vlan_20(self, l2trace_topology): method test_path_for_employee1_should_start_with_employee_1 (line 271) | def test_path_for_employee1_should_start_with_employee_1(self, l2trace... method test_path_for_employee1_should_end_with_foo_gw (line 275) | def test_path_for_employee1_should_end_with_foo_gw(self, l2trace_topol... class TestTrace (line 283) | class TestTrace: method test_make_rows_returns_generator (line 284) | def test_make_rows_returns_generator(self, l2trace_topology): method test_make_rows_generates_result_rows (line 289) | def test_make_rows_generates_result_rows(self, l2trace_topology): method test_first_row_is_host_from (line 296) | def test_first_row_is_host_from(self, l2trace_topology): method test_first_and_last_rows_match_hosts (line 303) | def test_first_and_last_rows_match_hosts(self, l2trace_topology): method test_employee_path_passes_through_foo_sw1 (line 312) | def test_employee_path_passes_through_foo_sw1(self, l2trace_topology): method test_should_not_fail_on_invalid_hosts (line 322) | def test_should_not_fail_on_invalid_hosts(self, l2trace_topology): class TestJunction (line 330) | class TestJunction: method test_find_junction_should_return_same_host (line 331) | def test_find_junction_should_return_same_host(self, l2trace_topology): method test_find_junction_should_return_foo_sw1 (line 338) | def test_find_junction_should_return_foo_sw1(self, l2trace_topology): method test_find_junction_should_return_nodes_from_paths (line 346) | def test_find_junction_should_return_nodes_from_paths(self, l2trace_to... method test_join_at_junction_should_be_3_long (line 354) | def test_join_at_junction_should_be_3_long(self, l2trace_topology): method test_joined_path_should_start_and_end_with_correct_hosts (line 361) | def test_joined_path_should_start_and_end_with_correct_hosts( method _make_paths (line 372) | def _make_paths(foo_sw1, foo_gw): function l2trace_topology (line 396) | def l2trace_topology(db): FILE: tests/integration/logs_test.py function test_reopen_log_files_runs_without_error (line 4) | def test_reopen_log_files_runs_without_error(): FILE: tests/integration/maintengine_test.py class TestCancelTasksWithoutComponents (line 9) | class TestCancelTasksWithoutComponents: method test_it_should_cancel_active_empty_tasks (line 10) | def test_it_should_cancel_active_empty_tasks(self, empty_task): method test_it_should_not_cancel_scheduled_empty_tasks (line 16) | def test_it_should_not_cancel_scheduled_empty_tasks(self, scheduled_em... method test_it_should_not_cancel_nonempty_tasks (line 22) | def test_it_should_not_cancel_nonempty_tasks(self, half_empty_task): function empty_task (line 30) | def empty_task(db): function scheduled_empty_task (line 49) | def scheduled_empty_task(empty_task): function half_empty_task (line 58) | def half_empty_task(empty_task, localhost): FILE: tests/integration/mibs/arista_vrf_mib_test.py class TestAristaVrfMib (line 22) | class TestAristaVrfMib: method test_get_vrf_states_should_return_expected_vrfs (line 25) | def test_get_vrf_states_should_return_expected_vrfs(self, snmp_agent_p... method test_get_vrf_states_should_not_return_vrfs_with_nonmatching_states (line 40) | def test_get_vrf_states_should_not_return_vrfs_with_nonmatching_states( FILE: tests/integration/mibs/ip_mib_test.py class TestMultiIpMib (line 24) | class TestMultiIpMib: method test_get_ifindex_ip_mac_mappings_should_find_mappings_across_arista_vrfs (line 27) | def test_get_ifindex_ip_mac_mappings_should_find_mappings_across_arist... FILE: tests/integration/mibs/juniper_alarm_mib_test.py class TestJuniperAlarmMib (line 22) | class TestJuniperAlarmMib: method test_get_alarm_count_should_get_the_correct_red_and_yellow_alarm_counts (line 25) | def test_get_alarm_count_should_get_the_correct_red_and_yellow_alarm_c... method test_get_alarm_count_should_get_the_correct_red_and_yellow_alarm_counts_for_result_None (line 40) | def test_get_alarm_count_should_get_the_correct_red_and_yellow_alarm_c... FILE: tests/integration/mibs/memory_test.py function test_juniper_get_memory_usage (line 9) | def test_juniper_get_memory_usage(snmp_agent_proxy): function test_hp_get_memory_usage (line 46) | def test_hp_get_memory_usage(snmp_agent_proxy): function test_cisco_get_memory_usage (line 56) | def test_cisco_get_memory_usage(snmp_agent_proxy): FILE: tests/integration/mibs/sensors_test.py function test_apc_pdu (line 9) | def test_apc_pdu(snmp_agent_proxy): function test_P8652 (line 50) | def test_P8652(snmp_agent_proxy): function test_given_a_P8652_then_T3611_MIB_should_not_crash (line 170) | def test_given_a_P8652_then_T3611_MIB_should_not_crash(snmp_agent_proxy): function test_T3611 (line 180) | def test_T3611(snmp_agent_proxy): function test_raritan_pdu (line 211) | def test_raritan_pdu(snmp_agent_proxy): FILE: tests/integration/mibs/wlsx_systemext_mib_test.py class TestWLSXSystemextMib (line 7) | class TestWLSXSystemextMib: method test_get_serial_number_should_return_expected_value (line 10) | def test_get_serial_number_should_return_expected_value(self, snmp_age... FILE: tests/integration/models/account_test.py class AccountTest (line 5) | class AccountTest(unittest.TestCase): method setUp (line 6) | def setUp(self): method test_is_admin_returns_true_if_administrator (line 10) | def test_is_admin_returns_true_if_administrator(self): method test_is_admin_returns_false_if_default_account (line 13) | def test_is_admin_returns_false_if_default_account(self): FILE: tests/integration/models/alert_test.py function test_delete_alert_subscription (line 18) | def test_delete_alert_subscription(db, alert, alertsub, account_alert_qu... function test_sending_alert_to_alert_address_with_empty_address_will_raise_error (line 24) | def test_sending_alert_to_alert_address_with_empty_address_will_raise_er... function test_sending_alert_to_alert_address_with_invalid_address_will_raise_error (line 31) | def test_sending_alert_to_alert_address_with_invalid_address_will_raise_... function test_sending_alert_to_alert_address_with_invalid_address_will_delete_alert_and_fail (line 40) | def test_sending_alert_to_alert_address_with_invalid_address_will_delete... function alert_address (line 48) | def alert_address(db, admin_account): function alert_profile (line 60) | def alert_profile(db, admin_account): function time_period (line 69) | def time_period(db, alert_profile): function alertsub (line 78) | def alertsub(db, alert_address, time_period): function alert (line 91) | def alert(db): function account_alert_queue (line 102) | def account_alert_queue(db, alert, alertsub): FILE: tests/integration/models/alerthistvarmap_test.py function test_plain_alerthist_can_be_posted (line 7) | def test_plain_alerthist_can_be_posted(simple_alerthist): function test_alerthist_varmap_can_be_saved (line 12) | def test_alerthist_varmap_can_be_saved(simple_alerthist): function test_alerthist_varmap_can_be_retrieved_after_save (line 20) | def test_alerthist_varmap_can_be_retrieved_after_save(simple_alerthist): function test_alerthist_varmap_can_be_replaced (line 33) | def test_alerthist_varmap_can_be_replaced(simple_alerthist): function test_alerthist_varmap_single_key_can_be_updated (line 45) | def test_alerthist_varmap_single_key_can_be_updated(simple_alerthist): function test_alerthist_varmap_single_key_can_be_updated_after_reload (line 57) | def test_alerthist_varmap_single_key_can_be_updated_after_reload(simple_... function simple_alerthist (line 71) | def simple_alerthist(): FILE: tests/integration/models/eventvarmap_test.py function test_plain_event_can_be_posted (line 5) | def test_plain_event_can_be_posted(simple_event): function test_event_varmap_can_be_saved (line 10) | def test_event_varmap_can_be_saved(simple_event): function test_event_varmap_can_be_retrieved_after_save (line 15) | def test_event_varmap_can_be_retrieved_after_save(simple_event): function test_event_varmap_can_be_replaced (line 23) | def test_event_varmap_can_be_replaced(simple_event): function test_event_varmap_single_key_can_be_updated (line 29) | def test_event_varmap_single_key_can_be_updated(simple_event): function test_event_varmap_single_key_can_be_updated_after_reload (line 35) | def test_event_varmap_single_key_can_be_updated_after_reload(simple_event): function simple_event (line 43) | def simple_event(): FILE: tests/integration/models/fields_test.py class LegacyGenericForeignKeyTest (line 11) | class LegacyGenericForeignKeyTest(DjangoTransactionTestCase): method setUp (line 12) | def setUp(self): method test_save_model_with_lgfk (line 24) | def test_save_model_with_lgfk(self): method test_get_via_lgfk (line 34) | def test_get_via_lgfk(self): method test_set_via_lgfk (line 43) | def test_set_via_lgfk(self): FILE: tests/integration/models/model_test.py function test_django_model (line 30) | def test_django_model(model): FILE: tests/integration/models/netbox_test.py function test_netbox_should_be_annotated_with_chassis_serial (line 8) | def test_netbox_should_be_annotated_with_chassis_serial(db, localhost): function test_netbox_mac_addresses_should_return_distinct_set_of_addresses (line 27) | def test_netbox_mac_addresses_should_return_distinct_set_of_addresses( FILE: tests/integration/models/netbox_type_test.py class TestNetboxType (line 5) | class TestNetboxType(object): method test_get_enterprise_id_returns_correctly_for_sysobjectid_with_leading_period (line 6) | def test_get_enterprise_id_returns_correctly_for_sysobjectid_with_lead... method test_get_enterprise_id_returns_correctly_for_sysobjectid_without_leading_period (line 19) | def test_get_enterprise_id_returns_correctly_for_sysobjectid_without_l... method test_get_enterprise_id_returns_none_for_sysobjectid_of_wrong_format (line 32) | def test_get_enterprise_id_returns_none_for_sysobjectid_of_wrong_format( FILE: tests/integration/models/oui_test.py class TestOUI (line 8) | class TestOUI: method test_string_representation_should_match_oui (line 9) | def test_string_representation_should_match_oui(self, valid_oui): method test_save_should_raise_error_if_last_3_bytes_are_not_zero (line 12) | def test_save_should_raise_error_if_last_3_bytes_are_not_zero(self, in... method test_save_should_allow_oui_if_last_3_bytes_are_zero (line 16) | def test_save_should_allow_oui_if_last_3_bytes_are_zero(self, valid_oui): function valid_oui (line 21) | def valid_oui(): function invalid_oui (line 29) | def invalid_oui(): FILE: tests/integration/models/rack_test.py class TestRack (line 7) | class TestRack: method test_that_rack_configuration_can_be_saved_without_error (line 8) | def test_that_rack_configuration_can_be_saved_without_error(self, test... method test_that_rack_configuration_is_a_dict (line 12) | def test_that_rack_configuration_is_a_dict(self, test_rack): method test_that_rack_configuration_can_be_loaded_without_error (line 18) | def test_that_rack_configuration_can_be_loaded_without_error(self, tes... function test_rack (line 25) | def test_rack(test_sensor): function test_sensor (line 33) | def test_sensor(localhost): FILE: tests/integration/networkexplorer_test.py class NetworkExplorerSearchTest (line 16) | class NetworkExplorerSearchTest(TestCase): method test_search_expand_swport (line 24) | def test_search_expand_swport(self): method test_search_expand_netbox (line 27) | def test_search_expand_netbox(self): method test_search_expand_sysname (line 30) | def test_search_expand_sysname(self): method test_search_expand_mac (line 33) | def test_search_expand_mac(self): method test_sysname_search (line 36) | def test_sysname_search(self): method test_ip_search (line 39) | def test_ip_search(self): method test_ip_search_exact (line 42) | def test_ip_search_exact(self): method test_portname_search (line 45) | def test_portname_search(self): method test_portname_search_exact (line 48) | def test_portname_search_exact(self): method test_room_search (line 51) | def test_room_search(self): method test_room_search_exact (line 54) | def test_room_search_exact(self): method test_room_alias_search (line 57) | def test_room_alias_search(self): method test_room_alias_search_exact (line 60) | def test_room_alias_search_exact(self): method test_mac_search (line 63) | def test_mac_search(self): method test_vlan_search (line 66) | def test_vlan_search(self): method test_vlan_search_exact (line 69) | def test_vlan_search_exact(self): class TestDataMixin (line 73) | class TestDataMixin(object): class ViewsTest (line 84) | class ViewsTest(TestDataMixin, TestCase): method setUp (line 85) | def setUp(self): method test_index_view (line 89) | def test_index_view(self): method test_router_json_view (line 95) | def test_router_json_view(self): method test_search_view_with_valid_query (line 101) | def test_search_view_with_valid_query(self): method test_search_view_with_invalid_query (line 114) | def test_search_view_with_invalid_query(self): method test_search_view_will_return_status_400_on_invalid_exact_ip_search (line 127) | def test_search_view_will_return_status_400_on_invalid_exact_ip_search... class FormsTest (line 143) | class FormsTest(TestDataMixin, TestCase): method test_search_form_with_valid_data_is_valid (line 144) | def test_search_form_with_valid_data_is_valid(self): method test_search_form_with_missing_argument_is_invalid (line 149) | def test_search_form_with_missing_argument_is_invalid(self): method test_search_form_with_invalid_ip_for_exact_search_is_invalid (line 154) | def test_search_form_with_invalid_ip_for_exact_search_is_invalid(self): function room_with_alias (line 169) | def room_with_alias(db): FILE: tests/integration/pping_test.py function can_be_root (line 25) | def can_be_root(): function get_root_method (line 33) | def get_root_method(): function timeout_command_line_program_exists (line 44) | def timeout_command_line_program_exists(): function test_pping_localhost_should_work (line 59) | def test_pping_localhost_should_work(localhost, pping_test_config): function test_pping_nonavailable_host_should_fail (line 78) | def test_pping_nonavailable_host_should_fail( function test_pping_should_post_event_when_host_is_unreachable (line 96) | def test_pping_should_post_event_when_host_is_unreachable( function get_pping_output (line 114) | def get_pping_output(timeout=5): function host_expected_to_be_down (line 139) | def host_expected_to_be_down(management_profile): function pping_test_config (line 155) | def pping_test_config(): FILE: tests/integration/querysets_test.py class NetboxQuerysetTest (line 16) | class NetboxQuerysetTest(TestCase): method setUp (line 17) | def setUp(self): method test_on_maintenance_true (line 44) | def test_on_maintenance_true(self): method test_on_maintenance_false (line 49) | def test_on_maintenance_false(self): FILE: tests/integration/report/generator_test.py function report_list (line 24) | def report_list(): function test_report (line 30) | def test_report(report_name): function test_non_ascii_filter_should_work (line 44) | def test_non_ascii_filter_should_work(client): FILE: tests/integration/seeddb_test.py function test_urls_should_allow_name_with_slashes (line 34) | def test_urls_should_allow_name_with_slashes(db, endpoint): function test_editing_deleted_netboxes_should_raise_404 (line 38) | def test_editing_deleted_netboxes_should_raise_404(admin_account): function test_adding_netbox_with_invalid_ip_should_fail (line 50) | def test_adding_netbox_with_invalid_ip_should_fail(db, client): function test_adding_netbox_with_invalid_profiles_should_fail (line 73) | def test_adding_netbox_with_invalid_profiles_should_fail(db, client): function netbox (line 95) | def netbox(management_profile): function test_dependencies (line 108) | def test_dependencies(netbox): function test_dependencies_no_whitelist (line 116) | def test_dependencies_no_whitelist(netbox): function test_log_netbox_change_should_not_crash (line 124) | def test_log_netbox_change_should_not_crash(admin_account, netbox): function test_empty_function_field_in_netbox_edit_form_should_delete_respective_netboxinfo_instance (line 135) | def test_empty_function_field_in_netbox_edit_form_should_delete_respecti... function test_generating_qr_codes_for_netboxes_should_succeed (line 173) | def test_generating_qr_codes_for_netboxes_should_succeed(client, netbox): function test_generating_qr_codes_for_no_selected_netboxes_should_show_error (line 197) | def test_generating_qr_codes_for_no_selected_netboxes_should_show_error(... function test_generating_qr_codes_for_rooms_should_succeed (line 215) | def test_generating_qr_codes_for_rooms_should_succeed(client): function test_generating_qr_codes_for_no_selected_rooms_should_show_error (line 239) | def test_generating_qr_codes_for_no_selected_rooms_should_show_error(cli... class TestPatchModalViews (line 257) | class TestPatchModalViews: method test_should_render_add_patch_modal (line 260) | def test_should_render_add_patch_modal(self, client, interface): method test_add_patch_modal_should_include_interface_name (line 269) | def test_add_patch_modal_should_include_interface_name(self, client, i... method test_add_patch_modal_should_include_interface_id (line 278) | def test_add_patch_modal_should_include_interface_id(self, client, int... method test_add_patch_modal_should_include_cable_search (line 286) | def test_add_patch_modal_should_include_cable_search(self, client, int... method test_add_patch_modal_should_include_cableid (line 294) | def test_add_patch_modal_should_include_cableid(self, client, interface): method test_should_render_remove_patch_modal (line 302) | def test_should_render_remove_patch_modal(self, client, interface): method test_remove_patch_modal_should_include_interface_id (line 311) | def test_remove_patch_modal_should_include_interface_id(self, client, ... method test_remove_patch_modal_should_include_interface_name (line 319) | def test_remove_patch_modal_should_include_interface_name(self, client... class TestSavePatchView (line 329) | class TestSavePatchView: method test_given_valid_data_then_create_patch (line 332) | def test_given_valid_data_then_create_patch(self, client, interface, c... method test_given_invalid_data_then_return_alert (line 342) | def test_given_invalid_data_then_return_alert(self, client): method test_given_valid_data_then_return_updated_patch_row (line 348) | def test_given_valid_data_then_return_updated_patch_row( class TestRemovePatchView (line 361) | class TestRemovePatchView: method test_given_existing_patch_then_remove_from_interface (line 364) | def test_given_existing_patch_then_remove_from_interface( method test_given_existing_patch_then_return_updated_patch_row (line 377) | def test_given_existing_patch_then_return_updated_patch_row( method test_given_non_existing_patch_then_return_add_patch_row (line 391) | def test_given_non_existing_patch_then_return_add_patch_row( function interface (line 404) | def interface(localhost): function cable (line 419) | def cable(localhost): FILE: tests/integration/smidump_test.py function get_smi_dumps (line 18) | def get_smi_dumps(): function test_all_oids_in_smidumped_mib_should_be_valid (line 34) | def test_all_oids_in_smidumped_mib_should_be_valid(smidump, validator): function validator (line 52) | def validator(): FILE: tests/integration/smsd_test.py function test_smsd_test_message_with_uninettmaildispatcher_should_work (line 16) | def test_smsd_test_message_with_uninettmaildispatcher_should_work( function smsd_test_config (line 33) | def smsd_test_config(): function django_settings_email_backend_file (line 58) | def django_settings_email_backend_file(): function get_smsd_test_output (line 85) | def get_smsd_test_output(phone_no, timeout=5): FILE: tests/integration/snmp_walk_test.py function test_snmp_walk_does_not_raise_error_at_end_of_mib_with_snmp_version_1 (line 7) | def test_snmp_walk_does_not_raise_error_at_end_of_mib_with_snmp_version_... function test_snmp_walk_does_not_raise_error_at_end_of_mib_with_snmp_version_2 (line 13) | def test_snmp_walk_does_not_raise_error_at_end_of_mib_with_snmp_version_... function test_snmp_bulkwalk_does_not_raise_error_at_end_of_mib (line 19) | def test_snmp_bulkwalk_does_not_raise_error_at_end_of_mib(snmpsim): function test_given_an_snmpv1_session_then_snmp_bulkwalk_should_raise_unsupported_version_error (line 25) | def test_given_an_snmpv1_session_then_snmp_bulkwalk_should_raise_unsuppo... function test_given_an_snmpv2c_session_then_snmp_bulkwalk_should_not_raise_unsupported_version_error (line 33) | def test_given_an_snmpv2c_session_then_snmp_bulkwalk_should_not_raise_un... function test_given_an_snmpv3_session_then_snmp_bulkwalk_should_not_raise_unsupported_version_error (line 45) | def test_given_an_snmpv3_session_then_snmp_bulkwalk_should_not_raise_uns... FILE: tests/integration/snmptrapd_test.py function test_loading_plugin_with_initialize_method_raises_no_exception (line 12) | def test_loading_plugin_with_initialize_method_raises_no_exception(): function test_plugin_loader_raises_no_exception_if_plugin_has_no_initialize_method (line 22) | def test_plugin_loader_raises_no_exception_if_plugin_has_no_initialize_m... function test_plugin_loader_reading_in_modules_from_config_file (line 31) | def test_plugin_loader_reading_in_modules_from_config_file(): function test_traplistener_does_not_raise_error_on_signals (line 48) | def test_traplistener_does_not_raise_error_on_signals(): class TestSnmpTrap (line 78) | class TestSnmpTrap: method test_trap_agent_should_be_correctly_identified (line 79) | def test_trap_agent_should_be_correctly_identified(self, localhost_usi... method test_trap_agent_should_be_correctly_identified_if_sent_from_different_ip (line 94) | def test_trap_agent_should_be_correctly_identified_if_sent_from_differ... function interface_using_legacy_db (line 113) | def interface_using_legacy_db(localhost_using_legacy_db): function gwportprefix_using_legacy_db (line 137) | def gwportprefix_using_legacy_db(interface_using_legacy_db): FILE: tests/integration/sql_test.py function test_public_namespace_should_be_empty (line 5) | def test_public_namespace_should_be_empty(): FILE: tests/integration/statemon/radius_test.py function test_installed_pyrad_can_parse_default_dictionary (line 6) | def test_installed_pyrad_can_parse_default_dictionary(): FILE: tests/integration/statemondb_test.py function test_get_checkers_does_not_raise (line 6) | def test_get_checkers_does_not_raise(): FILE: tests/integration/thresholdmon/test_events.py function test_events (line 7) | def test_events(rule): function rule (line 26) | def rule(): FILE: tests/integration/update_ouis_test.py function test_vendor_name_should_be_registered_correctly (line 10) | def test_vendor_name_should_be_registered_correctly(db, mock_oui_file): function test_oui_should_be_registered_as_mac_address_with_last_3_octets_as_zeros (line 16) | def test_oui_should_be_registered_as_mac_address_with_last_3_octets_as_z... function test_all_unique_ouis_should_be_registered (line 23) | def test_all_unique_ouis_should_be_registered(db, mock_oui_file): function test_duplicate_ouis_should_not_be_registered (line 28) | def test_duplicate_ouis_should_not_be_registered(db, mock_duplicate_oui_... function test_old_ouis_should_be_deleted_if_they_dont_exist_in_new_oui_file (line 37) | def test_old_ouis_should_be_deleted_if_they_dont_exist_in_new_oui_file( function test_invalid_oui_should_not_be_registered (line 47) | def test_invalid_oui_should_not_be_registered(db, mock_invalid_oui_file): function mock_oui_file (line 53) | def mock_oui_file(monkeypatch): function mock_duplicate_oui_file (line 94) | def mock_duplicate_oui_file(monkeypatch): function mock_invalid_oui_file (line 123) | def mock_invalid_oui_file(monkeypatch): FILE: tests/integration/watchdog_test.py function test_get_status_cache_does_not_raise (line 4) | def test_get_status_cache_does_not_raise(): FILE: tests/integration/web/ajax_test.py function test_neighbormap_loads_without_crashing (line 4) | def test_neighbormap_loads_without_crashing(db, localhost, client): FILE: tests/integration/web/alertprofiles_test.py function test_alertprofiles_view (line 45) | def test_alertprofiles_view(client, view): class TestsOverview (line 52) | class TestsOverview: method test_show_active_profile (line 53) | def test_show_active_profile(self, db, client, activated_dummy_profile): method test_when_no_active_profile_is_set_show_message (line 59) | def test_when_no_active_profile_is_set_show_message(self, db, client): method test_show_subscriptions (line 65) | def test_show_subscriptions( method test_should_include_modal_trigger (line 79) | def test_should_include_modal_trigger(self, client): method test_should_render_permissions_modal (line 86) | def test_should_render_permissions_modal(self, client): class TestsAlertProfiles (line 93) | class TestsAlertProfiles: method test_profile_with_nonascii_name_should_be_saved (line 94) | def test_profile_with_nonascii_name_should_be_saved(self, db, admin_ac... method test_show_non_existent_profile (line 104) | def test_show_non_existent_profile(self, db, client): method test_alertprofiles_save_profile (line 116) | def test_alertprofiles_save_profile(self, db, client): method test_alertprofiles_save_profile_with_time_period_template (line 136) | def test_alertprofiles_save_profile_with_time_period_template( method test_alertprofiles_save_profile_with_str_id_should_fail (line 185) | def test_alertprofiles_save_profile_with_str_id_should_fail(self, db, ... method test_alertprofiles_save_profile_with_non_existent_id_should_fail (line 205) | def test_alertprofiles_save_profile_with_non_existent_id_should_fail( method test_alertprofiles_confirm_remove_profile (line 228) | def test_alertprofiles_confirm_remove_profile(self, db, client, dummy_... method test_alertprofiles_remove_profile (line 241) | def test_alertprofiles_remove_profile(self, db, client, activated_dumm... method test_alertprofiles_activate_profile (line 255) | def test_alertprofiles_activate_profile(self, db, client, dummy_profile): method test_alertprofiles_activate_profile_with_info_in_key (line 271) | def test_alertprofiles_activate_profile_with_info_in_key( method test_alertprofiles_deactivate_profile (line 289) | def test_alertprofiles_deactivate_profile( method test_alertprofiles_deactivate_profile_with_info_in_key (line 310) | def test_alertprofiles_deactivate_profile_with_info_in_key( class TestsFilters (line 332) | class TestsFilters: method test_alertprofiles_add_private_filter_should_succeed (line 333) | def test_alertprofiles_add_private_filter_should_succeed(self, client): method test_alertprofiles_add_public_filter_should_succeed (line 344) | def test_alertprofiles_add_public_filter_should_succeed(self, client): class TestsAddExpressions (line 355) | class TestsAddExpressions: class TestsIpAddresses (line 356) | class TestsIpAddresses: method test_valid_ipv4_address_should_succeed (line 357) | def test_valid_ipv4_address_should_succeed(self, client, dummy_filter): method test_valid_ipv6_address_should_succeed (line 379) | def test_valid_ipv6_address_should_succeed(self, client, dummy_filter): method test_valid_cidr_address_should_succeed (line 401) | def test_valid_cidr_address_should_succeed(self, client, dummy_filter): method test_non_valid_ip_address_should_fail (line 423) | def test_non_valid_ip_address_should_fail(self, client, dummy_filter): method test_non_valid_cidr_address_should_fail (line 443) | def test_non_valid_cidr_address_should_fail(self, client, dummy_filt... method test_multiple_valid_ip_addresses_should_succeed (line 463) | def test_multiple_valid_ip_addresses_should_succeed(self, client, du... method test_multiple_non_valid_ip_addresses_should_fail (line 486) | def test_multiple_non_valid_ip_addresses_should_fail( class TestsSysname (line 510) | class TestsSysname: method test_equal_sysname_should_succeed (line 511) | def test_equal_sysname_should_succeed(self, client, dummy_filter): method test_not_equal_sysname_should_succeed (line 535) | def test_not_equal_sysname_should_succeed(self, client, dummy_filter): method test_starts_with_condition_should_succeed (line 559) | def test_starts_with_condition_should_succeed(self, client, dummy_fi... method test_ends_with_condition_should_succeed (line 583) | def test_ends_with_condition_should_succeed(self, client, dummy_filt... method test_contains_condition_should_succeed (line 607) | def test_contains_condition_should_succeed(self, client, dummy_filter): method test_regexp_condition_should_succeed (line 631) | def test_regexp_condition_should_succeed(self, client, dummy_filter): class TestsSeverity (line 655) | class TestsSeverity: method test_greater_condition_should_succeed (line 656) | def test_greater_condition_should_succeed(self, client, dummy_filter): method test_greater_equal_condition_should_succeed (line 678) | def test_greater_equal_condition_should_succeed(self, client, dummy_... method test_less_condition_should_succeed (line 700) | def test_less_condition_should_succeed(self, client, dummy_filter): method test_less_equal_condition_should_succeed (line 722) | def test_less_equal_condition_should_succeed(self, client, dummy_fil... method test_not_equal_severity_should_succeed (line 744) | def test_not_equal_severity_should_succeed(self, client, dummy_filter): method test_in_condition_should_succeed (line 766) | def test_in_condition_should_succeed(self, client, dummy_filter): method test_equal_condition_should_succeed (line 790) | def test_equal_condition_should_succeed(self, client, dummy_filter): class TestsAddExpressionsHelpModal (line 815) | class TestsAddExpressionsHelpModal: method test_should_render_add_expression_help_modal (line 816) | def test_should_render_add_expression_help_modal(self, client): class TestsPermissions (line 823) | class TestsPermissions: method test_set_accountgroup_permissions_should_not_crash (line 824) | def test_set_accountgroup_permissions_should_not_crash(self, db, client): method test_should_include_permissions_help_trigger (line 837) | def test_should_include_permissions_help_trigger(self, client): method test_should_render_permissions_help_modal (line 844) | def test_should_render_permissions_help_modal(self, client): class TestsAlertAddresses (line 851) | class TestsAlertAddresses: method test_alertprofiles_add_slack_address_with_valid_url_should_succeed (line 852) | def test_alertprofiles_add_slack_address_with_valid_url_should_succeed( method test_alertprofiles_add_slack_address_with_a_valid_but_not_absolute_url_should_fail (line 871) | def test_alertprofiles_add_slack_address_with_a_valid_but_not_absolute... method test_alertprofiles_add_slack_address_with_non_valid_url_should_fail (line 891) | def test_alertprofiles_add_slack_address_with_non_valid_url_should_fail( method test_alertprofiles_add_valid_email_address_should_succeed (line 910) | def test_alertprofiles_add_valid_email_address_should_succeed(self, cl... method test_alertprofiles_add_invalid_email_address_should_fail (line 927) | def test_alertprofiles_add_invalid_email_address_should_fail(self, cli... method test_alertprofiles_add_valid_phone_number_without_country_code_should_succeed (line 944) | def test_alertprofiles_add_valid_phone_number_without_country_code_sho... method test_alertprofiles_add_valid_non_norwegian_phone_number_without_country_code_should_succeed (line 964) | def test_alertprofiles_add_valid_non_norwegian_phone_number_without_co... method test_alertprofiles_add_valid_phone_number_with_country_code_should_succeed (line 984) | def test_alertprofiles_add_valid_phone_number_with_country_code_should... method test_alertprofiles_add_valid_phone_number_with_double_zero_country_code_should_succeed (line 1003) | def test_alertprofiles_add_valid_phone_number_with_double_zero_country... method test_alertprofiles_add_invalid_phone_number_should_fail (line 1025) | def test_alertprofiles_add_invalid_phone_number_should_fail(self, clie... class TestsFilterGroups (line 1043) | class TestsFilterGroups: method test_alertprofiles_confirm_remove_filter_group (line 1044) | def test_alertprofiles_confirm_remove_filter_group( method test_alertprofiles_remove_filter_group (line 1059) | def test_alertprofiles_remove_filter_group(self, db, client, dummy_fil... method test_alertprofiles_move_filter_within_group_should_not_crash (line 1073) | def test_alertprofiles_move_filter_within_group_should_not_crash( method test_should_include_operator_help_trigger (line 1090) | def test_should_include_operator_help_trigger(self, client, dummy_filt... method test_should_render_operator_help_modal (line 1099) | def test_should_render_operator_help_modal(self, client): function dummy_profile (line 1112) | def dummy_profile(db, admin_account): function activated_dummy_profile (line 1120) | def activated_dummy_profile(db, dummy_profile): function dummy_time_period (line 1129) | def dummy_time_period(db, activated_dummy_profile): function dummy_alert_address (line 1136) | def dummy_alert_address(db, admin_account): function dummy_alert_subscription (line 1147) | def dummy_alert_subscription( function dummy_filter (line 1160) | def dummy_filter(admin_account): function dummy_filter_group (line 1167) | def dummy_filter_group(admin_account): FILE: tests/integration/web/arnold_test.py class TestManualDetention (line 10) | class TestManualDetention: method test_search_for_valid_ip_should_not_crash (line 11) | def test_search_for_valid_ip_should_not_crash(self, client): method test_given_netbox_without_read_write_profile_blocking_should_show_error (line 25) | def test_given_netbox_without_read_write_profile_blocking_should_show_... method test_given_netbox_without_read_write_profile_quarantining_should_show_error (line 52) | def test_given_netbox_without_read_write_profile_quarantining_should_s... class TestQuarantineVlan (line 80) | class TestQuarantineVlan: method test_quarantine_vlan_twice_should_show_error_message (line 81) | def test_quarantine_vlan_twice_should_show_error_message(self, client,... function cam_entry (line 103) | def cam_entry(db): FILE: tests/integration/web/auth/auth_test.py class TestLogout (line 6) | class TestLogout: method test_non_sudo_logout_should_remove_session_data (line 7) | def test_non_sudo_logout_should_remove_session_data( method test_non_sudo_logout_should_return_path_to_index (line 16) | def test_non_sudo_logout_should_return_path_to_index( method test_sudo_logout_should_set_session_to_original_user (line 24) | def test_sudo_logout_should_set_session_to_original_user( method test_non_sudo_logout_should_change_session_id (line 35) | def test_non_sudo_logout_should_change_session_id( method test_sudo_logout_should_change_session_id (line 45) | def test_sudo_logout_should_change_session_id( FILE: tests/integration/web/auth/conftest.py function session_request (line 8) | def session_request(db): function locked_account (line 21) | def locked_account(db): function default_account (line 31) | def default_account(db): FILE: tests/integration/web/auth/ldap_auth_backend_test.py class TestAuthenticate (line 11) | class TestAuthenticate: method test_given_ldap_not_available_return_none (line 13) | def test_given_ldap_not_available_return_none(self, db): method test_given_no_username_and_no_password_return_none (line 19) | def test_given_no_username_and_no_password_return_none(self, db): method test_given_user_without_ldap_sync_return_none (line 23) | def test_given_user_without_ldap_sync_return_none(self, db, non_admin_... method test_given_valid_ldap_user_info_with_linked_nav_account_return_existing_nav_account (line 33) | def test_given_valid_ldap_user_info_with_linked_nav_account_return_exi... method test_given_valid_ldap_user_info_without_linked_nav_account_create_nav_account (line 47) | def test_given_valid_ldap_user_info_without_linked_nav_account_create_... method test_given_invalid_ldap_user_info_raise_permission_denied_exception (line 62) | def test_given_invalid_ldap_user_info_raise_permission_denied_exception( method test_given_locked_nav_user_info_raise_permission_denied_exception (line 75) | def test_given_locked_nav_user_info_raise_permission_denied_exception( method test_given_no_response_from_ldap_return_none (line 90) | def test_given_no_response_from_ldap_return_none( class TestSyncNavAccount (line 106) | class TestSyncNavAccount: method test_given_ldap_user_and_nav_account_updates_nav_account_password (line 107) | def test_given_ldap_user_and_nav_account_updates_nav_account_password( class TestSyncNavAccountAdminPrivileges (line 119) | class TestSyncNavAccountAdminPrivileges: method test_given_ldapuser_admin_adds_admin_group_to_nav_account (line 120) | def test_given_ldapuser_admin_adds_admin_group_to_nav_account( method test_given_ldap_user_not_admin_removes_admin_group_from_nav_account (line 133) | def test_given_ldap_user_not_admin_removes_admin_group_from_nav_account( function ldap_synced_account (line 148) | def ldap_synced_account(db): function non_admin_ldap_user (line 159) | def non_admin_ldap_user(): FILE: tests/integration/web/auth/login_redirect_test.py class TestLoginRedirect (line 22) | class TestLoginRedirect: method test_when_unauthenticated_user_accesses_protected_page_then_login_should_redirect_back (line 23) | def test_when_unauthenticated_user_accesses_protected_page_then_login_... FILE: tests/integration/web/auth/sudo_test.py function test_sudo_should_change_session_id (line 5) | def test_sudo_should_change_session_id( function test_desudo_should_change_session_id (line 18) | def test_desudo_should_change_session_id( FILE: tests/integration/web/auth/utils_test.py class TestGetAccount (line 18) | class TestGetAccount: class Account (line 19) | class Account: method test_return_account_if_request_account_set (line 22) | def test_return_account_if_request_account_set(self): method test_return_account_if_request_user_set_and_request_account_not_set (line 30) | def test_return_account_if_request_user_set_and_request_account_not_se... method test_return_default_account_if_neither_request_user_nor_request_account_is_set (line 43) | def test_return_default_account_if_neither_request_user_nor_request_ac... class TestClearSession (line 53) | class TestClearSession: method test_should_create_new_session_id (line 54) | def test_should_create_new_session_id(self, db, session_request): method test_should_remove_account_from_request (line 60) | def test_should_remove_account_from_request( method test_should_clear_session_dict (line 69) | def test_should_clear_session_dict(self, db, session_request, admin_ac... class TestEnsureAccount (line 77) | class TestEnsureAccount: method test_account_should_be_set_if_request_does_not_already_have_an_account (line 78) | def test_account_should_be_set_if_request_does_not_already_have_an_acc... method test_account_should_be_switched_to_default_if_locked (line 91) | def test_account_should_be_switched_to_default_if_locked( method test_account_should_be_unchanged_if_ok (line 101) | def test_account_should_be_unchanged_if_ok( method test_session_should_not_be_flushed_if_account_is_default (line 112) | def test_session_should_not_be_flushed_if_account_is_default( method test_session_id_should_be_changed_if_going_from_locked_to_default_account (line 122) | def test_session_id_should_be_changed_if_going_from_locked_to_default_... class TestGetNumberOfAccountsWithPasswordIssues (line 133) | class TestGetNumberOfAccountsWithPasswordIssues: method test_returns_correct_number_of_accounts_with_password_issues (line 134) | def test_returns_correct_number_of_accounts_with_password_issues(self,... method test_ignores_default_account (line 140) | def test_ignores_default_account(self, db, default_account): method test_sets_cache_on_function_call (line 146) | def test_sets_cache_on_function_call(self, db): method test_cache_entry_gets_deleted_on_password_change (line 153) | def test_cache_entry_gets_deleted_on_password_change(self, db, non_adm... method test_cache_entry_gets_deleted_on_user_deletion (line 161) | def test_cache_entry_gets_deleted_on_user_deletion( FILE: tests/integration/web/crawler_test.py function normalize_path (line 76) | def normalize_path(url): class WebCrawler (line 81) | class WebCrawler(object): method __init__ (line 84) | def __init__(self, base_url, username, password): method crawl (line 92) | def crawl(self): method crawl_only_html (line 107) | def crawl_only_html(self): method _visit_with_error_handling (line 113) | def _visit_with_error_handling(self, url): method _visit (line 132) | def _visit(self, url): method _queue_links_from (line 149) | def _queue_links_from(self, content, base_url): method login (line 170) | def login(self): method _add_seen (line 183) | def _add_seen(self, page, url=None): method _is_seen (line 189) | def _is_seen(self, url): method _is_blacklisted (line 192) | def _is_blacklisted(self, url): function _quote_url (line 200) | def _quote_url(url): function webcrawler (line 226) | def webcrawler(live_server, admin_username, admin_password): function test_all_links_should_be_reachable (line 236) | def test_all_links_should_be_reachable(webcrawler): function _content_as_string (line 248) | def _content_as_string(content): function test_page_should_be_valid_html (line 255) | def test_page_should_be_valid_html(webcrawler): function should_validate (line 276) | def should_validate(page: Page): function filter_errors (line 292) | def filter_errors(errors): function _should_ignore (line 297) | def _should_ignore(msg): FILE: tests/integration/web/devicehistory/componentsearch_test.py class TestGetComponentSearchResults (line 9) | class TestGetComponentSearchResults: method test_should_return_result_for_existing_room (line 10) | def test_should_return_result_for_existing_room(self, db, new_room): method test_should_return_existing_room_in_search_results (line 14) | def test_should_return_existing_room_in_search_results(self, db, new_r... method test_given_alias_as_query_should_return_existing_room_in_search_results (line 22) | def test_given_alias_as_query_should_return_existing_room_in_search_re... method test_given_alias_as_query_should_return_existing_location_in_search_results (line 32) | def test_given_alias_as_query_should_return_existing_location_in_searc... method test_should_include_component_name_in_button_text_pattern (line 45) | def test_should_include_component_name_in_button_text_pattern(self, db... method test_should_correctly_format_button_text (line 50) | def test_should_correctly_format_button_text(self, db, new_room): method test_when_button_text_pattern_is_invalid_then_throw_value_error (line 55) | def test_when_button_text_pattern_is_invalid_then_throw_value_error( method test_when_room_component_is_excluded_should_not_return_existing_room_in_results (line 61) | def test_when_room_component_is_excluded_should_not_return_existing_ro... method test_should_return_empty_results_for_non_existing_component (line 69) | def test_should_return_empty_results_for_non_existing_component(self, ... method test_when_given_inactive_device_serial_return_results (line 75) | def test_when_given_inactive_device_serial_return_results(self, inacti... method test_when_given_inactive_device_serial_return_correct_select_label (line 86) | def test_when_given_inactive_device_serial_return_correct_select_label( function new_location (line 97) | def new_location(db): function new_room (line 105) | def new_room(db, new_location): function inactive_device (line 118) | def inactive_device(db): FILE: tests/integration/web/devicehistory/views_test.py class TestSearchDeviceHistoryComponents (line 12) | class TestSearchDeviceHistoryComponents: method test_given_an_existing_room_then_component_search_should_return_results (line 13) | def test_given_an_existing_room_then_component_search_should_return_re... method test_given_alias_of_existing_room_then_component_search_should_return_results (line 21) | def test_given_alias_of_existing_room_then_component_search_should_ret... method test_given_alias_of_existing_location_then_component_search_should_return_results (line 29) | def test_given_alias_of_existing_location_then_component_search_should... method test_given_a_non_existing_component_then_component_search_should_return_no_hits (line 37) | def test_given_a_non_existing_component_then_component_search_should_r... method test_given_an_empty_query_then_component_search_should_return_no_hits (line 45) | def test_given_an_empty_query_then_component_search_should_return_no_h... class TestSearchDeviceHistoryRegisterErrorComponents (line 54) | class TestSearchDeviceHistoryRegisterErrorComponents: method test_given_an_existing_netbox_then_component_search_should_return_results (line 55) | def test_given_an_existing_netbox_then_component_search_should_return_... method test_given_a_non_existing_component_then_component_search_should_return_no_hits (line 64) | def test_given_a_non_existing_component_then_component_search_should_r... method test_given_an_empty_query_then_component_search_should_return_no_hits (line 72) | def test_given_an_empty_query_then_component_search_should_return_no_h... class TestDeviceHistorySearch (line 81) | class TestDeviceHistorySearch: method test_when_query_parameter_is_empty_then_return_search_page (line 82) | def test_when_query_parameter_is_empty_then_return_search_page(self, c... method test_when_from_date_is_set_then_return_search_results (line 88) | def test_when_from_date_is_set_then_return_search_results(self, client): class TestRegisterError (line 95) | class TestRegisterError: method test_when_no_devices_are_selected_then_return_error_message (line 96) | def test_when_no_devices_are_selected_then_return_error_message(self, ... method test_when_devices_are_selected_then_show_selected_devices (line 102) | def test_when_devices_are_selected_then_show_selected_devices( method test_when_no_error_comment_supplied_then_require_confirmation (line 110) | def test_when_no_error_comment_supplied_then_require_confirmation( method test_when_selected_devices_and_error_comment_supplied_then_register_error (line 120) | def test_when_selected_devices_and_error_comment_supplied_then_registe... class TestInactiveDeviceHistoryView (line 133) | class TestInactiveDeviceHistoryView: method test_get_inactive_device_history_should_succeed (line 134) | def test_get_inactive_device_history_should_succeed(self, client, inac... method test_get_inactive_device_history_should_redirect_with_group_by_set_to_device (line 144) | def test_get_inactive_device_history_should_redirect_with_group_by_set... method test_given_inactive_device_with_alert_history_then_it_should_return_results (line 155) | def test_given_inactive_device_with_alert_history_then_it_should_retur... function create_alert_history_for_device (line 174) | def create_alert_history_for_device(device, count=1): function new_location (line 190) | def new_location(db): function new_room (line 198) | def new_room(db, new_location): function inactive_device (line 208) | def inactive_device(db): FILE: tests/integration/web/devicehistory_test.py function test_post_device_error_should_succeed (line 17) | def test_post_device_error_should_succeed(client, localhost): function test_post_device_error_without_comment_should_ask_for_confirmation (line 45) | def test_post_device_error_without_comment_should_ask_for_confirmation( function test_post_device_error_without_comment_should_succeed_with_confirmation (line 71) | def test_post_device_error_without_comment_should_succeed_with_confirmat... function test_get_location_history_should_succeed (line 100) | def test_get_location_history_should_succeed(client, localhost): function test_get_location_history_with_only_location_parameter_should_succeed (line 110) | def test_get_location_history_with_only_location_parameter_should_succeed( function test_get_room_history_should_succeed (line 120) | def test_get_room_history_should_succeed(client, localhost): function test_get_ip_device_history_should_succeed (line 130) | def test_get_ip_device_history_should_succeed(client, localhost): function test_get_device_group_history_should_succeed (line 140) | def test_get_device_group_history_should_succeed(client, localhost): function test_get_module_history_should_succeed (line 151) | def test_get_module_history_should_succeed(db, client, localhost): function test_get_device_history_with_htmx_should_return_partial (line 166) | def test_get_device_history_with_htmx_should_return_partial(client, loca... function test_device_history_view_filter_with_initial_values_is_valid (line 180) | def test_device_history_view_filter_with_initial_values_is_valid(): function test_device_history_view_filter_with_initial_values_is_same_as_same_get_parameters (line 186) | def test_device_history_view_filter_with_initial_values_is_same_as_same_... function localhost_with_alert (line 203) | def localhost_with_alert(db, localhost): FILE: tests/integration/web/geomap_test.py function test_geomap_data_should_not_crash (line 1) | def test_geomap_data_should_not_crash(client): FILE: tests/integration/web/graphite_test.py function test_graphite_proxy_should_not_log_503_error_from_graphite_web (line 26) | def test_graphite_proxy_should_not_log_503_error_from_graphite_web( function test_graphite_proxy_should_respond_with_graphite_web_status_code (line 49) | def test_graphite_proxy_should_respond_with_graphite_web_status_code( function test_fake_graphite_server_should_respond_with_503_error (line 64) | def test_fake_graphite_server_should_respond_with_503_error(fake_graphit... function fake_graphite_web_server (line 75) | def fake_graphite_web_server(): function mock_graphite_config (line 101) | def mock_graphite_config(fake_graphite_web_server, monkeypatch): class SingleStatusHandler (line 109) | class SingleStatusHandler(http.server.SimpleHTTPRequestHandler): method __init__ (line 114) | def __init__(self, *args, **kwargs): method do_GET (line 118) | def do_GET(self): method do_POST (line 124) | def do_POST(self): function main (line 131) | def main(): FILE: tests/integration/web/info/info_test.py function test_search_for_nonascii_characters_should_not_crash (line 21) | def test_search_for_nonascii_characters_should_not_crash(client): function test_failing_searchprovider_should_not_crash_search_page (line 27) | def test_failing_searchprovider_should_not_crash_search_page( function test_failures_should_be_mentioned_in_search_page (line 35) | def test_failures_should_be_mentioned_in_search_page(client, failing_sea... function test_room_csv_download_should_not_produce_bytestring_representations (line 41) | def test_room_csv_download_should_not_produce_bytestring_representations... function test_save_thumbnail_should_produce_a_file (line 53) | def test_save_thumbnail_should_produce_a_file(tmpdir): class TestImageUploadHeader (line 64) | class TestImageUploadHeader: method test_when_rendering_location_image_upload_then_include_location_id (line 65) | def test_when_rendering_location_image_upload_then_include_location_id( method test_when_rendering_room_image_upload_then_include_room_id (line 72) | def test_when_rendering_room_image_upload_then_include_room_id(self, c... method test_should_render_image_help_modal (line 77) | def test_should_render_image_help_modal(self, client): function failing_searchprovider (line 89) | def failing_searchprovider(): class FailingSearchProvider (line 109) | class FailingSearchProvider(SearchProvider): method fetch_results (line 112) | def fetch_results(self): FILE: tests/integration/web/info/location_test.py class TestLocationInfoView (line 8) | class TestLocationInfoView: method test_location_info_url_should_allow_slashes (line 9) | def test_location_info_url_should_allow_slashes(self, client, location... method test_location_info_upload_url_should_allow_slashes (line 15) | def test_location_info_upload_url_should_allow_slashes( function location_with_slash (line 25) | def location_with_slash(db): FILE: tests/integration/web/info/room_test.py class TestRoomInfoView (line 11) | class TestRoomInfoView: method test_room_info_url_should_allow_slashes (line 12) | def test_room_info_url_should_allow_slashes(self, client, room_with_sl... class TestRoomNetboxInterfacesView (line 19) | class TestRoomNetboxInterfacesView: method test_should_render_about_search_modal_trigger (line 20) | def test_should_render_about_search_modal_trigger(self, client): method test_should_render_about_search_modal (line 27) | def test_should_render_about_search_modal(self, client): class TestAddRoomRackViews (line 34) | class TestAddRoomRackViews: method test_should_render_add_rack_modal_trigger (line 35) | def test_should_render_add_rack_modal_trigger(self, client): method test_should_render_add_rack_modal (line 42) | def test_should_render_add_rack_modal(self, client): method test_when_account_is_not_admin_then_return_403 (line 48) | def test_when_account_is_not_admin_then_return_403(self, non_admin_cli... method test_when_account_is_admin_then_add_rack (line 53) | def test_when_account_is_admin_then_add_rack(self, client): method test_when_rack_is_added_then_return_template_with_editmode (line 59) | def test_when_rack_is_added_then_return_template_with_editmode(self, c... method test_when_rack_is_added_then_return_color_chooser_options (line 70) | def test_when_rack_is_added_then_return_color_chooser_options(self, cl... method test_when_rack_is_added_then_return_rack_added_event (line 81) | def test_when_rack_is_added_then_return_rack_added_event(self, client): method test_should_add_rack_for_room_id_with_slash (line 92) | def test_should_add_rack_for_room_id_with_slash(self, client, room_wit... class TestAddSensorModalView (line 99) | class TestAddSensorModalView: method test_should_render_add_sensor_modal (line 100) | def test_should_render_add_sensor_modal(self, client, test_rack): method test_should_render_modal_with_rackid (line 106) | def test_should_render_modal_with_rackid(self, client, test_rack): method test_should_render_modal_with_column (line 112) | def test_should_render_modal_with_column(self, client, test_rack): method test_given_no_rackid_then_return_400 (line 118) | def test_given_no_rackid_then_return_400(self, client): method test_given_invalid_column_then_return_400 (line 123) | def test_given_invalid_column_then_return_400(self, client, test_rack): method test_given_non_existing_roomid_then_return_404 (line 128) | def test_given_non_existing_roomid_then_return_404(self, client, test_... method test_given_non_existing_rackid_then_return_404 (line 133) | def test_given_non_existing_rackid_then_return_404(self, client): class TestSaveSensorView (line 139) | class TestSaveSensorView: method test_when_saving_single_sensor_then_return_rack_item (line 140) | def test_when_saving_single_sensor_then_return_rack_item( method test_when_saving_sensor_diff_then_return_rack_item (line 155) | def test_when_saving_sensor_diff_then_return_rack_item( method test_when_saving_sensor_sum_then_return_rack_item (line 177) | def test_when_saving_sensor_sum_then_return_rack_item( method test_given_missing_sensorid_when_saving_sensor_then_return_error (line 204) | def test_given_missing_sensorid_when_saving_sensor_then_return_error( method test_given_missing_subtrahend_when_saving_sensor_diff_then_return_error (line 219) | def test_given_missing_subtrahend_when_saving_sensor_diff_then_return_... method test_given_invalid_sum_data_when_saving_sensor_sum_then_return_error (line 235) | def test_given_invalid_sum_data_when_saving_sensor_sum_then_return_error( function test_rack (line 257) | def test_rack(db, test_sensor): function test_sensor (line 265) | def test_sensor(db, localhost): function non_admin_client (line 275) | def non_admin_client(client, non_admin_account): function room_with_slash (line 283) | def room_with_slash(db): FILE: tests/integration/web/info/search_test.py function test_search_for_ip_devices_should_not_crash (line 11) | def test_search_for_ip_devices_should_not_crash(client): function test_search_for_vlans_should_not_crash (line 17) | def test_search_for_vlans_should_not_crash(client): function test_search_for_prefixes_should_not_crash (line 23) | def test_search_for_prefixes_should_not_crash(client): function test_search_for_device_groups_should_not_crash (line 29) | def test_search_for_device_groups_should_not_crash(client): class TestProcessFormDescriptionSearch (line 35) | class TestProcessFormDescriptionSearch: method test_location_search_by_description_should_return_results (line 38) | def test_location_search_by_description_should_return_results(self, db): method test_room_search_by_description_should_return_results (line 48) | def test_room_search_by_description_should_return_results(self, db): method test_vlan_search_by_description_should_return_results (line 58) | def test_vlan_search_by_description_should_return_results(self, db): method test_devicegroup_search_by_description_should_return_results (line 68) | def test_devicegroup_search_by_description_should_return_results( method assert_search_provider_result (line 80) | def assert_search_provider_result(instance: models.Model, provider_nam... class TestInfoSearchViews (line 96) | class TestInfoSearchViews: method test_info_search_general_query_should_return_base_template (line 99) | def test_info_search_general_query_should_return_base_template(self, c... method test_info_search_query_matching_single_resource_should_redirect (line 106) | def test_info_search_query_matching_single_resource_should_redirect( method test_info_search_general_query_using_htmx_should_return_search_results (line 117) | def test_info_search_general_query_using_htmx_should_return_search_res... method test_info_search_query_matching_single_resource_using_htmx_should_redirect (line 126) | def test_info_search_query_matching_single_resource_using_htmx_should_... method test_ipdevinfo_search_query_that_matches_single_netbox_should_redirect (line 137) | def test_ipdevinfo_search_query_that_matches_single_netbox_should_redi... method test_ipdevinfo_single_netbox_query_should_redirect_with_htmx (line 148) | def test_ipdevinfo_single_netbox_query_should_redirect_with_htmx( method test_search_views_should_render_base_template_on_initial_load (line 170) | def test_search_views_should_render_base_template_on_initial_load( method test_search_views_should_render_results_with_htmx (line 190) | def test_search_views_should_render_results_with_htmx( method test_given_alias_for_room_in_info_search_should_redirect_to_room (line 198) | def test_given_alias_for_room_in_info_search_should_redirect_to_room( method test_given_alias_for_location_in_info_search_should_redirect_to_location (line 209) | def test_given_alias_for_location_in_info_search_should_redirect_to_lo... class TestRoomSearchView (line 221) | class TestRoomSearchView: method test_given_standard_query_then_should_not_crash (line 222) | def test_given_standard_query_then_should_not_crash(self, client): method test_given_alias_for_room_then_should_return_room (line 227) | def test_given_alias_for_room_then_should_return_room( method test_given_alias_for_location_then_should_return_room_in_location (line 236) | def test_given_alias_for_location_then_should_return_room_in_location( class TestLocationSearchView (line 246) | class TestLocationSearchView: method test_given_standard_query_then_it_should_not_crash (line 247) | def test_given_standard_query_then_it_should_not_crash(self, client): method test_given_alias_for_location_then_it_should_return_location (line 252) | def test_given_alias_for_location_then_it_should_return_location( method test_given_alias_for_location_then_it_should_return_parent_location (line 261) | def test_given_alias_for_location_then_it_should_return_parent_location( method test_when_location_has_multiple_matching_children_then_it_should_not_return_duplicates (line 274) | def test_when_location_has_multiple_matching_children_then_it_should_n... class TestIndexSearchPreviewView (line 299) | class TestIndexSearchPreviewView: method test_given_empty_query_it_should_return_no_results (line 302) | def test_given_empty_query_it_should_return_no_results(self, client): method test_given_empty_query_it_should_return_close_popover_event (line 307) | def test_given_empty_query_it_should_return_close_popover_event(self, ... method test_given_existing_resource_it_should_return_results (line 312) | def test_given_existing_resource_it_should_return_results(self, client): method test_given_valid_query_it_should_return_results (line 317) | def test_given_valid_query_it_should_return_results(self, client, db, ... method test_given_more_than_five_results_then_it_should_truncate_results (line 325) | def test_given_more_than_five_results_then_it_should_truncate_results( method _handle_search_request (line 342) | def _handle_search_request(client, query): function create_interface (line 347) | def create_interface( function room_with_alias (line 357) | def room_with_alias(db, location_with_alias): function location_with_alias (line 366) | def location_with_alias(db): FILE: tests/integration/web/ipam/api_test.py class TestPrefixViewSet (line 1) | class TestPrefixViewSet: method test_when_prefix_address_is_unknown_it_should_not_crash (line 2) | def test_when_prefix_address_is_unknown_it_should_not_crash(self, clie... FILE: tests/integration/web/ipam/util_test.py class TestGetAvailableSubnets (line 10) | class TestGetAvailableSubnets: method test_get_available_subnets (line 11) | def test_get_available_subnets(self, prefixes): function vlan (line 27) | def vlan(db): function prefixes (line 36) | def prefixes(vlan): FILE: tests/integration/web/ipam/views_test.py class TestSubnetAllocatorHelpModal (line 4) | class TestSubnetAllocatorHelpModal: method test_should_render_help_modal (line 5) | def test_should_render_help_modal(self, client): FILE: tests/integration/web/ipdevinfo_test.py function test_device_details_should_include_sysname (line 23) | def test_device_details_should_include_sysname(client, netbox): function test_device_details_should_match_sysname_case_insensitively (line 29) | def test_device_details_should_match_sysname_case_insensitively(client, ... function test_port_search_should_match_case_insensitively (line 35) | def test_port_search_should_match_case_insensitively(client, netbox): function test_get_port_view_should_not_crash_on_big_interval (line 49) | def test_get_port_view_should_not_crash_on_big_interval(client, netbox): function test_get_module_view (line 72) | def test_get_module_view(netbox, perspective): function test_bad_name_should_not_crash_ipdevinfo (line 86) | def test_bad_name_should_not_crash_ipdevinfo(client, badname): function test_when_module_name_contains_slash_then_module_details_should_not_crash (line 94) | def test_when_module_name_contains_slash_then_module_details_should_not_... class TestRefreshIpdevinfoJob (line 106) | class TestRefreshIpdevinfoJob: method test_given_netbox_and_job_posts_refresh_event (line 107) | def test_given_netbox_and_job_posts_refresh_event(db, client, netbox): method test_returns_loading_indicator (line 125) | def test_returns_loading_indicator(db, client, netbox): class TestRefreshIpdevinfoJobStatusQuery (line 138) | class TestRefreshIpdevinfoJobStatusQuery: method test_when_job_finished_returns_client (line 139) | def test_when_job_finished_returns_client(db, client, netbox): method test_when_job_still_running_returns_loading_indicator (line 154) | def test_when_job_still_running_returns_loading_indicator(db, client, ... method test_when_job_runs_for_too_long_returns_error (line 181) | def test_when_job_runs_for_too_long_returns_error(db, client, netbox): method test_when_refresh_event_exists_returns_error (line 208) | def test_when_refresh_event_exists_returns_error(db, client, netbox): class TestHostInfoModal (line 240) | class TestHostInfoModal: method test_should_render_modal (line 241) | def test_should_render_modal(self, client, netbox): method test_when_rendering_modal_then_include_sysname (line 250) | def test_when_rendering_modal_then_include_sysname(self, client, netbox): class TestPoeHintModals (line 260) | class TestPoeHintModals: method test_should_render_status_hint_modal (line 261) | def test_should_render_status_hint_modal(self, client, netbox): method test_should_render_classification_hint_modal (line 267) | def test_should_render_classification_hint_modal(self, client, netbox): function netbox (line 282) | def netbox(db, management_profile): FILE: tests/integration/web/jwt_test.py function test_posting_valid_data_to_create_endpoint_should_create_token (line 11) | def test_posting_valid_data_to_create_endpoint_should_create_token(db, c... function test_posting_existing_token_id_to_delete_endpoint_should_delete_token (line 28) | def test_posting_existing_token_id_to_delete_endpoint_should_delete_token( function test_posting_existing_token_id_to_revoke_endpoint_should_revoke_token (line 39) | def test_posting_existing_token_id_to_revoke_endpoint_should_revoke_token( function test_recreating_token_should_unrevoke_it (line 51) | def test_recreating_token_should_unrevoke_it(db, client, token): function test_posting_valid_data_to_edit_endpoint_should_edit_token (line 62) | def test_posting_valid_data_to_edit_endpoint_should_edit_token(db, clien... function test_creating_token_should_add_auditlog_entry (line 79) | def test_creating_token_should_add_auditlog_entry(db, client): function test_deleting_token_should_add_auditlog_entry (line 98) | def test_deleting_token_should_add_auditlog_entry(db, client, token): function test_revoking_token_should_add_auditlog_entry (line 108) | def test_revoking_token_should_add_auditlog_entry(db, client, token): function test_recreating_token_should_add_auditlog_entry (line 118) | def test_recreating_token_should_add_auditlog_entry(db, client, token): function test_editing_token_should_add_auditlog_entry (line 130) | def test_editing_token_should_add_auditlog_entry(db, client, token): function token (line 149) | def token(db) -> Generator[JWTRefreshToken, None, None]: function jwt_private_key_mock (line 163) | def jwt_private_key_mock(rsa_private_key) -> Generator[str, None, None]: function jwt_name_mock (line 170) | def jwt_name_mock() -> Generator[str, None, None]: function jwt_access_token_lifetime_mock (line 178) | def jwt_access_token_lifetime_mock() -> Generator[timedelta, None, None]: function jwt_refresh_token_lifetime_mock (line 186) | def jwt_refresh_token_lifetime_mock() -> Generator[timedelta, None, None]: FILE: tests/integration/web/machinetracker_test.py function test_get_netbios_query_should_not_fail (line 11) | def test_get_netbios_query_should_not_fail(db): class TestRenderSearchHelpModal (line 20) | class TestRenderSearchHelpModal: method test_given_valid_tab_names_then_return_200_for_all (line 21) | def test_given_valid_tab_names_then_return_200_for_all(self, client): method test_given_valid_tab_names_then_return_correct_modal_id_for_all (line 27) | def test_given_valid_tab_names_then_return_correct_modal_id_for_all(se... method test_given_invalid_tab_name_then_return_400 (line 33) | def test_given_invalid_tab_name_then_return_400(self, client): FILE: tests/integration/web/maintenance/utils_test.py class TestPrefetchAndGroupComponents (line 5) | class TestPrefetchAndGroupComponents: method test_should_return_list_of_tuples (line 6) | def test_should_return_list_of_tuples(self): method test_should_group_by_room (line 13) | def test_should_group_by_room(self): method test_when_group_by_is_none_it_should_return_flat_list (line 22) | def test_when_group_by_is_none_it_should_return_flat_list(self): FILE: tests/integration/web/maintenance/views_test.py class TestMaintenanceCalendarView (line 26) | class TestMaintenanceCalendarView: method test_calendar_renders_when_no_arguments_given (line 27) | def test_calendar_renders_when_no_arguments_given(self, client): method test_calendar_still_renders_when_invalid_arguments_given (line 31) | def test_calendar_still_renders_when_invalid_arguments_given(self, cli... class TestAddMaintenanceTask (line 36) | class TestAddMaintenanceTask: method test_valid_data_without_end_time_should_suceed (line 37) | def test_valid_data_without_end_time_should_suceed(self, db, client, l... method test_valid_data_with_end_time_should_suceed (line 57) | def test_valid_data_with_end_time_should_suceed(self, db, client, loca... method test_with_non_int_netbox_key_should_fail (line 77) | def test_with_non_int_netbox_key_should_fail(self, db, client): method test_with_non_int_netbox_key_in_url_should_fail (line 99) | def test_with_non_int_netbox_key_in_url_should_fail(self, db, client): method test_with_non_existent_netbox_key_in_url_should_fail (line 107) | def test_with_non_existent_netbox_key_in_url_should_fail(self, db, cli... method test_with_end_time_before_start_time_should_fail (line 121) | def test_with_end_time_before_start_time_should_fail(self, db, client,... class TestEditMaintenanceTask (line 144) | class TestEditMaintenanceTask: method test_when_existing_task_is_requested_it_should_render_with_intact_description (line 145) | def test_when_existing_task_is_requested_it_should_render_with_intact_... class TestSearchMaintenanceComponents (line 155) | class TestSearchMaintenanceComponents: method test_given_an_existing_room_then_component_search_should_return_results (line 156) | def test_given_an_existing_room_then_component_search_should_return_re... method test_given_a_non_existing_component_then_component_search_should_return_no_hits (line 164) | def test_given_a_non_existing_component_then_component_search_should_r... method test_given_an_empty_query_then_component_search_should_return_no_hits (line 172) | def test_given_an_empty_query_then_component_search_should_return_no_h... method test_when_searching_by_room_description_then_it_should_return_matching_rooms (line 180) | def test_when_searching_by_room_description_then_it_should_return_matc... method test_when_searching_by_room_alias_then_it_should_return_matching_rooms (line 188) | def test_when_searching_by_room_alias_then_it_should_return_matching_r... method test_when_searching_by_location_description_then_it_should_return_results (line 196) | def test_when_searching_by_location_description_then_it_should_return_... method test_when_searching_by_location_alias_then_it_should_return_results (line 204) | def test_when_searching_by_location_alias_then_it_should_return_results( class TestBrowseMaintenanceComponents (line 213) | class TestBrowseMaintenanceComponents: method test_when_component_browse_is_called_with_post_then_it_should_fail (line 214) | def test_when_component_browse_is_called_with_post_then_it_should_fail( method test_when_no_locations_exist_then_component_browse_should_show_empty_message (line 221) | def test_when_no_locations_exist_then_component_browse_should_show_emp... method test_when_locations_exist_then_component_browse_should_include_them (line 230) | def test_when_locations_exist_then_component_browse_should_include_them( method test_when_nested_locations_exist_then_component_browse_should_show_hierarchy (line 238) | def test_when_nested_locations_exist_then_component_browse_should_show... method test_when_rooms_exist_then_component_browse_should_group_them_under_location (line 248) | def test_when_rooms_exist_then_component_browse_should_group_them_unde... class TestSelectMaintenanceComponents (line 261) | class TestSelectMaintenanceComponents: method test_given_an_existing_room_then_component_select_should_return_results (line 262) | def test_given_an_existing_room_then_component_select_should_return_re... method test_when_adding_room_via_add_room_then_it_should_merge_with_existing_rooms (line 275) | def test_when_adding_room_via_add_room_then_it_should_merge_with_exist... method test_when_adding_location_via_add_loc_then_it_should_merge_with_existing (line 293) | def test_when_adding_location_via_add_loc_then_it_should_merge_with_ex... method test_should_remove_given_room_from_response (line 310) | def test_should_remove_given_room_from_response(self, db, client, new_... method test_when_given_all_components_to_remove_then_it_should_return_none (line 325) | def test_when_given_all_components_to_remove_then_it_should_return_none( function empty_maintenance_task (line 346) | def empty_maintenance_task(db): function new_room (line 359) | def new_room(db): function location_with_description (line 372) | def location_with_description(db): function nested_locations (line 382) | def nested_locations(db): function location_with_rooms (line 393) | def location_with_rooms(db): FILE: tests/integration/web/messages_test.py class TestMessageForm (line 15) | class TestMessageForm: method test_when_instance_is_unsaved_then_it_should_not_raise (line 16) | def test_when_instance_is_unsaved_then_it_should_not_raise(self, db): method test_when_instance_is_saved_then_it_should_fetch_maintenance_tasks (line 20) | def test_when_instance_is_saved_then_it_should_fetch_maintenance_tasks( function message (line 32) | def message(db): function maintenance_task (line 46) | def maintenance_task(db): FILE: tests/integration/web/navlets_test.py class TestAddUserNavletView (line 12) | class TestAddUserNavletView: method test_when_using_get_method_then_it_should_return_405 (line 13) | def test_when_using_get_method_then_it_should_return_405(self, client,... method test_given_payload_without_navlet_then_return_400 (line 17) | def test_given_payload_without_navlet_then_return_400(self, client, da... method test_given_payload_with_navlet_then_return_200 (line 21) | def test_given_payload_with_navlet_then_return_200( method test_given_payload_with_navlet_for_different_account_then_return_404 (line 28) | def test_given_payload_with_navlet_for_different_account_then_return_404( class TestAddNavletModalView (line 38) | class TestAddNavletModalView: method test_should_render_add_navlet_modal (line 41) | def test_should_render_add_navlet_modal(self, client, dashboard): class TestAddNavletView (line 47) | class TestAddNavletView: method test_add_navlet_with_no_preferences (line 50) | def test_add_navlet_with_no_preferences(self, admin_account, dashboard): class TestModifyNavlet (line 56) | class TestModifyNavlet: method test_when_account_is_not_permitted_to_modify_then_return_403 (line 58) | def test_when_account_is_not_permitted_to_modify_then_return_403( class TestRemoveUserNavletModalView (line 71) | class TestRemoveUserNavletModalView: method test_should_render_remove_navlet_modal (line 74) | def test_should_render_remove_navlet_modal(self, client, new_navlet): class TestRemoveUserNavletView (line 80) | class TestRemoveUserNavletView: method test_when_navletid_not_in_payload_then_return_400 (line 83) | def test_when_navletid_not_in_payload_then_return_400(self, client): method test_given_existing_navlet_then_remove_it (line 87) | def test_given_existing_navlet_then_remove_it(self, client, new_navlet): method test_given_existing_navlet_and_insufficient_permissions_then_return_error (line 92) | def test_given_existing_navlet_and_insufficient_permissions_then_retur... method test_given_non_existing_navlet_then_return_error (line 101) | def test_given_non_existing_navlet_then_return_error(self, client): class TestNavletPost (line 107) | class TestNavletPost: method test_when_no_form_supplied_it_should_return_400 (line 110) | def test_when_no_form_supplied_it_should_return_400(self, admin_accoun... method test_given_valid_form_it_should_save_preferences (line 125) | def test_given_valid_form_it_should_save_preferences( method test_given_invalid_form_it_should_call_handle_error_response (line 149) | def test_given_invalid_form_it_should_call_handle_error_response( class TestNavletHandleErrorResponse (line 172) | class TestNavletHandleErrorResponse: method test_should_render_form_errors_in_context (line 175) | def test_should_render_form_errors_in_context(self, admin_account, new... function _get_dashboard_url (line 202) | def _get_dashboard_url(dashboard: AccountDashboard): function dashboard (line 207) | def dashboard(db, admin_account): function other_account_dashboard (line 215) | def other_account_dashboard(db): function new_navlet (line 229) | def new_navlet(db, admin_account, dashboard): FILE: tests/integration/web/netboxtype_test.py function test_post_netboxtype_with_sysobjectid_without_leading_period_should_succeed (line 10) | def test_post_netboxtype_with_sysobjectid_without_leading_period_should_... function test_post_netboxtype_with_sysobjectid_with_leading_period_should_succeed (line 36) | def test_post_netboxtype_with_sysobjectid_with_leading_period_should_suc... function test_post_netboxtype_with_sysobjectid_being_invalid_should_fail (line 62) | def test_post_netboxtype_with_sysobjectid_being_invalid_should_fail(clie... FILE: tests/integration/web/netmap_test.py function test_netmap_layer_graph_should_load (line 6) | def test_netmap_layer_graph_should_load(layer, client): FILE: tests/integration/web/portadmin_test.py class TestPortadminSearchViews (line 16) | class TestPortadminSearchViews: method test_when_resource_exists_it_should_return_200 (line 27) | def test_when_resource_exists_it_should_return_200( method test_when_resource_does_not_exist_it_should_return_error (line 45) | def test_when_resource_does_not_exist_it_should_return_error( method test_when_resource_exists_it_should_return_correct_data_url (line 60) | def test_when_resource_exists_it_should_return_correct_data_url( method test_when_netbox_preconditions_are_not_met_then_response_should_contain_expected_error_message (line 102) | def test_when_netbox_preconditions_are_not_met_then_response_should_co... class TestPortadminDataLoading (line 113) | class TestPortadminDataLoading: method test_load_portadmin_data_by_kwargs_should_load_data_for_valid_interface_id (line 118) | def test_load_portadmin_data_by_kwargs_should_load_data_for_valid_inte... method test_load_portadmin_data_by_kwargs_should_load_data_for_valid_sysname (line 134) | def test_load_portadmin_data_by_kwargs_should_load_data_for_valid_sysn... method test_load_portadmin_data_by_kwargs_should_return_error_when_interface_not_found (line 151) | def test_load_portadmin_data_by_kwargs_should_return_error_when_interf... method test_load_portadmin_data_by_kwargs_should_return_error_when_netbox_not_found (line 160) | def test_load_portadmin_data_by_kwargs_should_return_error_when_netbox... method test_load_portadmin_data_by_kwargs_should_return_error_when_no_interfaces_exist (line 169) | def test_load_portadmin_data_by_kwargs_should_return_error_when_no_int... method test_populate_infodict_should_set_readonly_mode_when_handler_not_configurable (line 183) | def test_populate_infodict_should_set_readonly_mode_when_handler_not_c... method test_populate_infodict_should_configure_all_features_when_handler_is_configurable (line 206) | def test_populate_infodict_should_configure_all_features_when_handler_... method test_populate_infodict_should_set_readonly_mode_when_handler_raises_exception (line 245) | def test_populate_infodict_should_set_readonly_mode_when_handler_raise... method test_populate_infodict_should_handle_livedata_exceptions_and_add_error_message (line 273) | def test_populate_infodict_should_handle_livedata_exceptions_and_add_e... method test_populate_infodict_should_format_auditlog_parameters_correctly (line 292) | def test_populate_infodict_should_format_auditlog_parameters_correctly( function mock_request (line 313) | def mock_request(admin_account): function mock_handler (line 321) | def mock_handler(): function valid_netbox (line 344) | def valid_netbox(db, management_profile, netbox_type): function interface (line 353) | def interface(db, management_profile, netbox_type): function netbox_without_type (line 363) | def netbox_without_type(db, management_profile): function netbox_without_ports (line 372) | def netbox_without_ports(db, management_profile, netbox_type): function create_netbox_with_profile (line 378) | def create_netbox_with_profile(management_profile, **kwargs): function create_interface (line 396) | def create_interface(netbox, **kwargs): FILE: tests/integration/web/prefixviewset_test.py class TestContainsAddressFilter (line 12) | class TestContainsAddressFilter: method test_prefix_is_returned_when_no_given_containing_address (line 13) | def test_prefix_is_returned_when_no_given_containing_address(self, cli... method test_prefix_containing_given_address_is_returned (line 20) | def test_prefix_containing_given_address_is_returned(self, client, pre... method test_prefix_that_does_not_contain_given_address_is_not_returned (line 27) | def test_prefix_that_does_not_contain_given_address_is_not_returned( method test_error_is_returned_if_given_address_is_not_valid_cidr_address (line 36) | def test_error_is_returned_if_given_address_is_not_valid_cidr_address( method test_prefix_identical_to_given_address_is_returned (line 42) | def test_prefix_identical_to_given_address_is_returned(self, client, p... class TestVlanFilter (line 50) | class TestVlanFilter: method test_prefix_with_matching_vlan_id_is_returned (line 51) | def test_prefix_with_matching_vlan_id_is_returned(self, client, prefix): class TestIsNetAddressFilter (line 59) | class TestIsNetAddressFilter: method test_prefix_is_returned_when_no_given_address (line 60) | def test_prefix_is_returned_when_no_given_address(self, client, prefix): method test_prefix_with_given_address_is_returned (line 67) | def test_prefix_with_given_address_is_returned(self, client, prefix): method test_prefix_that_is_not_given_address_is_not_returned (line 74) | def test_prefix_that_is_not_given_address_is_not_returned(self, client... method test_error_is_returned_if_given_address_is_not_valid_cidr_address (line 81) | def test_error_is_returned_if_given_address_is_not_valid_cidr_address( function nettype (line 96) | def nettype(db): function vlan (line 105) | def vlan(db, nettype): function prefix (line 114) | def prefix(db, vlan): FILE: tests/integration/web/radius_test.py class TestAccountLogSearch (line 10) | class TestAccountLogSearch: method test_all_time_search_should_return_no_results_for_no_entries (line 11) | def test_all_time_search_should_return_no_results_for_no_entries( method test_day_search_should_return_no_results_for_no_entries (line 28) | def test_day_search_should_return_no_results_for_no_entries( method test_day_search_should_not_crash_on_big_days (line 46) | def test_day_search_should_not_crash_on_big_days(db, client, admin_use... method test_timespan_search_should_return_no_results_for_no_entries (line 62) | def test_timespan_search_should_return_no_results_for_no_entries( class TestErrorLogSearch (line 81) | class TestErrorLogSearch: method test_all_time_search_should_return_no_result_for_no_entries (line 82) | def test_all_time_search_should_return_no_result_for_no_entries( method test_hour_search_should_return_no_result_for_no_entries (line 99) | def test_hour_search_should_return_no_result_for_no_entries( method test_hour_search_should_not_crash_on_big_hours (line 117) | def test_hour_search_should_not_crash_on_big_hours(db, client, admin_u... method test_timespan_search_should_return_no_result_for_no_entries (line 133) | def test_timespan_search_should_return_no_result_for_no_entries( class TestTopTalkers (line 152) | class TestTopTalkers: method test_day_search_should_return_tables_with_top_talkers (line 153) | def test_day_search_should_return_tables_with_top_talkers(db, client): method test_day_search_should_not_crash_on_big_days (line 166) | def test_day_search_should_not_crash_on_big_days(db, client): class TestRadiusSearchHintModalViews (line 180) | class TestRadiusSearchHintModalViews: method test_should_render_account_log_hints_modal (line 181) | def test_should_render_account_log_hints_modal(self, db, client): method test_should_render_error_log_hints_modal (line 188) | def test_should_render_error_log_hints_modal(self, db, client): method test_should_render_account_chart_hints_modal (line 195) | def test_should_render_account_chart_hints_modal(self, db, client): class TestRadiusAccountDetailViews (line 203) | class TestRadiusAccountDetailViews: method test_should_render_account_detail_page (line 205) | def test_should_render_account_detail_page( method test_should_render_account_detail_modal (line 218) | def test_should_render_account_detail_modal( method test_account_detail_handles_empty_result (line 233) | def test_account_detail_handles_empty_result(self, mock_query_class, d... method test_with_custom_username (line 245) | def test_with_custom_username( class TestRadiusLogDetailViews (line 259) | class TestRadiusLogDetailViews: method test_should_render_log_detail_page (line 261) | def test_should_render_log_detail_page( method test_should_render_log_detail_modal (line 274) | def test_should_render_log_detail_modal( method test_log_detail_handles_empty_result (line 289) | def test_log_detail_handles_empty_result(self, mock_query_class, db, c... method test_log_detail_with_custom_message (line 300) | def test_log_detail_with_custom_message( function mock_account_detail_query (line 314) | def mock_account_detail_query(): function mock_log_detail_query (line 348) | def mock_log_detail_query(): FILE: tests/integration/web/seeddb_netbox_test.py class TestCheckConnectivityView (line 17) | class TestCheckConnectivityView: method _get_post_data (line 28) | def _get_post_data(ip_address: str = '', profiles=None): method test_given_no_address_it_should_return_error_response (line 34) | def test_given_no_address_it_should_return_error_response(self, client): method test_given_empty_address_it_should_return_error_response (line 40) | def test_given_empty_address_it_should_return_error_response(self, cli... method test_given_whitespace_only_ip_it_should_return_error_response (line 46) | def test_given_whitespace_only_ip_it_should_return_error_response(self... method test_given_no_profiles_parameter_it_should_return_error_response (line 52) | def test_given_no_profiles_parameter_it_should_return_error_response( method test_given_empty_profiles_list_it_should_return_error_response (line 61) | def test_given_empty_profiles_list_it_should_return_error_response( method test_given_valid_ipv4_address_it_should_return_loading_response (line 69) | def test_given_valid_ipv4_address_it_should_return_loading_response( method test_given_valid_ipv6_address_it_should_return_loading_response (line 84) | def test_given_valid_ipv6_address_it_should_return_loading_response( method test_given_malformed_ip_address_it_should_attempt_hostname_resolution (line 94) | def test_given_malformed_ip_address_it_should_attempt_hostname_resolut... method test_given_valid_hostname_then_return_sorted_ip_addresses (line 105) | def test_given_valid_hostname_then_return_sorted_ip_addresses( method test_given_hostname_with_mixed_ipv4_ipv6_then_return_sorted_addresses (line 121) | def test_given_hostname_with_mixed_ipv4_ipv6_then_return_sorted_addres... method test_given_socket_error_then_return_error_message (line 144) | def test_given_socket_error_then_return_error_message( method test_given_unknown_hostname_then_return_error_message (line 156) | def test_given_unknown_hostname_then_return_error_message(self, client): method test_given_unicode_error_then_return_error_message (line 167) | def test_given_unicode_error_then_return_error_message( class TestLoadConnectivityTestResultsView (line 181) | class TestLoadConnectivityTestResultsView: method _get_profile_from_response (line 185) | def _get_profile_from_response( method test_given_no_profile_ids_then_return_not_found_response (line 194) | def test_given_no_profile_ids_then_return_not_found_response( method test_given_non_existent_profiles_then_return_not_found_response (line 204) | def test_given_non_existent_profiles_then_return_not_found_response( method test_given_snmp_profile_then_set_sysname_and_netbox_type_in_response (line 218) | def test_given_snmp_profile_then_set_sysname_and_netbox_type_in_response( method test_given_snmp_profile_then_return_snmp_data (line 240) | def test_given_snmp_profile_then_return_snmp_data( method test_given_snmp_profile_with_failure_then_return_in_failed_section (line 266) | def test_given_snmp_profile_with_failure_then_return_in_failed_section( method test_given_napalm_profile_then_return_napalm_data (line 289) | def test_given_napalm_profile_then_return_napalm_data( method test_given_napalm_profile_with_exception_then_return_in_failed_section (line 308) | def test_given_napalm_profile_with_exception_then_return_in_failed_sec... method test_given_unhandled_profile_then_include_profile_in_failed_response (line 329) | def test_given_unhandled_profile_then_include_profile_in_failed_response( method test_given_multiple_profiles_then_return_all_profiles (line 350) | def test_given_multiple_profiles_then_return_all_profiles( class TestValidateIpAddressView (line 383) | class TestValidateIpAddressView: method test_given_valid_ipv4_it_should_return_200 (line 384) | def test_given_valid_ipv4_it_should_return_200(self, client, valid_ipv4): method test_given_valid_ipv6_it_should_return_200 (line 390) | def test_given_valid_ipv6_it_should_return_200(self, client, valid_ipv6): method test_given_invalid_address_it_should_return_400 (line 396) | def test_given_invalid_address_it_should_return_400(self, client): class TestGetSnmpReadOnlyVariables (line 403) | class TestGetSnmpReadOnlyVariables: method test_given_write_profile_then_call_write_test (line 407) | def test_given_write_profile_then_call_write_test( method test_given_read_profile_success_then_return_type_and_status (line 420) | def test_given_read_profile_success_then_return_type_and_status( method test_given_read_profile_failure_then_return_error_message (line 435) | def test_given_read_profile_failure_then_return_error_message( class TestSnmpWriteTest (line 449) | class TestSnmpWriteTest: method test_given_successful_write_then_return_success_status (line 453) | def test_given_successful_write_then_return_success_status( method test_given_snmp_error_then_return_failure_status (line 473) | def test_given_snmp_error_then_return_failure_status( method test_given_unicode_error_then_return_custom_error (line 488) | def test_given_unicode_error_then_return_custom_error( function netbox_type (line 507) | def netbox_type(): function valid_ipv4 (line 523) | def valid_ipv4(): function valid_ipv6 (line 528) | def valid_ipv6(): function invalid_hostname (line 533) | def invalid_hostname(): function snmp_profile (line 538) | def snmp_profile(): function snmp_write_profile (line 543) | def snmp_write_profile(): function napalm_profile (line 551) | def napalm_profile(): function unhandled_profile (line 556) | def unhandled_profile(): function create_profile (line 563) | def create_profile(name: str, protocol: int, write=False): FILE: tests/integration/web/status_test.py function test_set_and_get_default_status_filter_should_show_filter (line 15) | def test_set_and_get_default_status_filter_should_show_filter(client): function test_get_default_status_filter_should_show_filter_for_encoded_filter (line 36) | def test_get_default_status_filter_should_show_filter_for_encoded_filter( FILE: tests/integration/web/templatesyntax_test.py function test_templates_can_be_found (line 15) | def test_templates_can_be_found(): function test_alert_templates_can_be_found (line 20) | def test_alert_templates_can_be_found(): function get_template_list (line 25) | def get_template_list(directories=None): function get_nav_app_template_dirs (line 46) | def get_nav_app_template_dirs(): function test_template_syntax (line 66) | def test_template_syntax(template_name): FILE: tests/integration/web/threshold_test.py class TestThresholdModalView (line 5) | class TestThresholdModalView: method test_should_render_threshold_help_modal (line 6) | def test_should_render_threshold_help_modal(self, client): FILE: tests/integration/web/useradmin_test.py function test_operate_as_this_user_should_not_crash (line 4) | def test_operate_as_this_user_should_not_crash(db, client, admin_account): FILE: tests/integration/web/webfront_test.py function test_tools_should_be_readable (line 22) | def test_tools_should_be_readable(): function test_set_default_dashboard_should_succeed (line 28) | def test_set_default_dashboard_should_succeed(db, client, admin_account): function test_set_default_dashboard_with_previous_default_should_succeed (line 42) | def test_set_default_dashboard_with_previous_default_should_succeed( function test_when_setting_shared_dashboard_as_default_then_it_should_subscribe (line 60) | def test_when_setting_shared_dashboard_as_default_then_it_should_subscribe( function test_when_no_default_dashboard_set_then_it_should_set_needs_default_flag (line 77) | def test_when_no_default_dashboard_set_then_it_should_set_needs_default_... function test_when_setting_shared_default_then_it_should_toggle_subscribe_button (line 94) | def test_when_setting_shared_default_then_it_should_toggle_subscribe_but... class TestDeleteDashboardView (line 112) | class TestDeleteDashboardView: method test_given_dashboard_when_delete_unconfirmed_then_do_not_delete_dashboard (line 115) | def test_given_dashboard_when_delete_unconfirmed_then_do_not_delete_da... method test_given_dashboard_id_when_delete_unconfirmed_then_render_confirmation (line 131) | def test_given_dashboard_id_when_delete_unconfirmed_then_render_confir... method test_given_dashboard_with_subscribers_then_render_subscriber_warning (line 147) | def test_given_dashboard_with_subscribers_then_render_subscriber_warning( method test_given_dashboard_when_delete_confirmed_then_delete_dashboard (line 166) | def test_given_dashboard_when_delete_confirmed_then_delete_dashboard( method test_given_last_dashboard_of_account_then_render_error_message (line 181) | def test_given_last_dashboard_of_account_then_render_error_message( method test_given_default_dashboard_of_account_then_render_error_message (line 199) | def test_given_default_dashboard_of_account_then_render_error_message( method _create_dashboard (line 214) | def _create_dashboard(account, name="to_be_deleted", is_shared=False): function test_when_logging_in_it_should_change_the_session_id (line 222) | def test_when_logging_in_it_should_change_the_session_id( function test_non_expired_session_id_should_not_be_changed_on_request_unrelated_to_login (line 236) | def test_non_expired_session_id_should_not_be_changed_on_request_unrelat... function test_shows_password_issue_banner_on_own_password_issues (line 248) | def test_shows_password_issue_banner_on_own_password_issues(db, client): function test_shows_password_issue_banner_to_admins_on_other_users_password_issues (line 262) | def test_shows_password_issue_banner_to_admins_on_other_users_password_i... function test_show_qr_code_returns_fragment_with_qr_code (line 296) | def test_show_qr_code_returns_fragment_with_qr_code(client): function test_should_render_about_logging_modal (line 311) | def test_should_render_about_logging_modal(client): class TestDashboardIndexView (line 323) | class TestDashboardIndexView: method test_given_no_dashboard_id_then_return_default_dashboard (line 324) | def test_given_no_dashboard_id_then_return_default_dashboard( method test_given_valid_dashboard_id_then_return_that_dashboard (line 335) | def test_given_valid_dashboard_id_then_return_that_dashboard( method test_given_dashboard_id_that_does_not_exist_then_return_404 (line 346) | def test_given_dashboard_id_that_does_not_exist_then_return_404( method test_given_dashboard_id_for_other_account_when_shared_then_return_dashboard (line 355) | def test_given_dashboard_id_for_other_account_when_shared_then_return_... method test_given_dashboard_id_for_other_account_when_not_shared_then_return_404 (line 366) | def test_given_dashboard_id_for_other_account_when_not_shared_then_ret... method test_given_subscribed_dashboard_id_then_return_dashboard (line 378) | def test_given_subscribed_dashboard_id_then_return_dashboard( method test_given_subscribed_dashboard_id_then_return_is_subscribed (line 393) | def test_given_subscribed_dashboard_id_then_return_is_subscribed( method test_given_own_dashboard_id_then_return_can_edit_true (line 408) | def test_given_own_dashboard_id_then_return_can_edit_true( method test_given_other_account_dashboard_id_then_return_can_edit_false (line 419) | def test_given_other_account_dashboard_id_then_return_can_edit_false( method test_given_subscribed_dashboard_then_include_dashboard_in_response_list (line 430) | def test_given_subscribed_dashboard_then_include_dashboard_in_response... method test_given_shared_dashboard_id_when_not_subscribed_then_include_dashboard_last (line 447) | def test_given_shared_dashboard_id_when_not_subscribed_then_include_da... class TestToggleDashboardSubscriptionView (line 463) | class TestToggleDashboardSubscriptionView: method test_when_not_subscribed_then_subscribe (line 464) | def test_when_not_subscribed_then_subscribe( method test_when_subscribed_then_unsubscribe (line 474) | def test_when_subscribed_then_unsubscribe( method test_given_dashboard_that_does_not_exist_then_return_404 (line 488) | def test_given_dashboard_that_does_not_exist_then_return_404( method test_given_existing_dashboard_when_not_shared_then_return_404 (line 499) | def test_given_existing_dashboard_when_not_shared_then_return_404( method test_given_existing_shared_dashboard_id_then_return_refresh_header (line 511) | def test_given_existing_shared_dashboard_id_then_return_refresh_header( class TestToggleDashboardSharingView (line 527) | class TestToggleDashboardSharingView: method test_given_unshared_dashboard_it_should_toggle_is_shared (line 528) | def test_given_unshared_dashboard_it_should_toggle_is_shared( method test_given_shared_dashboard_it_should_toggle_is_shared (line 538) | def test_given_shared_dashboard_it_should_toggle_is_shared( method test_given_any_dashboard_when_is_shared_is_unchanged_it_should_do_nothing (line 548) | def test_given_any_dashboard_when_is_shared_is_unchanged_it_should_do_... method test_given_shared_dashboard_with_subscriptions_when_unsharing_it_should_remove_subscriptions (line 559) | def test_given_shared_dashboard_with_subscriptions_when_unsharing_it_s... method test_given_dashboard_that_does_not_exist_it_should_return_404 (line 574) | def test_given_dashboard_that_does_not_exist_it_should_return_404( method test_given_dashboard_of_other_account_it_should_return_404 (line 584) | def test_given_dashboard_of_other_account_it_should_return_404( method _post_toggle_shared (line 597) | def _post_toggle_shared(client: Client, dashboard_id: int, is_shared: ... class TestImportDashboardViews (line 604) | class TestImportDashboardViews: method _get_file_object (line 606) | def _get_file_object(data, name='test.json'): method test_should_render_import_dashboard_modal (line 613) | def test_should_render_import_dashboard_modal(self, client): method test_when_method_is_not_post_then_return_method_not_allowed (line 623) | def test_when_method_is_not_post_then_return_method_not_allowed(self, ... method test_when_user_is_without_permission_then_return_forbidden (line 630) | def test_when_user_is_without_permission_then_return_forbidden( method test_when_no_file_is_provided_then_return_error (line 638) | def test_when_no_file_is_provided_then_return_error(self, client): method test_given_a_valid_dashboard_file_then_create_dashboard (line 645) | def test_given_a_valid_dashboard_file_then_create_dashboard( method test_given_a_valid_dashboard_file_then_return_redirect_header (line 662) | def test_given_a_valid_dashboard_file_then_return_redirect_header( method test_given_dashboard_file_with_invalid_json_then_return_error (line 682) | def test_given_dashboard_file_with_invalid_json_then_return_error(self... method test_given_dashboard_file_with_missing_fields_then_return_error (line 695) | def test_given_dashboard_file_with_missing_fields_then_return_error(se... method test_given_widgets_with_invalid_column_numbers_then_return_error (line 710) | def test_given_widgets_with_invalid_column_numbers_then_return_error( method test_given_dashboard_file_with_wrong_field_types_then_return_error (line 737) | def test_given_dashboard_file_with_wrong_field_types_then_return_error( method test_given_dashboard_file_with_non_dictionary_data_then_return_error (line 756) | def test_given_dashboard_file_with_non_dictionary_data_then_return_error( method test_given_dashboard_file_with_invalid_widget_structure_then_return_error (line 770) | def test_given_dashboard_file_with_invalid_widget_structure_then_retur... method test_given_dashboard_file_with_widget_missing_required_fields_then_return_error (line 790) | def test_given_dashboard_file_with_widget_missing_required_fields_then... method test_given_dashboard_file_with_widget_wrong_field_types_then_return_error (line 813) | def test_given_dashboard_file_with_widget_wrong_field_types_then_retur... class TestExportDashboardView (line 836) | class TestExportDashboardView: method test_given_dashboard_id_when_account_is_owner_then_return_file (line 841) | def test_given_dashboard_id_when_account_is_owner_then_return_file( method test_given_shared_dashboard_id_when_account_is_not_owner_then_return_file (line 854) | def test_given_shared_dashboard_id_when_account_is_not_owner_then_retu... method test_given_unshared_dashboard_id_when_account_is_not_owner_then_return_404 (line 869) | def test_given_unshared_dashboard_id_when_account_is_not_owner_then_re... method test_given_dashboard_id_that_does_not_exist_then_return_404 (line 883) | def test_given_dashboard_id_that_does_not_exist_then_return_404(self, ... method test_exported_file_should_have_correct_headers (line 890) | def test_exported_file_should_have_correct_headers(self, db, client, a... class TestFindDashboardUtil (line 906) | class TestFindDashboardUtil: method test_given_no_dashboard_id_then_return_default_dashboard (line 912) | def test_given_no_dashboard_id_then_return_default_dashboard( method test_given_valid_dashboard_id_then_return_that_dashboard (line 921) | def test_given_valid_dashboard_id_then_return_that_dashboard( method test_given_dashboard_id_that_does_not_exist_then_return_404 (line 930) | def test_given_dashboard_id_that_does_not_exist_then_return_404( method test_given_no_dashboard_id_when_no_default_and_no_dashboards_then_return_404 (line 938) | def test_given_no_dashboard_id_when_no_default_and_no_dashboards_then_... method test_given_no_dashboard_id_then_returns_dashboard_with_most_widgets (line 947) | def test_given_no_dashboard_id_then_returns_dashboard_with_most_widgets( method test_given_dashboard_id_for_other_account_when_shared_then_return_dashboard (line 967) | def test_given_dashboard_id_for_other_account_when_shared_then_return_... method test_given_dashboard_id_for_other_account_when_not_shared_then_return_404 (line 977) | def test_given_dashboard_id_for_other_account_when_not_shared_then_ret... method test_given_own_dashboard_then_find_dashboard_sets_shared_by_other_to_false (line 988) | def test_given_own_dashboard_then_find_dashboard_sets_shared_by_other_... method test_given_dashboard_of_another_account_then_find_dashboard_sets_shared_by_other_to_true (line 996) | def test_given_dashboard_of_another_account_then_find_dashboard_sets_s... class TestGetDashboardsForAccount (line 1010) | class TestGetDashboardsForAccount: method test_given_account_then_return_all_own_dashboards (line 1016) | def test_given_account_then_return_all_own_dashboards(self, db, non_ad... method test_given_account_with_no_subscriptions_then_return_own_dashboards (line 1027) | def test_given_account_with_no_subscriptions_then_return_own_dashboards( method test_given_account_with_subscriptions_then_return_shared_dashboards (line 1042) | def test_given_account_with_subscriptions_then_return_shared_dashboards( method test_given_dashboard_subscription_then_shared_by_other_is_set_correctly (line 1060) | def test_given_dashboard_subscription_then_shared_by_other_is_set_corr... method test_given_dashboard_subscription_then_can_edit_is_set_correctly (line 1080) | def test_given_dashboard_subscription_then_can_edit_is_set_correctly( class TestDashboardSearchViews (line 1101) | class TestDashboardSearchViews: method test_should_render_search_dashboard_modal (line 1102) | def test_should_render_search_dashboard_modal(self, client): method test_given_dashboard_name_then_return_matching_dashboards (line 1112) | def test_given_dashboard_name_then_return_matching_dashboards( method test_given_account_name_then_return_matching_dashboards (line 1126) | def test_given_account_name_then_return_matching_dashboards( method test_given_account_login_then_return_matching_dashboards (line 1140) | def test_given_account_login_then_return_matching_dashboards( method test_given_empty_search_then_return_empty_list (line 1154) | def test_given_empty_search_then_return_empty_list( method test_given_empty_search_then_return_empty_template (line 1166) | def test_given_empty_search_then_return_empty_template( method test_given_no_matching_dashboards_then_return_empty_list (line 1179) | def test_given_no_matching_dashboards_then_return_empty_list( method test_given_dashboard_name_when_account_is_owner_then_return_empty_list (line 1191) | def test_given_dashboard_name_when_account_is_owner_then_return_empty_... method test_given_empty_result_then_return_no_dashboards_message (line 1206) | def test_given_empty_result_then_return_no_dashboards_message( class TestSaveDashboardColumns (line 1219) | class TestSaveDashboardColumns: method test_given_valid_column_count_then_it_should_update_dashboard (line 1220) | def test_given_valid_column_count_then_it_should_update_dashboard( method test_given_dashboard_that_does_not_exist_then_it_should_return_404 (line 1236) | def test_given_dashboard_that_does_not_exist_then_it_should_return_404( method test_given_dashboard_of_other_account_then_it_should_return_404 (line 1245) | def test_given_dashboard_of_other_account_then_it_should_return_404( method test_given_missing_num_columns_parameter_then_it_should_return_400 (line 1255) | def test_given_missing_num_columns_parameter_then_it_should_return_400( method test_given_non_digit_num_columns_then_it_should_return_400 (line 1265) | def test_given_non_digit_num_columns_then_it_should_return_400( method test_response_should_contain_nav_dashboard_reload_event (line 1276) | def test_response_should_contain_nav_dashboard_reload_event( class TestLoadDashboardView (line 1290) | class TestLoadDashboardView: method test_given_existing_dashboard_it_should_return_navlets_template (line 1291) | def test_given_existing_dashboard_it_should_return_navlets_template( method test_given_nonexistent_dashboard_it_should_return_404 (line 1304) | def test_given_nonexistent_dashboard_it_should_return_404( method test_given_other_users_private_dashboard_it_should_return_404 (line 1313) | def test_given_other_users_private_dashboard_it_should_return_404( method test_given_other_users_shared_dashboard_it_should_return_navlets (line 1324) | def test_given_other_users_shared_dashboard_it_should_return_navlets( method test_given_dashboard_with_compact_preference_it_should_add_collapse_class (line 1337) | def test_given_dashboard_with_compact_preference_it_should_add_collaps... method test_given_dashboard_with_no_widgets_it_should_show_empty_state (line 1351) | def test_given_dashboard_with_no_widgets_it_should_show_empty_state( method test_dashboard_load_should_contain_correct_number_of_columns (line 1363) | def test_dashboard_load_should_contain_correct_number_of_columns( method test_given_navlets_in_different_columns_it_should_distribute_them_correctly (line 1381) | def test_given_navlets_in_different_columns_it_should_distribute_them_... function create_dashboard (line 1406) | def create_dashboard(account, name="Test Dashboard", is_shared=False): function create_widget (line 1414) | def create_widget( function valid_dashboard_data (line 1427) | def valid_dashboard_data(admin_account): FILE: tests/integration/widget_test.py function test_roomstatus_should_not_fail_on_multiple_messages (line 14) | def test_roomstatus_should_not_fail_on_multiple_messages(alerthist_with_... function test_feedreader_widget_should_get_nav_blog_posts (line 29) | def test_feedreader_widget_should_get_nav_blog_posts(): function test_get_navlet_should_return_200 (line 36) | def test_get_navlet_should_return_200(client, admin_navlet): function test_get_pdu_navlet_in_edit_mode_should_return_200 (line 46) | def test_get_pdu_navlet_in_edit_mode_should_return_200(client, admin_acc... function test_get_navlet_with_invalid_id_should_return_404 (line 64) | def test_get_navlet_with_invalid_id_should_return_404(client): function test_given_navlet_belonging_to_other_account_when_shared_then_return_200 (line 71) | def test_given_navlet_belonging_to_other_account_when_shared_then_return... function test_given_navlet_belonging_to_other_account_when_not_shared_then_return_403 (line 92) | def test_given_navlet_belonging_to_other_account_when_not_shared_then_re... function test_given_navlet_id_when_navlet_type_is_invalid_then_return_error_widget (line 113) | def test_given_navlet_id_when_navlet_type_is_invalid_then_return_error_w... function test_given_htmx_request_with_non_existent_navlet_id_then_it_should_return_htmx_error_response (line 137) | def test_given_htmx_request_with_non_existent_navlet_id_then_it_should_r... function test_given_htmx_request_with_unauthorized_navlet_then_it_should_return_htmx_error_response (line 151) | def test_given_htmx_request_with_unauthorized_navlet_then_it_should_retu... function test_when_sudoer_requests_unauthorized_navlet_via_htmx_then_it_should_not_crash (line 175) | def test_when_sudoer_requests_unauthorized_navlet_via_htmx_then_it_shoul... function alerthist_with_two_messages (line 209) | def alerthist_with_two_messages(db, localhost): FILE: tests/setup_test_config.py function ensure_config_dir (line 32) | def ensure_config_dir() -> Path: function create_test_database (line 59) | def create_test_database() -> None: function _get_test_database_name (line 72) | def _get_test_database_name() -> str: function _write_db_conf (line 78) | def _write_db_conf(config_dir: Path) -> None: function _patch_nav_conf (line 95) | def _patch_nav_conf(config_dir: Path) -> None: function _patch_graphite_conf (line 113) | def _patch_graphite_conf(config_dir: Path) -> None: function _refresh_nav_config (line 123) | def _refresh_nav_config() -> None: function _load_test_data (line 130) | def _load_test_data() -> None: function _set_admin_password (line 136) | def _set_admin_password() -> None: FILE: tests/unittests/Snmp/Snmp_test.py class SnmpTestCase (line 9) | class SnmpTestCase(unittest.TestCase): method _patch_cleaning (line 10) | def _patch_cleaning(self, patched_sys_modules_to_modify): method _import (line 15) | def _import(self, implementation): class SnmpTestPynetsnmp (line 21) | class SnmpTestPynetsnmp(SnmpTestCase): method setUp (line 22) | def setUp(self): method tearDown (line 32) | def tearDown(self): method test_load_pynetsnmp_if_available_as_first_choice (line 37) | def test_load_pynetsnmp_if_available_as_first_choice(self): class OtherSnmpTests (line 48) | class OtherSnmpTests(SnmpTestCase): method test_raise_no_supported_snmp_backend_found_raised_if_no_snmp_libraries_are_available (line 49) | def test_raise_no_supported_snmp_backend_found_raised_if_no_snmp_libra... FILE: tests/unittests/Snmp/encodings_test.py class EncodingTests (line 6) | class EncodingTests(TestCase): method test_latin1_encoded_ifalias_should_be_properly_decoded (line 7) | def test_latin1_encoded_ifalias_should_be_properly_decoded(self): method test_utf_8_encoded_ifalias_should_be_properly_decoded (line 12) | def test_utf_8_encoded_ifalias_should_be_properly_decoded(self): method test_none_should_be_returned_unchanged (line 17) | def test_none_should_be_returned_unchanged(self): method test_unknown_encoding_should_not_raise_error (line 21) | def test_unknown_encoding_should_not_raise_error(self): method test_number_should_be_encoded (line 25) | def test_number_should_be_encoded(self): FILE: tests/unittests/Snmp/profile_test.py class TestGetSnmpSessionForProfile (line 24) | class TestGetSnmpSessionForProfile: method test_when_valid_snmpv2_profile_is_given_it_should_return_a_valid_snmp_partial (line 25) | def test_when_valid_snmpv2_profile_is_given_it_should_return_a_valid_s... method test_when_valid_snmpv3_profile_is_given_it_should_return_a_valid_snmp_partial (line 33) | def test_when_valid_snmpv3_profile_is_given_it_should_return_a_valid_s... method test_when_non_snmp_profile_is_given_it_should_raise_valueerror (line 47) | def test_when_non_snmp_profile_is_given_it_should_raise_valueerror(self): function mock_snmpv2_profile (line 54) | def mock_snmpv2_profile(): function mock_snmpv3_profile (line 65) | def mock_snmpv3_profile(): FILE: tests/unittests/alertengine/accountalertqueue_test.py class HandleQueuedAlertsTest (line 9) | class HandleQueuedAlertsTest(TestCase): method test_alert_should_not_be_ignored_on_invalid_subscription (line 10) | def test_alert_should_not_be_ignored_on_invalid_subscription(self): method test_alert_should_be_ignored_when_subscription_says_so (line 17) | def test_alert_should_be_ignored_when_subscription_says_so(self): FILE: tests/unittests/alertengine/base_test.py function test_calculate_timeperiod_start_should_detect_period_starting_yesterday (line 6) | def test_calculate_timeperiod_start_should_detect_period_starting_yester... function test_calculate_timeperiod_start_should_detect_period_starting_today (line 13) | def test_calculate_timeperiod_start_should_detect_period_starting_today(): FILE: tests/unittests/api/api_test.py function test_path_in_endpoints (line 7) | def test_path_in_endpoints(): function test_missing_slashes (line 14) | def test_missing_slashes(): function test_no_version (line 21) | def test_no_version(): function test_multiple_endpoints (line 28) | def test_multiple_endpoints(): function test_miss_on_multiple_endpoints (line 39) | def test_miss_on_multiple_endpoints(): function test_sub_endpoints (line 50) | def test_sub_endpoints(): FILE: tests/unittests/api/jwtpermission_test.py class TestIsPathInEndpoints (line 4) | class TestIsPathInEndpoints: method test_when_path_is_in_endpoints_then_it_should_return_true (line 5) | def test_when_path_is_in_endpoints_then_it_should_return_true(self): method test_when_path_is_not_in_endpoints_then_it_should_return_false (line 10) | def test_when_path_is_not_in_endpoints_then_it_should_return_false(self): method test_when_endpoint_matches_path_except_endpoint_lacks_trailing_slash_then_it_should_return_true (line 15) | def test_when_endpoint_matches_path_except_endpoint_lacks_trailing_sla... method test_when_endpoint_matches_path_except_path_lacks_version_then_it_should_return_true (line 22) | def test_when_endpoint_matches_path_except_path_lacks_version_then_it_... method test_when_path_is_in_list_with_multiple_endpoints_then_it_should_return_true (line 30) | def test_when_path_is_in_list_with_multiple_endpoints_then_it_should_r... method test_when_path_is_not_in_list_with_multiple_endpoints_then_it_should_return_false (line 42) | def test_when_path_is_not_in_list_with_multiple_endpoints_then_it_shou... method test_when_path_is_sub_endpoint_of_another_endpoint_then_it_should_return_true (line 54) | def test_when_path_is_sub_endpoint_of_another_endpoint_then_it_should_... FILE: tests/unittests/arnold/arnold_memo_test.py class ArnoldMemoTest (line 9) | class ArnoldMemoTest(unittest.TestCase): method setUp (line 12) | def setUp(self): method test_basic_store (line 16) | def test_basic_store(self, getmtime): method test_cache (line 22) | def test_cache(self, getmtime): method test_invalidate_cache (line 29) | def test_invalidate_cache(self, getmtime): method test_another_store (line 37) | def test_another_store(self, getmtime): FILE: tests/unittests/arnold/arnold_should_detain_test.py function test_should_detain_inexceptionlist (line 16) | def test_should_detain_inexceptionlist(mock_getconfig): function test_should_detain_wrongcatid (line 25) | def test_should_detain_wrongcatid(mock_getconfig, interface): function test_should_detain_blockontrunk (line 38) | def test_should_detain_blockontrunk(mock_getconfig, interface): function interface (line 50) | def interface(): FILE: tests/unittests/arnold/arnold_snmp_test.py class TestArnoldSnmp (line 11) | class TestArnoldSnmp(unittest.TestCase): method setUp (line 14) | def setUp(self): method create_interface_mock (line 25) | def create_interface_mock(self): method create_management_profile_mock (line 32) | def create_management_profile_mock(self): method create_netbox_mock (line 43) | def create_netbox_mock(self): method test_change_port_status_enable (line 51) | def test_change_port_status_enable(self, snmp): method test_change_port_status_disable (line 63) | def test_change_port_status_disable(self, snmp): FILE: tests/unittests/arnold/arnold_test.py class TestArnold (line 7) | class TestArnold(unittest.TestCase): method test_find_input_type (line 10) | def test_find_input_type(self): method test_typo_not_accepted (line 18) | def test_typo_not_accepted(self): method test_end_on_zero (line 23) | def test_end_on_zero(self): method test_ipv6 (line 28) | def test_ipv6(self): FILE: tests/unittests/asyncdns_test.py function test_forward_lookup_should_work_with_ipv4_results (line 9) | def test_forward_lookup_should_work_with_ipv4_results(): function test_forward_lookup_should_work_with_ipv6_results (line 21) | def test_forward_lookup_should_work_with_ipv6_results(): function test_forward_lookup_should_work_with_different_case_name_results (line 33) | def test_forward_lookup_should_work_with_different_case_name_results(): FILE: tests/unittests/buildconf_test.py class TestBuildconf (line 8) | class TestBuildconf(TestCase): method test_VERSION_can_be_imported (line 9) | def test_VERSION_can_be_imported(self): method test_VERSION_contains_dot (line 15) | def test_VERSION_contains_dot(self): FILE: tests/unittests/business/business_test.py class TestBusinessUtils (line 10) | class TestBusinessUtils(unittest.TestCase): method setUp (line 13) | def setUp(self): method test_full_availability (line 39) | def test_full_availability(self): method test_no_availability (line 46) | def test_no_availability(self): FILE: tests/unittests/config_test.py class TestConfigResourceWalk (line 7) | class TestConfigResourceWalk(TestCase): method test_should_read_relative_paths_as_strings_from_nav_package_and_return_a_long_list_of_strings (line 8) | def test_should_read_relative_paths_as_strings_from_nav_package_and_re... class TestNavConfigDir (line 19) | class TestNavConfigDir: method test_get_config_locations_should_include_nav_config_dir_first_when_set (line 20) | def test_get_config_locations_should_include_nav_config_dir_first_when... method test_get_config_locations_should_work_without_nav_config_dir (line 30) | def test_get_config_locations_should_work_without_nav_config_dir(self,... method test_find_config_file_should_find_file_in_nav_config_dir (line 42) | def test_find_config_file_should_find_file_in_nav_config_dir( method test_find_config_file_should_skip_permission_errors (line 58) | def test_find_config_file_should_skip_permission_errors( method test_when_all_config_locations_are_inaccessible_then_find_config_file_should_return_none (line 93) | def test_when_all_config_locations_are_inaccessible_then_find_config_f... FILE: tests/unittests/config_toml_test.py class TOMLConfigParserTest (line 6) | class TOMLConfigParserTest(TestCase): method test_merge_with_default_returns_the_combined_output (line 7) | def test_merge_with_default_returns_the_combined_output(self): method test_if_section_is_set_and_no_default_config_get_item_fetches_from_inputted_subdict (line 23) | def test_if_section_is_set_and_no_default_config_get_item_fetches_from... method test_if_section_is_set_and_no_input_get_item_fetches_from_default_subdict (line 33) | def test_if_section_is_set_and_no_input_get_item_fetches_from_default_... class MergeDictWithDefaults (line 47) | class MergeDictWithDefaults(TestCase): method test_golden_path (line 48) | def test_golden_path(self): method test_deeper_recursion (line 82) | def test_deeper_recursion(self): FILE: tests/unittests/dhcpstats/common_test.py class Path (line 21) | class Path: function path (line 66) | def path(request): class TestDhcpPath (line 70) | class TestDhcpPath: method test_to_graphite_path_should_return_expected_value (line 71) | def test_to_graphite_path_should_return_expected_value(self, path): method test_to_graphite_path_should_be_reversed_by_from_graphite_path (line 74) | def test_to_graphite_path_should_be_reversed_by_from_graphite_path(sel... method test_from_graphite_path_should_be_reversed_by_to_graphite_path (line 80) | def test_from_graphite_path_should_be_reversed_by_to_graphite_path(sel... method test_from_graphite_path_should_fail_on_ip_version_mismatch (line 97) | def test_from_graphite_path_should_fail_on_ip_version_mismatch(self, g... method test_from_graphite_path_should_fail_on_invalid_names (line 122) | def test_from_graphite_path_should_fail_on_invalid_names( method test_from_graphite_path_should_work_with_metric_path_for_dhcp (line 129) | def test_from_graphite_path_should_work_with_metric_path_for_dhcp(self): method test_from_external_info_should_work_when_given_valid_arguments (line 201) | def test_from_external_info_should_work_when_given_valid_arguments( method test_from_external_info_should_fail_when_given_invalid_arguments (line 272) | def test_from_external_info_should_fail_when_given_invalid_arguments( function test_group_paths_should_group_special_standalone_groups_paths_individually (line 284) | def test_group_paths_should_group_special_standalone_groups_paths_indivi... function test_group_paths_should_group_special_groups_paths_separately_from_custom_groups_paths (line 301) | def test_group_paths_should_group_special_groups_paths_separately_from_c... function test_group_paths_should_group_custom_groups_paths_together_when_only_ip_addresses_differ (line 329) | def test_group_paths_should_group_custom_groups_paths_together_when_only... function test_group_paths_should_group_custom_groups_paths_separately_when_other_than_ip_addresses_differ (line 366) | def test_group_paths_should_group_custom_groups_paths_separately_when_ot... function test_drop_groups_not_in_prefixes_should_work_as_expected (line 492) | def test_drop_groups_not_in_prefixes_should_work_as_expected( function test_fetch_paths_from_graphite_should_warn_when_paths_from_graphite_are_bad (line 538) | def test_fetch_paths_from_graphite_should_warn_when_paths_from_graphite_... function test_range_str_should_use_cidr_notation_when_possible (line 549) | def test_range_str_should_use_cidr_notation_when_possible(): function test_range_str_output_should_represent_inputs (line 562) | def test_range_str_output_should_represent_inputs(): function test_range_str_output_should_be_a_single_address_when_inputs_are_equal (line 581) | def test_range_str_output_should_be_a_single_address_when_inputs_are_equ... FILE: tests/unittests/dhcpstats/kea_dhcp_test.py class TestExpectedAPIResponses (line 22) | class TestExpectedAPIResponses: method test_fetch_stats_should_return_correct_stats (line 28) | def test_fetch_stats_should_return_correct_stats(self, valid_dhcp4, ap... method test_fetch_stats_should_only_have_recent_timestamps (line 49) | def test_fetch_stats_should_only_have_recent_timestamps( method test_fetch_stats_should_handle_empty_config_api_response (line 71) | def test_fetch_stats_should_handle_empty_config_api_response( method test_fetch_stats_should_handle_empty_statistic_in_statistics_api_response (line 91) | def test_fetch_stats_should_handle_empty_statistic_in_statistics_api_r... method test_fetch_stats_should_handle_empty_statistics_api_response (line 106) | def test_fetch_stats_should_handle_empty_statistics_api_response( method test_fetch_stats_should_raise_an_exception_on_http_error_response (line 126) | def test_fetch_stats_should_raise_an_exception_on_http_error_response( method test_fetch_stats_should_raise_an_exception_on_error_status_in_config_api_response (line 150) | def test_fetch_stats_should_raise_an_exception_on_error_status_in_conf... method test_fetch_stats_should_raise_an_exception_on_error_status_in_statistic_api_response (line 177) | def test_fetch_stats_should_raise_an_exception_on_error_status_in_stat... method test_fetch_stats_should_not_raise_an_exception_on_error_status_in_config_hash_api_response (line 204) | def test_fetch_stats_should_not_raise_an_exception_on_error_status_in_... method test_fetch_stats_should_check_and_warn_if_server_config_changed_during_call (line 220) | def test_fetch_stats_should_check_and_warn_if_server_config_changed_du... class TestUnexpectedAPIResponses (line 255) | class TestUnexpectedAPIResponses: method test_fetch_stats_should_raise_an_exception_on_unrecognizable_config_api_response (line 261) | def test_fetch_stats_should_raise_an_exception_on_unrecognizable_confi... method test_fetch_stats_should_raise_an_exception_on_unrecognizable_statistic_api_response (line 272) | def test_fetch_stats_should_raise_an_exception_on_unrecognizable_stati... method test_fetch_stats_should_not_raise_an_exception_on_unrecognizable_config_hash_api_response (line 283) | def test_fetch_stats_should_not_raise_an_exception_on_unrecognizable_c... class TestConfigCaching (line 297) | class TestConfigCaching: method test_fetch_kea_config_should_not_refetch_config_if_its_hash_is_unchanged (line 303) | def test_fetch_kea_config_should_not_refetch_config_if_its_hash_is_unc... method test_fetch_kea_config_should_refetch_config_if_its_hash_is_changed (line 323) | def test_fetch_kea_config_should_refetch_config_if_its_hash_is_changed( method test_fetch_kea_config_should_refetch_config_if_its_hash_is_missing (line 343) | def test_fetch_kea_config_should_refetch_config_if_its_hash_is_missing( method test_fetch_kea_config_should_refetch_config_if_config_hash_is_unsupported (line 361) | def test_fetch_kea_config_should_refetch_config_if_config_hash_is_unsu... class TestHTTPSession (line 378) | class TestHTTPSession: method test_fetch_stats_should_warn_if_using_http (line 383) | def test_fetch_stats_should_warn_if_using_http(self, valid_dhcp4, api_... method test_fetch_stats_should_warn_if_using_http_basic_auth_with_http (line 400) | def test_fetch_stats_should_warn_if_using_http_basic_auth_with_http( method test_fetch_stats_should_error_if_using_client_certificate_with_http (line 422) | def test_fetch_stats_should_error_if_using_client_certificate_with_http( method test_fetch_stats_should_use_http_basic_auth_when_this_is_configured (line 440) | def test_fetch_stats_should_use_http_basic_auth_when_this_is_configured( method test_fetch_stats_should_use_client_certificates_when_this_is_configured (line 472) | def test_fetch_stats_should_use_client_certificates_when_this_is_confi... function valid_dhcp4 (line 508) | def valid_dhcp4(): function make_api_response (line 862) | def make_api_response(val: dict, status: _KeaStatus = _KeaStatus.SUCCESS): function api_mock (line 878) | def api_mock(monkeypatch): FILE: tests/unittests/django/aliases_field_test.py class TestAliasListFieldClean (line 15) | class TestAliasListFieldClean: method test_when_value_is_none_then_it_should_return_empty_list (line 16) | def test_when_value_is_none_then_it_should_return_empty_list(self): method test_when_value_is_empty_list_then_it_should_return_empty_list (line 20) | def test_when_value_is_empty_list_then_it_should_return_empty_list(self): method test_when_value_has_strings_then_it_should_return_them (line 24) | def test_when_value_has_strings_then_it_should_return_them(self): method test_when_value_has_whitespace_then_it_should_strip (line 28) | def test_when_value_has_whitespace_then_it_should_strip(self): method test_when_value_has_empty_strings_then_it_should_remove_them (line 32) | def test_when_value_has_empty_strings_then_it_should_remove_them(self): method test_when_value_has_duplicates_then_it_should_deduplicate (line 36) | def test_when_value_has_duplicates_then_it_should_deduplicate(self): method test_when_value_has_non_string_then_it_should_raise_validation_error (line 40) | def test_when_value_has_non_string_then_it_should_raise_validation_err... method test_when_alias_exceeds_max_length_then_it_should_raise_validation_error (line 45) | def test_when_alias_exceeds_max_length_then_it_should_raise_validation... method test_when_alias_contains_pipe_then_it_should_raise_validation_error (line 51) | def test_when_alias_contains_pipe_then_it_should_raise_validation_erro... class TestAliasListWidgetValueFromDatadict (line 57) | class TestAliasListWidgetValueFromDatadict: method test_when_data_has_json_then_it_should_return_list (line 58) | def test_when_data_has_json_then_it_should_return_list(self): method test_when_data_has_no_json_then_it_should_return_empty_list (line 64) | def test_when_data_has_no_json_then_it_should_return_empty_list(self): method test_when_data_has_invalid_json_then_it_should_return_empty_list (line 69) | def test_when_data_has_invalid_json_then_it_should_return_empty_list(s... method test_when_data_has_non_list_json_then_it_should_return_empty_list (line 75) | def test_when_data_has_non_list_json_then_it_should_return_empty_list(... class TestAliasListFieldPrepareValue (line 82) | class TestAliasListFieldPrepareValue: method test_when_value_is_list_then_it_should_return_it (line 83) | def test_when_value_is_list_then_it_should_return_it(self): method test_when_value_is_json_string_then_it_should_parse (line 87) | def test_when_value_is_json_string_then_it_should_parse(self): method test_when_value_is_none_then_it_should_return_empty_list (line 91) | def test_when_value_is_none_then_it_should_return_empty_list(self): class TestValidateAliases (line 96) | class TestValidateAliases: method test_when_value_is_none_then_it_should_return_empty_list (line 97) | def test_when_value_is_none_then_it_should_return_empty_list(self): method test_when_value_is_empty_list_then_it_should_return_empty_list (line 100) | def test_when_value_is_empty_list_then_it_should_return_empty_list(self): method test_when_value_has_strings_then_it_should_return_them (line 103) | def test_when_value_has_strings_then_it_should_return_them(self): method test_when_value_has_whitespace_then_it_should_strip (line 106) | def test_when_value_has_whitespace_then_it_should_strip(self): method test_when_value_has_empty_strings_then_it_should_remove_them (line 109) | def test_when_value_has_empty_strings_then_it_should_remove_them(self): method test_when_value_has_duplicates_then_it_should_deduplicate (line 112) | def test_when_value_has_duplicates_then_it_should_deduplicate(self): method test_when_value_has_non_string_then_it_should_raise_validation_error (line 115) | def test_when_value_has_non_string_then_it_should_raise_validation_err... method test_when_alias_exceeds_max_length_then_it_should_raise_validation_error (line 119) | def test_when_alias_exceeds_max_length_then_it_should_raise_validation... method test_when_alias_contains_pipe_then_it_should_raise_validation_error (line 124) | def test_when_alias_contains_pipe_then_it_should_raise_validation_erro... FILE: tests/unittests/django/filter_test.py function reporter_filter (line 9) | def reporter_filter(): class TestNAVExceptionReporterFilter (line 13) | class TestNAVExceptionReporterFilter: method test_when_sensitive_post_parameters_not_used_then_password_should_still_be_masked (line 16) | def test_when_sensitive_post_parameters_not_used_then_password_should_... method test_password_like_post_fields_should_be_masked (line 26) | def test_password_like_post_fields_should_be_masked(self, reporter_fil... method test_non_password_fields_should_pass_through (line 40) | def test_non_password_fields_should_pass_through(self, reporter_filter): method test_when_sensitive_post_parameters_set_password_it_should_still_be_masked (line 48) | def test_when_sensitive_post_parameters_set_password_it_should_still_b... FILE: tests/unittests/django/formats_test.py class TestDateFormatSpecifiers (line 11) | class TestDateFormatSpecifiers: method test_when_l10n_active_datetime_format_should_be_iso (line 14) | def test_when_l10n_active_datetime_format_should_be_iso(self): method test_when_l10n_active_date_format_should_be_iso (line 17) | def test_when_l10n_active_date_format_should_be_iso(self): method test_when_l10n_active_short_datetime_format_should_be_iso (line 20) | def test_when_l10n_active_short_datetime_format_should_be_iso(self): method test_when_l10n_active_time_format_should_be_24h (line 23) | def test_when_l10n_active_time_format_should_be_24h(self): class TestRenderedDateOutput (line 27) | class TestRenderedDateOutput: method _render (line 30) | def _render(self, format_name): method test_when_rendering_datetime_format_should_produce_iso_string (line 34) | def test_when_rendering_datetime_format_should_produce_iso_string(self): method test_when_rendering_date_format_should_produce_iso_string (line 37) | def test_when_rendering_date_format_should_produce_iso_string(self): method test_when_rendering_short_datetime_format_should_produce_iso_string (line 40) | def test_when_rendering_short_datetime_format_should_produce_iso_strin... method test_when_rendering_time_format_should_produce_24h_string (line 43) | def test_when_rendering_time_format_should_produce_24h_string(self): FILE: tests/unittests/django/forms_test.py class JSONWidgetTest (line 7) | class JSONWidgetTest(TestCase): method test_render_empty_value (line 8) | def test_render_empty_value(self): method test_render_good_value (line 21) | def test_render_good_value(self): FILE: tests/unittests/django/settings_test.py class TestSuppress503 (line 6) | class TestSuppress503: method test_when_status_code_is_503_it_should_reject_record (line 7) | def test_when_status_code_is_503_it_should_reject_record(self): method test_when_status_code_is_500_it_should_accept_record (line 13) | def test_when_status_code_is_500_it_should_accept_record(self): method test_when_no_status_code_it_should_accept_record (line 19) | def test_when_no_status_code_it_should_accept_record(self): FILE: tests/unittests/django/templatetags/info_test.py class DummyObject (line 14) | class DummyObject(object): method __init__ (line 15) | def __init__(self): class AnotherDummyObject (line 20) | class AnotherDummyObject(object): method __init__ (line 21) | def __init__(self): class TemplateTagsTest (line 25) | class TemplateTagsTest(unittest.TestCase): method setUp (line 26) | def setUp(self): method test_time_since (line 29) | def test_time_since(self): method test_is_max_timestamp (line 45) | def test_is_max_timestamp(self): method test_get_attr_basic_lookup (line 49) | def test_get_attr_basic_lookup(self): method test_get_attr_chained_lookup (line 58) | def test_get_attr_chained_lookup(self): method test_get_attr_chained_lookup_error (line 63) | def test_get_attr_chained_lookup_error(self): method test_find_attr_basic_lookup (line 68) | def test_find_attr_basic_lookup(self): method test_find_attr_chained_lookup (line 75) | def test_find_attr_chained_lookup(self): method test_find_attr_error_lookup (line 80) | def test_find_attr_error_lookup(self): method test_find_attr_chained_error_lookup (line 85) | def test_find_attr_chained_error_lookup(self): method test_find_attr_middle_chained_error_lookup (line 90) | def test_find_attr_middle_chained_error_lookup(self): class HighlightFilterTest (line 96) | class HighlightFilterTest(unittest.TestCase): method test_when_query_matches_then_it_should_wrap_in_mark_tags (line 97) | def test_when_query_matches_then_it_should_wrap_in_mark_tags(self): method test_when_match_is_case_insensitive_then_it_should_preserve_case (line 100) | def test_when_match_is_case_insensitive_then_it_should_preserve_case(s... method test_when_query_does_not_match_then_it_should_return_escaped_text (line 103) | def test_when_query_does_not_match_then_it_should_return_escaped_text(... method test_when_text_contains_html_then_it_should_escape_it (line 106) | def test_when_text_contains_html_then_it_should_escape_it(self): method test_when_query_is_empty_then_it_should_return_text_unchanged (line 111) | def test_when_query_is_empty_then_it_should_return_text_unchanged(self): method test_when_query_has_multiple_matches_then_it_should_highlight_all (line 114) | def test_when_query_has_multiple_matches_then_it_should_highlight_all(... FILE: tests/unittests/django/templatetags/popover_test.py class TestConfirmPopover (line 9) | class TestConfirmPopover: method test_when_minimal_params_then_it_should_render_correctly (line 12) | def test_when_minimal_params_then_it_should_render_correctly(self): method test_when_custom_title_then_it_should_render_title (line 34) | def test_when_custom_title_then_it_should_render_title(self): method test_when_custom_button_text_then_it_should_render_button_text (line 44) | def test_when_custom_button_text_then_it_should_render_button_text(self): method test_when_trigger_text_then_it_should_pass_trigger_text_to_context (line 55) | def test_when_trigger_text_then_it_should_pass_trigger_text_to_context... method test_when_param_set_then_it_should_render_in_output (line 76) | def test_when_param_set_then_it_should_render_in_output( method test_when_variable_id_then_it_should_resolve_variable (line 88) | def test_when_variable_id_then_it_should_resolve_variable(self): class TestPopoverCloseButton (line 101) | class TestPopoverCloseButton: method test_when_minimal_params_then_it_should_render_defaults (line 104) | def test_when_minimal_params_then_it_should_render_defaults(self): method test_when_custom_text_then_it_should_render_text (line 112) | def test_when_custom_text_then_it_should_render_text(self): method test_when_custom_classes_then_it_should_include_classes (line 118) | def test_when_custom_classes_then_it_should_include_classes(self): class TestPopoverBlockTag (line 127) | class TestPopoverBlockTag: method test_when_basic_usage_then_it_should_render_correctly (line 130) | def test_when_basic_usage_then_it_should_render_correctly(self): method test_when_trigger_element_a_then_it_should_render_anchor (line 148) | def test_when_trigger_element_a_then_it_should_render_anchor(self): method test_when_title_then_it_should_render_header (line 161) | def test_when_title_then_it_should_render_header(self): method test_when_no_arrow_then_it_should_not_have_arrow_class (line 172) | def test_when_no_arrow_then_it_should_not_have_arrow_class(self): method test_when_param_set_then_it_should_render_in_output (line 191) | def test_when_param_set_then_it_should_render_in_output(self, params, ... method test_when_variable_params_then_it_should_resolve_variables (line 202) | def test_when_variable_params_then_it_should_resolve_variables(self): method test_when_missing_popover_id_then_it_should_raise_error (line 225) | def test_when_missing_popover_id_then_it_should_raise_error(self): method test_when_missing_trigger_text_then_it_should_raise_error (line 235) | def test_when_missing_trigger_text_then_it_should_raise_error(self): method test_when_trigger_text_contains_html_then_it_should_escape (line 245) | def test_when_trigger_text_contains_html_then_it_should_escape(self): method test_when_title_contains_html_then_it_should_escape (line 259) | def test_when_title_contains_html_then_it_should_escape(self): method test_when_invalid_trigger_element_then_it_should_raise_error (line 273) | def test_when_invalid_trigger_element_then_it_should_raise_error(self): method test_when_invalid_side_then_it_should_raise_error (line 285) | def test_when_invalid_side_then_it_should_raise_error(self): method test_when_invalid_align_then_it_should_raise_error (line 296) | def test_when_invalid_align_then_it_should_raise_error(self): FILE: tests/unittests/django/templatetags/string_manipulation_test.py class DeepUrlizeTest (line 6) | class DeepUrlizeTest(unittest.TestCase): method test_deep_urlize_noturl (line 7) | def test_deep_urlize_noturl(self): method test_deep_urlize_correct_url (line 12) | def test_deep_urlize_correct_url(self): FILE: tests/unittests/django/utils_test.py function test_verbose_name (line 19) | def test_verbose_name(): function test_reverse_with_query_should_work_with_unicode (line 27) | def test_reverse_with_query_should_work_with_unicode(): class TestPFormatRequest (line 32) | class TestPFormatRequest(TestCase): method test_should_log_more_lines_than_there_are_attributes_in_request (line 33) | def test_should_log_more_lines_than_there_are_attributes_in_request( method test_should_log_nothing_for_nonexistent_attribute (line 43) | def test_should_log_nothing_for_nonexistent_attribute(self): method test_should_log_one_line_for_content_type (line 50) | def test_should_log_one_line_for_content_type(self): class TestGetValidOSVersion (line 58) | class TestGetValidOSVersion(TestCase): method test_given_linux_os_returns_pretty_print_version (line 59) | def test_given_linux_os_returns_pretty_print_version(self): method test_given_mac_os_returns_pretty_print_version (line 66) | def test_given_mac_os_returns_pretty_print_version(self): method test_given_windows_os_returns_pretty_print_version (line 73) | def test_given_windows_os_returns_pretty_print_version(self): method test_given_freebsd_os_returns_pretty_print_version (line 81) | def test_given_freebsd_os_returns_pretty_print_version(self): FILE: tests/unittests/django/validators_test.py class TestValidPointString (line 9) | class TestValidPointString(object): method test_valid_point_string (line 10) | def test_valid_point_string(self): method test_valid_point_parens_and_sapce (line 14) | def test_valid_point_parens_and_sapce(self): method test_valid_point_no_parens (line 18) | def test_valid_point_no_parens(self): method test_valid_point_no_parens_and_space (line 22) | def test_valid_point_no_parens_and_space(self): method test_valid_point_no_comma (line 26) | def test_valid_point_no_comma(self): method test_valid_point_chars (line 30) | def test_valid_point_chars(self): class TestValidHStoreField (line 35) | class TestValidHStoreField(object): method test_empty_hstore_field (line 36) | def test_empty_hstore_field(self): method test_non_dict (line 42) | def test_non_dict(self): method test_bytes_json (line 48) | def test_bytes_json(self): method test_good_json (line 53) | def test_good_json(self): FILE: tests/unittests/eventengine/alerts_test.py class MockedAlertGenerator (line 8) | class MockedAlertGenerator(AlertGenerator): method get_alert_type (line 9) | def get_alert_type(self): method _find_existing_alert_history (line 12) | def _find_existing_alert_history(self): class AlertFromEventBase (line 16) | class AlertFromEventBase(TestCase): method setUp (line 17) | def setUp(self): class AlertFromEventTests (line 31) | class AlertFromEventTests(AlertFromEventBase): method test_alert_from_event_copies_attributes (line 32) | def test_alert_from_event_copies_attributes(self): method test_alert_from_event_copies_variables (line 44) | def test_alert_from_event_copies_variables(self): class AlertHistoryFromEventTests (line 51) | class AlertHistoryFromEventTests(AlertFromEventBase): method test_alerthist_from_event_copies_attributes (line 52) | def test_alerthist_from_event_copies_attributes(self): method test_should_not_create_alerthist_from_end_event (line 64) | def test_should_not_create_alerthist_from_end_event(self): FILE: tests/unittests/eventengine/engine_test.py class TestHasOverdueCallbacks (line 12) | class TestHasOverdueCallbacks: method test_when_queue_is_empty_it_should_return_false (line 13) | def test_when_queue_is_empty_it_should_return_false(self, engine): method test_when_entry_is_in_future_it_should_return_false (line 16) | def test_when_entry_is_in_future_it_should_return_false(self, engine): method test_when_entry_is_past_due_it_should_return_true (line 20) | def test_when_entry_is_past_due_it_should_return_true(self, engine): class TestLoadNewEventsYieldBehavior (line 27) | class TestLoadNewEventsYieldBehavior: method test_when_nothing_is_overdue_then_load_new_events_should_process_all_events (line 31) | def test_when_nothing_is_overdue_then_load_new_events_should_process_a... method test_when_callbacks_are_overdue_then_load_new_events_should_break_early (line 49) | def test_when_callbacks_are_overdue_then_load_new_events_should_break_... method test_when_resumed_after_yield_then_load_new_events_should_process_remaining (line 71) | def test_when_resumed_after_yield_then_load_new_events_should_process_... function engine (line 110) | def engine(): function _make_fake_event (line 116) | def _make_fake_event(event_id, event_type_id="boxState"): FILE: tests/unittests/eventengine/plugin_test.py class _EmptyHandler (line 11) | class _EmptyHandler(EventHandler): function test_can_handle_should_return_true_by_default (line 15) | def test_can_handle_should_return_true_by_default(): class _BoxStateHandler (line 19) | class _BoxStateHandler(EventHandler): function test_handler_should_raise_on_unsupported_event (line 23) | def test_handler_should_raise_on_unsupported_event(): function test_handler_should_construct_fine_on_supported_event (line 30) | def test_handler_should_construct_fine_on_supported_event(): function test_find_package_modules_is_list (line 36) | def test_find_package_modules_is_list(): function test_boxstate_plugin_should_be_found (line 42) | def test_boxstate_plugin_should_be_found(): function test_delayedhandler_sets_timeouts_from_config (line 49) | def test_delayedhandler_sets_timeouts_from_config(): FILE: tests/unittests/eventengine/severity_test.py class TestThatSeverity (line 12) | class TestThatSeverity: method test_should_never_instantiate_to_higher_than_5 (line 13) | def test_should_never_instantiate_to_higher_than_5(self): method test_should_never_instantiate_to_lower_than_1 (line 16) | def test_should_never_instantiate_to_lower_than_1(self): method test_should_retain_all_values_from_1_to_5 (line 21) | def test_should_retain_all_values_from_1_to_5(self, value): method test_should_not_add_to_values_above_5 (line 24) | def test_should_not_add_to_values_above_5(self): method test_should_not_subtract_to_values_below_1 (line 27) | def test_should_not_subtract_to_values_below_1(self): class TestThatSeverityParser (line 31) | class TestThatSeverityParser: method test_should_return_original_severity_on_empty_ruleset (line 34) | def test_should_return_original_severity_on_empty_ruleset(self): method test_should_load_simple_ruleset_without_error (line 40) | def test_should_load_simple_ruleset_without_error(self, simple_severit... method test_should_parse_default_severity_correctly (line 43) | def test_should_parse_default_severity_correctly(self, simple_severity... method test_should_find_perfectly_cromulent_rule (line 49) | def test_should_find_perfectly_cromulent_rule(self, simple_severity_ru... method test_should_parse_nested_rule_correctly (line 58) | def test_should_parse_nested_rule_correctly(self, nested_severity_rule... method test_should_parse_compound_rule_correctly (line 68) | def test_should_parse_compound_rule_correctly(self, nested_severity_ru... method test_should_return_modifiers_that_take_int_and_return_int (line 78) | def test_should_return_modifiers_that_take_int_and_return_int( class TestThatModifierParser (line 92) | class TestThatModifierParser: method test_should_parse_int_correctly (line 95) | def test_should_parse_int_correctly(self): method test_should_parse_subtraction_correctly (line 99) | def test_should_parse_subtraction_correctly(self): method test_should_parse_addition_correctly (line 103) | def test_should_parse_addition_correctly(self): method should_raise_value_error_on_invalid_value (line 107) | def should_raise_value_error_on_invalid_value(self): class TestThatSeverityRules (line 112) | class TestThatSeverityRules: method test_should_translate_ruleset_without_errors (line 115) | def test_should_translate_ruleset_without_errors( method test_should_set_default_severity (line 120) | def test_should_set_default_severity(self, simple_severity_ruleset_sou... method test_should_add_to_severity_for_simple_rule (line 125) | def test_should_add_to_severity_for_simple_rule( method test_should_add_to_severity_for_nested_rule (line 133) | def test_should_add_to_severity_for_nested_rule( method test_should_properly_set_severity_based_on_nested_attributes (line 142) | def test_should_properly_set_severity_based_on_nested_attributes( method test_should_reset_severity_according_to_rule (line 152) | def test_should_reset_severity_according_to_rule( method test_should_evaluate_to_single_rule_on_empty_rulesets (line 161) | def test_should_evaluate_to_single_rule_on_empty_rulesets( method test_should_return_original_severity_when_no_default_is_set (line 168) | def test_should_return_original_severity_when_no_default_is_set( method test_should_ignore_broken_rules (line 176) | def test_should_ignore_broken_rules(self, broken_ruleset_source): function simple_severity_ruleset (line 191) | def simple_severity_ruleset(simple_severity_ruleset_source): function simple_severity_ruleset_source (line 196) | def simple_severity_ruleset_source(): function nested_severity_ruleset (line 207) | def nested_severity_ruleset(nested_severity_ruleset_source): function nested_severity_ruleset_source (line 212) | def nested_severity_ruleset_source(): function empty_ruleset_source (line 232) | def empty_ruleset_source(): function broken_ruleset_source (line 239) | def broken_ruleset_source(): FILE: tests/unittests/general/bitvector_test.py class BitVectorTestCase (line 21) | class BitVectorTestCase(unittest.TestCase): method setUp (line 24) | def setUp(self): method test_unmodified_vector_size (line 31) | def test_unmodified_vector_size(self): method test_modified_vector_size (line 34) | def test_modified_vector_size(self): method test_individual_modified_bits (line 37) | def test_individual_modified_bits(self): method test_modified_string (line 41) | def test_modified_string(self): method test_modified_binary_string (line 44) | def test_modified_binary_string(self): method test_unmodified_binary_string (line 50) | def test_unmodified_binary_string(self): FILE: tests/unittests/general/bulkparse_test.py class TestBulkParser (line 8) | class TestBulkParser(object): method test_init (line 9) | def test_init(self): method test_overriden_validator (line 14) | def test_overriden_validator(self): class TestNetboxBulkParser (line 34) | class TestNetboxBulkParser(object): method test_parse_returns_iterator (line 35) | def test_parse_returns_iterator(self): method test_parse_single_line_should_yield_value (line 40) | def test_parse_single_line_should_yield_value(self): method test_parse_single_line_yields_columns (line 46) | def test_parse_single_line_yields_columns(self): method test_get_header (line 62) | def test_get_header(self): method test_two_rows_returned_with_empty_lines_in_input (line 68) | def test_two_rows_returned_with_empty_lines_in_input(self): method test_three_lines_with_two_rows_should_be_counted_as_three (line 78) | def test_three_lines_with_two_rows_should_be_counted_as_three(self): method test_short_line_should_raise_error (line 88) | def test_short_line_should_raise_error(self): method test_invalid_ip_should_raise_error (line 94) | def test_invalid_ip_should_raise_error(self): method test_when_ip_has_trailing_whitespace_it_should_be_stripped (line 100) | def test_when_ip_has_trailing_whitespace_it_should_be_stripped(self): method test_short_line_should_raise_error_with_correct_details (line 106) | def test_short_line_should_raise_error_with_correct_details(self): class TestManagementProfileBulkParser (line 118) | class TestManagementProfileBulkParser(object): method test_configuration_should_be_parsed (line 119) | def test_configuration_should_be_parsed(self): class TestUsageBulkParser (line 128) | class TestUsageBulkParser(object): method test_get_header (line 129) | def test_get_header(self): method test_leading_comments_should_be_stripped (line 132) | def test_leading_comments_should_be_stripped(self): class TestPrefixBulkParser (line 139) | class TestPrefixBulkParser(object): method test_invalid_prefix_should_raise_error (line 140) | def test_invalid_prefix_should_raise_error(self): method test_valid_prefix_should_not_raise_error (line 146) | def test_valid_prefix_should_not_raise_error(self): class TestServiceBulkParser (line 152) | class TestServiceBulkParser(object): method test_invalid_service_arguments_should_raise_error (line 153) | def test_invalid_service_arguments_should_raise_error(self): method test_valid_service_arguments_should_not_raise_error (line 159) | def test_valid_service_arguments_should_not_raise_error(self): class TestCommentStripper (line 165) | class TestCommentStripper(object): method test_leading_comment_should_be_stripped (line 166) | def test_leading_comment_should_be_stripped(self): method test_suffix_comment_should_be_stripped (line 172) | def test_suffix_comment_should_be_stripped(self): class TestHeaderGenerator (line 179) | class TestHeaderGenerator(object): method test_simple (line 180) | def test_simple(self): method test_one_optional (line 187) | def test_one_optional(self): method test_two_optional (line 194) | def test_two_optional(self): method test_optional_with_restkey (line 201) | def test_optional_with_restkey(self): method test_two_required_plus_restkey (line 209) | def test_two_required_plus_restkey(self): method test_two_required_plus_restkey_format (line 217) | def test_two_required_plus_restkey_format(self): FILE: tests/unittests/general/config_test.py function mockfile (line 26) | def mockfile(): function mockinifile (line 42) | def mockinifile(): function test_read_flat_config (line 59) | def test_read_flat_config(mockfile): function test_getconfig (line 67) | def test_getconfig(mockinifile): class TestListConfigFiles (line 79) | class TestListConfigFiles: method test_should_not_include_other_fileendings (line 87) | def test_should_not_include_other_fileendings(self, create_files): method test_should_not_include_dot_files (line 98) | def test_should_not_include_dot_files(self, create_files): method test_should_be_sorted_alphabetically (line 118) | def test_should_be_sorted_alphabetically(self, create_files): function create_files (line 137) | def create_files(request): FILE: tests/unittests/general/conftest.py class FakeSession (line 4) | class FakeSession(dict): method set_expiry (line 5) | def set_expiry(self, *_): method save (line 8) | def save(self, *_): method cycle_key (line 11) | def cycle_key(self, *_): method flush (line 14) | def flush(self): function fake_session (line 19) | def fake_session(): FILE: tests/unittests/general/daemon_test.py function test_daemonexit_should_pass_on_unexpected_exceptions (line 11) | def test_daemonexit_should_pass_on_unexpected_exceptions(): function test_daemonexit_should_ignore_nonexistent_pidfile (line 21) | def test_daemonexit_should_ignore_nonexistent_pidfile(): function test_daemonexit_should_raise_pidfilewriteerror_on_other_os_errors (line 25) | def test_daemonexit_should_raise_pidfilewriteerror_on_other_os_errors(): function random_filename (line 36) | def random_filename(): FILE: tests/unittests/general/logengine_test.py class _MockDatetime (line 14) | class _MockDatetime(datetime.datetime): method astimezone (line 19) | def astimezone(self, tz=None): function utc_timezone (line 26) | def utc_timezone(): function loglines (line 36) | def loglines(): function test_parse_without_exceptions (line 58) | def test_parse_without_exceptions(loglines): function test_insert (line 67) | def test_insert(loglines): function test_swallow_generic_exceptions (line 81) | def test_swallow_generic_exceptions(): function test_raise_db_exception (line 89) | def test_raise_db_exception(): function test_non_failing_function_should_run_fine (line 100) | def test_non_failing_function_should_run_fine(): class TestParsing (line 109) | class TestParsing(object): method test_should_parse_without_exception (line 119) | def test_should_parse_without_exception(self): method test_should_parse_timestamp_correctly (line 122) | def test_should_parse_timestamp_correctly(self): method test_should_parse_facility_correctly (line 126) | def test_should_parse_facility_correctly(self): method test_should_parse_priority_correctly (line 130) | def test_should_parse_priority_correctly(self): method test_should_parse_mnemonic_correctly (line 134) | def test_should_parse_mnemonic_correctly(self): method test_should_parse_description_correctly (line 138) | def test_should_parse_description_correctly(self): class TestParseMessageWithStrangeGarbage (line 143) | class TestParseMessageWithStrangeGarbage(TestParsing): class TestParseMessageEndingWithColon (line 153) | class TestParseMessageEndingWithColon(TestParsing): class TestParseMessageWithNoOriginTimestamp (line 165) | class TestParseMessageWithNoOriginTimestamp(TestParsing): class TestParseTimestamp (line 178) | class TestParseTimestamp: method test_parse_timestamp_valid (line 206) | def test_parse_timestamp_valid(self, timestamp_str, expected): method test_parse_timestamp_invalid (line 220) | def test_parse_timestamp_invalid(self, timestamp_str): function test_non_conforming_lines (line 235) | def test_non_conforming_lines(line): FILE: tests/unittests/general/login_not_required_backport_test.py class TestLoginNotRequiredBackport (line 6) | class TestLoginNotRequiredBackport: method test_when_login_not_required_then_it_should_bypass_authorization (line 7) | def test_when_login_not_required_then_it_should_bypass_authorization( FILE: tests/unittests/general/modpython_test.py class TestModPythonAuthorizationMiddleware (line 12) | class TestModPythonAuthorizationMiddleware: method test_when_authorized_then_process_request_should_return_none (line 13) | def test_when_authorized_then_process_request_should_return_none(self): method test_when_not_authorized_process_request_should_redirect_to_login (line 23) | def test_when_not_authorized_process_request_should_redirect_to_login(... FILE: tests/unittests/general/objectcache_test.py class ObjectCacheTest (line 20) | class ObjectCacheTest(TestCase): method setUp (line 21) | def setUp(self): method test_can_cache_simple_object (line 25) | def test_can_cache_simple_object(self): method test_can_run_invalidate_check_flawlessly (line 28) | def test_can_run_invalidate_check_flawlessly(self): method test_can_refresh_cached_objects_flawlessly (line 32) | def test_can_refresh_cached_objects_flawlessly(self): FILE: tests/unittests/general/prefix_ip_collector_test.py class TestPrefixIpCollector (line 10) | class TestPrefixIpCollector(unittest.TestCase): method test_find_range (line 11) | def test_find_range(self): method test_find_timestamp (line 16) | def test_find_timestamp(self): FILE: tests/unittests/general/pwhash_test.py class TestPwHash (line 21) | class TestPwHash(object): method test_methods_are_callable (line 24) | def test_methods_are_callable(self): method test_sha1_hash (line 29) | def test_sha1_hash(self): method test_md5_hash (line 33) | def test_md5_hash(self): method test_pbkdf25_hash (line 37) | def test_pbkdf25_hash(self): method test_unknown_hash (line 43) | def test_unknown_hash(self): method test_verify_sha1_hash (line 47) | def test_verify_sha1_hash(self): method test_verify_md5_hash (line 53) | def test_verify_md5_hash(self): method test_bad_hash (line 59) | def test_bad_hash(self): method test_verifyable_hash (line 64) | def test_verifyable_hash(self): FILE: tests/unittests/general/test_tableformat.py class TestSimpleTableFormatter (line 5) | class TestSimpleTableFormatter(TestCase): method test_column_count (line 6) | def test_column_count(self): method test_get_max_width_of_column (line 11) | def test_get_max_width_of_column(self): method test_get_max_width_of_column_with_integers (line 18) | def test_get_max_width_of_column_with_integers(self): method test_find_widest_elements (line 25) | def test_find_widest_elements(self): method test_format_row (line 30) | def test_format_row(self): method test_get_formatted_table (line 36) | def test_get_formatted_table(self): FILE: tests/unittests/general/util_test.py class TestGradient (line 23) | class TestGradient(object): method test_gradient_size (line 32) | def test_gradient_size(self): method test_gradient_end_points (line 35) | def test_gradient_end_points(self): method test_gradient_order (line 39) | def test_gradient_order(self): function test_colortohex (line 48) | def test_colortohex(): function test_is_valid_ip (line 52) | def test_is_valid_ip(): class TestIPRange (line 63) | class TestIPRange(object): method test_ipv4_range_length_should_be_correct (line 64) | def test_ipv4_range_length_should_be_correct(self): method test_ipv6_range_length_should_be_correct (line 68) | def test_ipv6_range_length_should_be_correct(self): method test_indexed_access_should_work (line 72) | def test_indexed_access_should_work(self): method test_out_of_bounds_positive_index_should_raise (line 76) | def test_out_of_bounds_positive_index_should_raise(self): method test_out_of_bounds_negative_index_should_raise (line 81) | def test_out_of_bounds_negative_index_should_raise(self): class TestIPRangeString (line 87) | class TestIPRangeString(object): method test_simple_ipv4_range_should_parse (line 88) | def test_simple_ipv4_range_should_parse(self): method test_simple_ipv6_range_should_parse (line 93) | def test_simple_ipv6_range_should_parse(self): method test_assembled_ipv4_range_should_parse (line 98) | def test_assembled_ipv4_range_should_parse(self): method test_assembled_ipv6_range_should_parse (line 103) | def test_assembled_ipv6_range_should_parse(self): method test_ipv4_subnet_should_parse (line 108) | def test_ipv4_subnet_should_parse(self): method test_ipv4_short_subnet_should_parse (line 113) | def test_ipv4_short_subnet_should_parse(self): method test_ipv4_with_unspecified_mask_should_parse (line 118) | def test_ipv4_with_unspecified_mask_should_parse(self): method test_ipv6_with_unspecified_mask_should_parse (line 122) | def test_ipv6_with_unspecified_mask_should_parse(self): method test_range_with_no_end_should_raise (line 126) | def test_range_with_no_end_should_raise(self): method test_garbage_range_should_raise (line 130) | def test_garbage_range_should_raise(self): method test_empty_range_should_raise (line 134) | def test_empty_range_should_raise(self): method test_invalid_netmask_should_raise (line 138) | def test_invalid_netmask_should_raise(self): method test_multi_range_should_raise (line 142) | def test_multi_range_should_raise(self): method test_multi_mask_should_raise (line 146) | def test_multi_mask_should_raise(self): class TestFirstTrue (line 151) | class TestFirstTrue(object): method test_first_true_should_find_true_element (line 152) | def test_first_true_should_find_true_element(self): method test_first_true_should_return_default_value_when_no_true_found (line 156) | def test_first_true_should_return_default_value_when_no_true_found(self): method test_first_true_should_parse_predicate_correctly (line 161) | def test_first_true_should_parse_predicate_correctly(self): class TestTimer (line 166) | class TestTimer: method test_when_block_completes_elapsed_should_be_a_positive_float (line 167) | def test_when_block_completes_elapsed_should_be_a_positive_float(self): method test_before_entering_context_elapsed_should_be_none (line 174) | def test_before_entering_context_elapsed_should_be_none(self): method test_when_block_raises_elapsed_should_still_be_set (line 178) | def test_when_block_raises_elapsed_should_still_be_set(self): method test_when_used_as_context_variable_it_should_return_self (line 185) | def test_when_used_as_context_variable_it_should_return_self(self): FILE: tests/unittests/general/web_middleware_test.py function test_set_account (line 37) | def test_set_account(fake_session): class TestGetAccount (line 50) | class TestGetAccount: method test_get_account_golden_path (line 51) | def test_get_account_golden_path(self, fake_session): method test_get_account_when_account_not_set_returns_default_account (line 59) | def test_get_account_when_account_not_set_returns_default_account( class TestAuthorizeRequest (line 69) | class TestAuthorizeRequest: method teardown_method (line 70) | def teardown_method(self, method): method test_requires_request_user (line 74) | def test_requires_request_user(self, fake_session): method test_process_request_anonymous (line 81) | def test_process_request_anonymous(self): method test_process_request_authorized (line 91) | def test_process_request_authorized(self): method test_process_request_not_authorized (line 100) | def test_process_request_not_authorized(self): class TestAuthorizationMiddleware (line 111) | class TestAuthorizationMiddleware(object): method test_when_explicit_login_required_then_it_should_call_authorize_request_and_return_none (line 112) | def test_when_explicit_login_required_then_it_should_call_authorize_re... method test_when_explicit_login_required_and_not_authorized_then_it_should_call_redirect_to_login (line 131) | def test_when_explicit_login_required_and_not_authorized_then_it_shoul... method test_when_explicit_login_is_not_required_then_it_should_return_none (line 147) | def test_when_explicit_login_is_not_required_then_it_should_return_non... class TestRedirectToLogin (line 161) | class TestRedirectToLogin: method test_when_request_is_regular_then_it_should_return_http_redirect (line 164) | def test_when_request_is_regular_then_it_should_return_http_redirect(s... method test_when_request_is_ajax_then_it_should_return_401_response (line 174) | def test_when_request_is_ajax_then_it_should_return_401_response(self): method test_htmx_request_should_return_client_redirect (line 182) | def test_htmx_request_should_return_client_redirect(self): method test_htmx_request_without_origin_should_return_401 (line 193) | def test_htmx_request_without_origin_should_return_401(self): class TestLogout (line 204) | class TestLogout(object): method test_logout_before_login (line 205) | def test_logout_before_login(self): method test_sudo_logout (line 212) | def test_sudo_logout(self, fake_session): function test_NAVRemoteUserMiddleware_init (line 225) | def test_NAVRemoteUserMiddleware_init(): class TestNAVRemoteUserMiddlewareProcessRequest (line 235) | class TestNAVRemoteUserMiddlewareProcessRequest: method test_fail_if_request_user_not_already_set (line 236) | def test_fail_if_request_user_not_already_set(self, fake_session): method test_disabled_remote_user_changes_nothing (line 243) | def test_disabled_remote_user_changes_nothing(self, fake_session): method test_enabled_remote_user_calls_djangos_remote_user_middleware (line 256) | def test_enabled_remote_user_calls_djangos_remote_user_middleware( class TestNAVAuthenticationMiddleware (line 280) | class TestNAVAuthenticationMiddleware: method test_requires_request_user (line 281) | def test_requires_request_user(self, fake_session): method test_process_request_logged_in (line 288) | def test_process_request_logged_in(self, fake_session): method test_process_request_set_sudoer (line 302) | def test_process_request_set_sudoer(self, fake_session): method test_process_request_sudoed_to_anonymoususer (line 318) | def test_process_request_sudoed_to_anonymoususer(self, fake_session): class TestSetAccountSessionRecovery (line 333) | class TestSetAccountSessionRecovery: method test_when_session_save_raises_update_error_it_should_create_new_session (line 336) | def test_when_session_save_raises_update_error_it_should_create_new_se... method test_when_session_save_succeeds_it_should_not_call_create (line 348) | def test_when_session_save_succeeds_it_should_not_call_create(self, fa... FILE: tests/unittests/general/webfront_test.py class TestGetStandardUrls (line 23) | class TestGetStandardUrls(object): method test_get_login_url_default (line 24) | def test_get_login_url_default(self): method test_when_path_is_not_root_then_get_login_url_should_use_next_parameter (line 31) | def test_when_path_is_not_root_then_get_login_url_should_use_next_para... method test_get_remote_login_url (line 38) | def test_get_remote_login_url(self): method test_get_logout_url_default (line 47) | def test_get_logout_url_default(self): method test_get_remote_logout_url (line 53) | def test_get_remote_logout_url(self): class TestLdapUser (line 64) | class TestLdapUser(object): method test_search_result_with_referrals_should_be_considered_empty (line 78) | def test_search_result_with_referrals_should_be_considered_empty(self): method test_non_ascii_password_should_work (line 105) | def test_non_ascii_password_should_work(self): method test_is_group_member_for_non_ascii_user_should_not_raise (line 131) | def test_is_group_member_for_non_ascii_user_should_not_raise(self): class TestLdapEntitlements (line 164) | class TestLdapEntitlements(object): method test_required_entitlement_should_be_verified (line 165) | def test_required_entitlement_should_be_verified(self, user_zaphod): method test_missing_entitlement_should_not_be_verified (line 169) | def test_missing_entitlement_should_not_be_verified(self, user_marvin): method test_admin_entitlement_should_be_verified (line 173) | def test_admin_entitlement_should_be_verified(self, user_zaphod): method test_missing_admin_entitlement_should_be_verified (line 177) | def test_missing_admin_entitlement_should_be_verified(self, user_marvin): function test_no_admin_entitlement_option_should_make_no_admin_decision (line 197) | def test_no_admin_entitlement_option_should_make_no_admin_decision(user_... function user_zaphod (line 208) | def user_zaphod(): function user_marvin (line 222) | def user_marvin(): FILE: tests/unittests/info/room_views_test.py class RoomViewsTest (line 25) | class RoomViewsTest(unittest.TestCase): method setUp (line 28) | def setUp(self): FILE: tests/unittests/info/views_test.py class MockProvider (line 30) | class MockProvider(SearchProvider): method fetch_results (line 31) | def fetch_results(self): class ViewsTest (line 35) | class ViewsTest(unittest.TestCase): method setUp (line 38) | def setUp(self): method test_has_results (line 49) | def test_has_results(self): method test_has_only_one_result (line 58) | def test_has_only_one_result(self): method test_search_form (line 75) | def test_search_form(self): class TestFindMatchingAliases (line 81) | class TestFindMatchingAliases: method test_when_alias_matches_query_then_it_should_return_alias (line 82) | def test_when_alias_matches_query_then_it_should_return_alias(self): method test_when_no_alias_matches_then_it_should_return_none (line 85) | def test_when_no_alias_matches_then_it_should_return_none(self): method test_when_aliases_is_empty_then_it_should_return_none (line 88) | def test_when_aliases_is_empty_then_it_should_return_none(self): method test_when_multiple_aliases_match_then_it_should_return_all (line 91) | def test_when_multiple_aliases_match_then_it_should_return_all(self): method test_when_query_matches_case_insensitively_then_it_should_return_alias (line 97) | def test_when_query_matches_case_insensitively_then_it_should_return_a... FILE: tests/unittests/ipdevpoll/config_test.py function config (line 32) | def config(): class TestConfig (line 58) | class TestConfig(object): method test_find_all_job_sections (line 59) | def test_find_all_job_sections(self, config): method test_should_not_fail_on_missing_description (line 62) | def test_should_not_fail_on_missing_description(self, config): method test_job_prefix_must_be_filtered (line 68) | def test_job_prefix_must_be_filtered(self, config): method test_description_should_not_contain_newline (line 73) | def test_description_should_not_contain_newline(self, config): method test_job_two_descr (line 77) | def test_job_two_descr(self, config): method test_job_three_descr (line 80) | def test_job_three_descr(self, config): function invalid_config (line 85) | def invalid_config(): class TestJobDescriptor (line 107) | class TestJobDescriptor(object): method test_should_raise_on_no_interval (line 108) | def test_should_raise_on_no_interval(self, invalid_config): method test_should_raise_on_zero_interval (line 112) | def test_should_raise_on_zero_interval(self, invalid_config): method test_should_raise_on_negative_interval (line 116) | def test_should_raise_on_negative_interval(self, invalid_config): method test_should_raise_on_no_plugins (line 120) | def test_should_raise_on_no_plugins(self, invalid_config): method test_should_raise_on_empty_plugins (line 124) | def test_should_raise_on_empty_plugins(self, invalid_config): FILE: tests/unittests/ipdevpoll/descrparsers_test.py class TestNtnuConvention (line 21) | class TestNtnuConvention(object): method test_lan (line 24) | def test_lan(self): method test_lan_with_comment_and_vlan (line 31) | def test_lan_with_comment_and_vlan(self): method test_lan_with_numbered_usage_and_comment (line 42) | def test_lan_with_numbered_usage_and_comment(self): method test_lan_with_spaces (line 53) | def test_lan_with_spaces(self): method test_lan_invalid (line 64) | def test_lan_invalid(self): method test_link (line 68) | def test_link(self): method test_link_with_comment_and_vlan (line 73) | def test_link_with_comment_and_vlan(self): method test_core (line 82) | def test_core(self): method test_core_with_comment_and_vlan (line 89) | def test_core_with_comment_and_vlan(self): method test_core_invalid (line 98) | def test_core_invalid(self): method test_elink (line 102) | def test_elink(self): method test_elink_with_empty_comment (line 109) | def test_elink_with_empty_comment(self): method test_invalid (line 120) | def test_invalid(self): class TestUninettConvention (line 125) | class TestUninettConvention(object): method test_simple (line 126) | def test_simple(self): method test_invalid (line 133) | def test_invalid(self): FILE: tests/unittests/ipdevpoll/dnsname_test.py class StrangeDnsResponsesTest (line 9) | class StrangeDnsResponsesTest(TestCase): method test_empty_result_should_not_set_sysname (line 10) | def test_empty_result_should_not_set_sysname(self): method test_response_without_ptr_record_should_translate_to_none (line 24) | def test_response_without_ptr_record_should_translate_to_none(self): FILE: tests/unittests/ipdevpoll/interfaces_test.py class EncodingTests (line 11) | class EncodingTests(TestCase): method test_ifalias_should_be_unicode (line 12) | def test_ifalias_should_be_unicode(self): class TestExtractInterfaceSpeed (line 40) | class TestExtractInterfaceSpeed: method test_should_use_highspeed_value_when_speed_is_maxed_out (line 41) | def test_should_use_highspeed_value_when_speed_is_maxed_out(self): method test_should_use_speed_value_when_not_maxed_out (line 46) | def test_should_use_speed_value_when_not_maxed_out(self): method test_should_use_highspeed_value_when_equal_to_speed (line 51) | def test_should_use_highspeed_value_when_equal_to_speed(self): method test_should_return_highspeed_when_flag_is_set (line 55) | def test_should_return_highspeed_when_flag_is_set(self): class FakeConfig (line 61) | class FakeConfig(IpdevpollConfig): FILE: tests/unittests/ipdevpoll/ipdevpoll_test.py class UtilsTest (line 37) | class UtilsTest(unittest.TestCase): method test_find_prefix (line 38) | def test_find_prefix(self): method test_binary_mac_to_hex (line 61) | def test_binary_mac_to_hex(self): method test_truncate_mac (line 68) | def test_truncate_mac(self): method test_binary_mac_too_short (line 74) | def test_binary_mac_too_short(self): method test_binary_mac_too_long_should_return_last_part (line 80) | def test_binary_mac_too_long_should_return_last_part(self): method test_invalid_utf8 (line 86) | def test_invalid_utf8(self): method test_valid_utf8 (line 89) | def test_valid_utf8(self): FILE: tests/unittests/ipdevpoll/mibs_test.py class TestIpMib (line 40) | class TestIpMib(object): method test_ipv4_syntax_with_length_should_be_parsed_correctly (line 41) | def test_ipv4_syntax_with_length_should_be_parsed_correctly(self): method test_invalid_ipv4_syntax_should_raise_error (line 47) | def test_invalid_ipv4_syntax_should_raise_error(self): method test_too_short_ipv4_address_should_raise_exception (line 52) | def test_too_short_ipv4_address_should_raise_exception(self): method test_ipv4_syntax_not_annotated_with_size_should_parse_ok (line 57) | def test_ipv4_syntax_not_annotated_with_size_should_parse_ok(self): method test_too_long_ipv6_address_should_raise_exception (line 63) | def test_too_long_ipv6_address_should_raise_exception(self): method test_ipv6_syntax_with_length_should_be_parsed_correctly (line 68) | def test_ipv6_syntax_with_length_should_be_parsed_correctly(self): method test_ipv4_prefix_rowpointer_should_be_parsed_correctly (line 76) | def test_ipv4_prefix_rowpointer_should_be_parsed_correctly(self): method test_ipv6_prefix_rowpointer_should_be_parsed_correctly (line 92) | def test_ipv6_prefix_rowpointer_should_be_parsed_correctly(self): method test_nxos_ipv4_prefix_rowpointer_should_be_parsed_correctly (line 120) | def test_nxos_ipv4_prefix_rowpointer_should_be_parsed_correctly(self): method test_nxos_ipv6_prefix_rowpointer_should_be_parsed_correctly (line 126) | def test_nxos_ipv6_prefix_rowpointer_should_be_parsed_correctly(self): class TestIpv6Mib (line 154) | class TestIpv6Mib(object): method test_ipv6mib_index (line 155) | def test_ipv6mib_index(self): class TestEntityMib (line 162) | class TestEntityMib(object): method test_empty_logical_type_should_not_raise (line 164) | async def test_empty_logical_type_should_not_raise(self): method test_entity_to_powersupply_or_fan (line 180) | def test_entity_to_powersupply_or_fan(self): method test_get_power_supplies_or_fans_should_return_correct_number_of_units (line 196) | def test_get_power_supplies_or_fans_should_return_correct_number_of_un... method test_get_power_supplies_or_fans_should_return_lists_of_correct_type (line 207) | def test_get_power_supplies_or_fans_should_return_lists_of_correct_type( method _get_units (line 215) | def _get_units(func, entity_physical_table): class TestSnmpv2Mib (line 229) | class TestSnmpv2Mib(object): method test_simple_uptime_deviation_should_be_correct (line 230) | def test_simple_uptime_deviation_should_be_correct(self): method test_wrapped_uptime_deviation_should_be_correct (line 236) | def test_wrapped_uptime_deviation_should_be_correct(self): method test_none_uptime_should_not_crash (line 242) | def test_none_uptime_should_not_crash(self): class TestCiscoHSRPMib (line 249) | class TestCiscoHSRPMib(object): method test_virtual_address_map (line 250) | def test_virtual_address_map(self): function test_short_dateandtime_parses_properly (line 267) | def test_short_dateandtime_parses_properly(): function test_long_dateandtime_parses_properly (line 272) | def test_long_dateandtime_parses_properly(): function test_zero_dateandtime_parses_properly (line 277) | def test_zero_dateandtime_parses_properly(): function test_non_bytes_dateandtime_should_not_be_parsed (line 282) | def test_non_bytes_dateandtime_should_not_be_parsed(): function test_crazy_dateandtime_should_not_crash (line 287) | def test_crazy_dateandtime_should_not_crash(): function is_col_of (line 291) | def is_col_of(mib, col, table): function test_itw_tables (line 299) | def test_itw_tables(cls): function entity_physical_table (line 315) | def entity_physical_table(scope="session"): FILE: tests/unittests/ipdevpoll/modules_test.py class TestGetIgnoredSerials (line 6) | class TestGetIgnoredSerials: method test_should_return_correct_list_items (line 7) | def test_should_return_correct_list_items(self): method test_should_return_default_value_if_none_is_configured (line 19) | def test_should_return_default_value_if_none_is_configured(self): class TestModulesPlugin (line 25) | class TestModulesPlugin: method test_should_load_default_config_without_error (line 26) | def test_should_load_default_config_without_error(self): FILE: tests/unittests/ipdevpoll/neighbor_test.py class IgnoredMacTest (line 7) | class IgnoredMacTest(TestCase): method test_vrrp_addresses_are_ignored (line 8) | def test_vrrp_addresses_are_ignored(self): class _MockedCDPNeighbor (line 27) | class _MockedCDPNeighbor(CDPNeighbor): method identify (line 28) | def identify(self): class IgnoreCDPSelfLoopsTest (line 33) | class IgnoreCDPSelfLoopsTest(TestCase): method test_apparent_cdp_self_loop_should_be_ignored (line 34) | def test_apparent_cdp_self_loop_should_be_ignored(self): FILE: tests/unittests/ipdevpoll/plugins_arp_test.py class TestCheckAndUpdatePrefixCache (line 12) | class TestCheckAndUpdatePrefixCache: method test_when_cache_is_expired_it_should_call_update (line 15) | def test_when_cache_is_expired_it_should_call_update(self): method test_when_cache_is_not_expired_it_should_not_call_update (line 23) | def test_when_cache_is_not_expired_it_should_not_call_update(self): function test_none_in_mappings_should_not_raise (line 30) | def test_none_in_mappings_should_not_raise(): function test_make_new_mappings_should_not_raise_on_empty_ip (line 35) | def test_make_new_mappings_should_not_raise_on_empty_ip(): function test_when_arp_records_exist_is_arp_already_collected_should_return_true (line 41) | def test_when_arp_records_exist_is_arp_already_collected_should_return_t... function test_when_arp_records_do_not_exist_is_arp_already_collected_should_return_false (line 48) | def test_when_arp_records_do_not_exist_is_arp_already_collected_should_r... FILE: tests/unittests/ipdevpoll/plugins_lldp_test.py function test_non_ascii_chassis_id_should_not_crash (line 13) | def test_non_ascii_chassis_id_should_not_crash(): function test_given_local_id_with_nullbytes_then_netbox_from_local_should_not_crash (line 19) | def test_given_local_id_with_nullbytes_then_netbox_from_local_should_not... function test_given_local_id_with_only_nullbytes_then_netbox_from_local_should_not_crash (line 39) | def test_given_local_id_with_only_nullbytes_then_netbox_from_local_shoul... FILE: tests/unittests/ipdevpoll/plugins_paloaltoarp_test.py function test_parse_arp_should_correctly_parse_valid_http_response_body (line 57) | def test_parse_arp_should_correctly_parse_valid_http_response_body(): function test_get_paloalto_arp_mappings_should_return_arp_mappings_on_valid_http_response (line 67) | def test_get_paloalto_arp_mappings_should_return_arp_mappings_on_valid_h... function test_get_paloalto_arp_mappings_should_return_empty_list_on_request_error (line 87) | def test_get_paloalto_arp_mappings_should_return_empty_list_on_request_e... function test_do_request_should_form_correct_api_query_url (line 99) | def test_do_request_should_form_correct_api_query_url(paloaltoarp): function paloaltoarp (line 127) | def paloaltoarp(): FILE: tests/unittests/ipdevpoll/plugins_snmpcheck_test.py function plugin (line 12) | def plugin(): function test_should_not_mark_as_up_when_already_up (line 21) | def test_should_not_mark_as_up_when_already_up(plugin): function test_should_keep_sending_down_events_when_down (line 34) | def test_should_keep_sending_down_events_when_down(plugin): function test_should_mark_as_down_when_transitioning_from_up_to_down (line 48) | def test_should_mark_as_down_when_transitioning_from_up_to_down(plugin): function test_should_mark_as_up_when_transitioning_from_down_to_up (line 62) | def test_should_mark_as_up_when_transitioning_from_down_to_up(plugin): function test_do_check_should_report_false_on_timeout (line 75) | def test_do_check_should_report_false_on_timeout(plugin): FILE: tests/unittests/ipdevpoll/pool_test.py class TestWorker (line 11) | class TestWorker: method test_mock_process_should_not_respond_to_ping (line 14) | def test_mock_process_should_not_respond_to_ping(self): method test_unresponsive_worker_should_be_euthanized (line 22) | def test_unresponsive_worker_should_be_euthanized(self): FILE: tests/unittests/ipdevpoll/prefix_test.py class IgnoredPrefixConfigTest (line 9) | class IgnoredPrefixConfigTest(TestCase): method test_single_prefix (line 10) | def test_single_prefix(self): method test_two_prefixes (line 19) | def test_two_prefixes(self): method test_invalid_prefix_should_be_silently_ignored (line 32) | def test_invalid_prefix_should_be_silently_ignored(self): method test_prefix_with_match_specifier_should_parse (line 41) | def test_prefix_with_match_specifier_should_parse(self): method test_prefix_with_match_specifier_should_parse2 (line 49) | def test_prefix_with_match_specifier_should_parse2(self): class IgnoredPrefixTest (line 60) | class IgnoredPrefixTest(TestCase): method test_contained_in_default_match (line 61) | def test_contained_in_default_match(self): method test_contained_in_operator_match (line 66) | def test_contained_in_operator_match(self): method test_contained_in_equals_match (line 71) | def test_contained_in_equals_match(self): class PrefixPluginTest (line 77) | class PrefixPluginTest(TestCase): method test_instantiation (line 78) | def test_instantiation(self): class VlanPatternTest (line 84) | class VlanPatternTest(TestCase): method setUp (line 85) | def setUp(self): method test_cisco_long_names_should_match (line 88) | def test_cisco_long_names_should_match(self): method test_cisco_short_names_should_match (line 92) | def test_cisco_short_names_should_match(self): method test_juniper_irb_names_should_match (line 96) | def test_juniper_irb_names_should_match(self): method test_juniper_reth_names_should_match (line 100) | def test_juniper_reth_names_should_match(self): method test_checkpoint_vlan_names_should_match (line 104) | def test_checkpoint_vlan_names_should_match(self): FILE: tests/unittests/ipdevpoll/schedule_test.py function netbox_job_scheduler (line 10) | def netbox_job_scheduler(): function test_netbox_job_scheduler_reschedule_on_success (line 22) | def test_netbox_job_scheduler_reschedule_on_success(netbox_job_scheduler): FILE: tests/unittests/ipdevpoll/shadows_adjacency_test.py function test_nonascii_remote_name_should_be_changed (line 4) | def test_nonascii_remote_name_should_be_changed(): function test_nonascii_remote_id_should_be_changed (line 12) | def test_nonascii_remote_id_should_be_changed(): FILE: tests/unittests/ipdevpoll/shadows_test.py class MixedNetTypeTest (line 7) | class MixedNetTypeTest(TestCase): method setUp (line 10) | def setUp(self): method test_link_net_with_big_ipv6_addr (line 24) | def test_link_net_with_big_ipv6_addr(self): method test_elink_net_with_big_ipv6_addr (line 34) | def test_elink_net_with_big_ipv6_addr(self): class RFC3021NetTypeTest (line 45) | class RFC3021NetTypeTest(TestCase): method setUp (line 48) | def setUp(self): method test_elink_net_with_subnet_31_rfc3021_router_count_as_1 (line 63) | def test_elink_net_with_subnet_31_rfc3021_router_count_as_1(self): method test_link_net_with_subnet_31_rfc3021_router_count_as_2 (line 72) | def test_link_net_with_subnet_31_rfc3021_router_count_as_2(self): class TestInterfaces (line 82) | class TestInterfaces(object): method test_strip_null_bytes_should_leave_normal_strings_unchanged (line 83) | def test_strip_null_bytes_should_leave_normal_strings_unchanged(self): method test_strip_null_bytes_should_strip_nullbytes (line 89) | def test_strip_null_bytes_should_strip_nullbytes(self): method test_strip_null_bytes_should_ignore_nonstrings (line 95) | def test_strip_null_bytes_should_ignore_nonstrings(self): FILE: tests/unittests/ipdevpoll/snmp/common_test.py class TestSNMPParameters (line 10) | class TestSNMPParameters: method test_when_instantiated_with_no_arguments_it_should_not_complain (line 11) | def test_when_instantiated_with_no_arguments_it_should_not_complain(se... method test_when_sec_level_is_given_as_string_it_should_be_convert_to_enum (line 14) | def test_when_sec_level_is_given_as_string_it_should_be_convert_to_enu... method test_when_auth_protocol_is_given_as_string_it_should_be_convert_to_enum (line 18) | def test_when_auth_protocol_is_given_as_string_it_should_be_convert_to... method test_when_priv_protocol_is_given_as_string_it_should_be_convert_to_enum (line 22) | def test_when_priv_protocol_is_given_as_string_it_should_be_convert_to... class TestSNMPParametersAsAgentProxyArgs (line 27) | class TestSNMPParametersAsAgentProxyArgs: method test_should_contain_cmdline_args (line 28) | def test_should_contain_cmdline_args(self, snmpv3_params): method test_should_contain_version_argument (line 32) | def test_should_contain_version_argument(self, snmpv3_params): method test_should_contain_sec_level_cmdline_argument (line 36) | def test_should_contain_sec_level_cmdline_argument(self, snmpv3_params): method test_should_contain_sec_name_cmdline_argument (line 41) | def test_should_contain_sec_name_cmdline_argument(self, snmpv3_params): method test_should_contain_context_name_cmdline_argument (line 46) | def test_should_contain_context_name_cmdline_argument( method test_should_contain_context_engine_id_cmdline_argument (line 53) | def test_should_contain_context_engine_id_cmdline_argument( method test_should_not_contain_context_args_when_not_set (line 60) | def test_should_not_contain_context_args_when_not_set(self, snmpv3_par... class TestSNMPParametersFactory (line 67) | class TestSNMPParametersFactory: method test_snmp_v2_profile_should_be_parsed_without_error (line 69) | def test_snmp_v2_profile_should_be_parsed_without_error( function snmpv3_params (line 80) | def snmpv3_params(): function snmpv3_params_with_context (line 94) | def snmpv3_params_with_context(): function snmpv2c_profile (line 110) | def snmpv2c_profile(): FILE: tests/unittests/ipdevpoll/storage_test.py function test_netboxinfo_should_always_sort_last (line 8) | def test_netboxinfo_should_always_sort_last(): FILE: tests/unittests/ipdevpoll/system_test.py class SysDescrParseTests (line 8) | class SysDescrParseTests(TestCase): method test_should_parse_cisco2950_sysdescr (line 9) | def test_should_parse_cisco2950_sysdescr(self): method test_should_parse_cisco6509_sysdescr (line 17) | def test_should_parse_cisco6509_sysdescr(self): method test_should_parse_nortel5510_sysdescr (line 25) | def test_should_parse_nortel5510_sysdescr(self): method test_should_parse_virtual_hp_rack_sysdescr (line 30) | def test_should_parse_virtual_hp_rack_sysdescr(self): method test_should_parse_juniper_t640_sysdescr (line 34) | def test_should_parse_juniper_t640_sysdescr(self): FILE: tests/unittests/ipdevpoll/timestamps_test.py function test_invalid_serialized_value_should_be_interpreted_as_change (line 13) | def test_invalid_serialized_value_should_be_interpreted_as_change(): function test_representation_inconsistencies_should_not_matter (line 25) | def test_representation_inconsistencies_should_not_matter(): function test_is_changed (line 69) | def test_is_changed(loaded, collected, max_deviation, expected, descript... FILE: tests/unittests/ipdevpoll/utils_test.py class TestWorkaroundBrokenArubaAlternateCommunities (line 22) | class TestWorkaroundBrokenArubaAlternateCommunities: method test_should_append_vlan_index_when_missing (line 25) | def test_should_append_vlan_index_when_missing(self): method test_should_not_modify_when_already_indexed (line 32) | def test_should_not_modify_when_already_indexed(self): method test_should_preserve_context_fields (line 39) | def test_should_preserve_context_fields(self): method test_should_not_modify_non_vlan_descriptions (line 56) | def test_should_not_modify_non_vlan_descriptions(self): method test_should_handle_case_insensitive_vlan_names (line 63) | def test_should_handle_case_insensitive_vlan_names(self): method test_should_not_modify_when_community_is_none (line 74) | def test_should_not_modify_when_community_is_none(self): FILE: tests/unittests/jwtconf_test.py class TestJWTConf (line 8) | class TestJWTConf(TestCase): method setUp (line 9) | def setUp(self): method test_issuer_settings_include_valid_jwks_issuer (line 12) | def test_issuer_settings_include_valid_jwks_issuer(self): method test_issuer_settings_include_valid_pem_issuer (line 36) | def test_issuer_settings_include_valid_pem_issuer(self): method test_issuer_settings_include_valid_local_issuer (line 61) | def test_issuer_settings_include_valid_local_issuer(self): method test_invalid_config_for_internal_tokens_should_return_empty_dict (line 87) | def test_invalid_config_for_internal_tokens_should_return_empty_dict(s... method test_invalid_config_for_external_tokens_should_return_empty_dict (line 104) | def test_invalid_config_for_external_tokens_should_return_empty_dict(s... method test_validate_key_should_raise_error_if_key_is_empty (line 121) | def test_validate_key_should_raise_error_if_key_is_empty(self): method test_validate_key_should_allow_non_empty_string (line 126) | def test_validate_key_should_allow_non_empty_string(self): method test_validate_audience_should_raise_error_if_audience_is_empty (line 132) | def test_validate_audience_should_raise_error_if_audience_is_empty(self): method test_validate_audience_should_allow_non_empty_string (line 137) | def test_validate_audience_should_allow_non_empty_string(self): method test_validate_type_should_raise_error_if_type_is_invalid (line 143) | def test_validate_type_should_raise_error_if_type_is_invalid(self): method test_JWKS_should_be_a_valid_type (line 148) | def test_JWKS_should_be_a_valid_type(self): method test_PEM_should_be_a_valid_type (line 154) | def test_PEM_should_be_a_valid_type(self): method test_validate_issuer_should_fail_if_external_name_matches_local_name (line 160) | def test_validate_issuer_should_fail_if_external_name_matches_local_na... method test_validate_issuer_should_raise_error_if_issuer_is_empty (line 182) | def test_validate_issuer_should_raise_error_if_issuer_is_empty(self): method test_get_nav_private_key_returns_correct_private_key (line 187) | def test_get_nav_private_key_returns_correct_private_key(self): method test_get_nav_public_key_returns_correct_public_key (line 204) | def test_get_nav_public_key_returns_correct_public_key(self): method test_get_nav_name_should_raise_error_if_name_empty (line 221) | def test_get_nav_name_should_raise_error_if_name_empty(self): method test_get_nav_name_returns_configured_name (line 233) | def test_get_nav_name_returns_configured_name(self): method test_missing_option_should_raise_error (line 244) | def test_missing_option_should_raise_error(self): method test_non_existing_file_should_raise_error (line 260) | def test_non_existing_file_should_raise_error(self): method test_return_correct_key_if_file_exists (line 271) | def test_return_correct_key_if_file_exists(self): method test_file_with_permission_problems_should_raise_error (line 277) | def test_file_with_permission_problems_should_raise_error(self): method test_empty_config_should_give_empty_issuer_settings (line 290) | def test_empty_config_should_give_empty_issuer_settings(self): method test_empty_config_should_give_empty_external_settings (line 299) | def test_empty_config_should_give_empty_external_settings(self): method test_empty_config_should_give_empty_local_settings (line 308) | def test_empty_config_should_give_empty_local_settings(self): method test_settings_should_include_local_and_external_settings (line 317) | def test_settings_should_include_local_and_external_settings(self): method test_get_access_token_lifetime_should_return_configured_lifetime (line 344) | def test_get_access_token_lifetime_should_return_configured_lifetime(s... method test_get_refresh_token_lifetime_should_return_configured_lifetime (line 358) | def test_get_refresh_token_lifetime_should_return_configured_lifetime(... method test_if_lifetime_is_not_configured_then_get_access_token_lifetime_should_return_default_lifetime (line 372) | def test_if_lifetime_is_not_configured_then_get_access_token_lifetime_... method test_if_lifetime_is_not_configured_then_get_refresh_token_lifetime_should_return_default_lifetime (line 388) | def test_if_lifetime_is_not_configured_then_get_refresh_token_lifetime... method test_get_local_config_returns_correct_private_key (line 404) | def test_get_local_config_returns_correct_private_key(self): method test_get_local_config_returns_correct_public_key (line 423) | def test_get_local_config_returns_correct_public_key(self): method test_get_local_config_returns_correct_name (line 442) | def test_get_local_config_returns_correct_name(self): method test_get_local_config_returns_correct_access_token_lifetime (line 461) | def test_get_local_config_returns_correct_access_token_lifetime(self): method test_get_local_config_returns_correct_refresh_token_lifetime (line 482) | def test_get_local_config_returns_correct_refresh_token_lifetime(self): method test_get_local_config_returns_empty_config_when_config_is_invalid (line 503) | def test_get_local_config_returns_empty_config_when_config_is_invalid(... method test_get_local_config_returns_empty_config_when_local_tokens_are_not_configured (line 514) | def test_get_local_config_returns_empty_config_when_local_tokens_are_n... FILE: tests/unittests/logs_test.py function test_get_logging_yaml (line 11) | def test_get_logging_yaml(valid_logging_yaml): function valid_logging_yaml (line 22) | def valid_logging_yaml(tmp_path): FILE: tests/unittests/macaddress/macaddress_test.py function test_mac_address_too_short (line 23) | def test_mac_address_too_short(): function test_mac_address_too_long (line 28) | def test_mac_address_too_long(): function test_mac_address_wrong_parameter_type_list (line 33) | def test_mac_address_wrong_parameter_type_list(): function test_mac_address_wrong_parameter_type_dict (line 38) | def test_mac_address_wrong_parameter_type_dict(): function test_mac_address_address_contains_illegal_value (line 43) | def test_mac_address_address_contains_illegal_value(): function test_mac_address_should_return_same_address_value_with_colon (line 48) | def test_mac_address_should_return_same_address_value_with_colon(): function test_mac_address_mac_addres_as_parameter_should_return_same_address (line 54) | def test_mac_address_mac_addres_as_parameter_should_return_same_address(): function test_mac_address_return_same_address_value_with_colon (line 61) | def test_mac_address_return_same_address_value_with_colon(): function test_mac_address_return_same_address_value_without_dash (line 67) | def test_mac_address_return_same_address_value_without_dash(): function test_mac_address_return_same_address_value_without_spaces (line 73) | def test_mac_address_return_same_address_value_without_spaces(): function test_mac_address_return_same_address_value_without_dot (line 79) | def test_mac_address_return_same_address_value_without_dot(): function test_mac_address_return_same_address_value_when_byte_string (line 85) | def test_mac_address_return_same_address_value_when_byte_string(): function test_mac_address_with_byte_string_prefix_should_return_same_address (line 91) | def test_mac_address_with_byte_string_prefix_should_return_same_address(): function test_mac_address_to_string_without_delimiter_return_same_address (line 97) | def test_mac_address_to_string_without_delimiter_return_same_address(): function test_mac_address_to_string_with_colon_delimiter_return_same_address (line 103) | def test_mac_address_to_string_with_colon_delimiter_return_same_address(): function test_mac_address_to_string_with_dash_delimiter_return_same_address (line 109) | def test_mac_address_to_string_with_dash_delimiter_return_same_address(): function test_mac_address_to_string_with_dot_delimiter_return_same_address (line 115) | def test_mac_address_to_string_with_dot_delimiter_return_same_address(): function test_mac_address_param_as_int_should_return_same_in_hex (line 121) | def test_mac_address_param_as_int_should_return_same_in_hex(): function test_mac_addresses_are_equal (line 127) | def test_mac_addresses_are_equal(): function test_mac_addresses_hash_the_same (line 133) | def test_mac_addresses_hash_the_same(): function test_mac_addresses_hash_not_the_same (line 139) | def test_mac_addresses_hash_not_the_same(): function test_mac_addresses_are_comparable (line 145) | def test_mac_addresses_are_comparable(): function test_mac_address_should_compare_with_int (line 155) | def test_mac_address_should_compare_with_int(): function test_mac_address_should_compare_with_string (line 160) | def test_mac_address_should_compare_with_string(): function test_mac_address_with_byte_string_prefix_should_return_zero_padded_addr (line 166) | def test_mac_address_with_byte_string_prefix_should_return_zero_padded_a... function test_macprefix_with_colon_prefix_should_return_same_prefix (line 172) | def test_macprefix_with_colon_prefix_should_return_same_prefix(): function test_macprefix_with_dash_prefix_should_return_same_prefix (line 178) | def test_macprefix_with_dash_prefix_should_return_same_prefix(): function test_macprefix_with_dot_prefix_should_return_same_prefix (line 184) | def test_macprefix_with_dot_prefix_should_return_same_prefix(): function test_macprefix_should_return_zero_padded_when_address_start_with_zero (line 190) | def test_macprefix_should_return_zero_padded_when_address_start_with_zer... function test_macprefix_should_return_zero_padded_when_address_start_with_5_zeros (line 196) | def test_macprefix_should_return_zero_padded_when_address_start_with_5_z... function test_macprefix_has_correct_length_with_prefix_length_six (line 202) | def test_macprefix_has_correct_length_with_prefix_length_six(): function test_macprefix_has_correct_length_with_prefix_length_seven (line 208) | def test_macprefix_has_correct_length_with_prefix_length_seven(): function test_macprefix_has_correct_length_with_prefix_length_eigth (line 214) | def test_macprefix_has_correct_length_with_prefix_length_eigth(): function test_macprefix_has_correct_length_with_full_length_address (line 220) | def test_macprefix_has_correct_length_with_full_length_address(): function test_macprefix_should_return_correct_value_with_zero_key (line 226) | def test_macprefix_should_return_correct_value_with_zero_key(): function test_macprefix_should_return_correct_value_with_key_equal_256 (line 232) | def test_macprefix_should_return_correct_value_with_key_equal_256(): function test_macprefix_should_return_correct_value_with_last_key (line 238) | def test_macprefix_should_return_correct_value_with_last_key(): FILE: tests/unittests/metrics/data_test.py function test_get_metric_data_without_target_should_return_empty_list (line 9) | def test_get_metric_data_without_target_should_return_empty_list(): function test_get_metric_data_with_no_graphite_server_should_fail (line 13) | def test_get_metric_data_with_no_graphite_server_should_fail(): function test_get_metric_data_can_parse_response (line 21) | def test_get_metric_data_can_parse_response(): FILE: tests/unittests/metrics/graphs_test.py function test_get_sensor_meta_should_not_crash_on_missing_human_readable (line 9) | def test_get_sensor_meta_should_not_crash_on_missing_human_readable(): function test_extract_series_name (line 28) | def test_extract_series_name(series, expected): function test_translate_serieslist_to_regex (line 47) | def test_translate_serieslist_to_regex(series, matches, nonmatches): FILE: tests/unittests/metrics/names_test.py class MetricNamingTests (line 12) | class MetricNamingTests(TestCase): method test_join_series (line 13) | def test_join_series(self): method test_join_single_series_should_return_same (line 19) | def test_join_single_series_should_return_same(self): class TestGetExpandedNodes (line 24) | class TestGetExpandedNodes: method test_when_valid_response_should_return_results (line 25) | def test_when_valid_response_should_return_results(self): method test_when_invalid_response_should_return_empty_list (line 39) | def test_when_invalid_response_should_return_empty_list(self, raw_resp... class TestEscapeMetricName (line 58) | class TestEscapeMetricName: method test_should_escape_by_default (line 59) | def test_should_escape_by_default(self, test_input, expected): method test_should_not_escape_safe_names (line 62) | def test_should_not_escape_safe_names(self, test_input, expected): FILE: tests/unittests/metrics/templates_test.py function test_metric_path_for_dhcp (line 91) | def test_metric_path_for_dhcp(test_input, expected): FILE: tests/unittests/metrics/thresholds_test.py class TestThatThresholdEvaluator (line 6) | class TestThatThresholdEvaluator: method test_evaluates_zero_as_less_than_positive_number (line 7) | def test_evaluates_zero_as_less_than_positive_number(self): method test_evaluates_zero_as_greater_than_negative_number (line 17) | def test_evaluates_zero_as_greater_than_negative_number(self): FILE: tests/unittests/mibs/entity_mib_test.py class TestEntityMIB (line 5) | class TestEntityMIB(TestCase): method setUp (line 6) | def setUp(self): method test_module_is_module (line 28) | def test_module_is_module(self): method test_transceiver_is_not_module (line 39) | def test_transceiver_is_not_module(self): method test_sensor_is_not_module (line 50) | def test_sensor_is_not_module(self): method test_not_FRU_is_not_module (line 61) | def test_not_FRU_is_not_module(self): method test_entity_without_serial_number_is_not_module (line 72) | def test_entity_without_serial_number_is_not_module(self): FILE: tests/unittests/mibs/lldp_mib_test.py function test_broken_remote_table_result_should_be_detected (line 5) | def test_broken_remote_table_result_should_be_detected( function test_ok_remote_table_result_should_be_detected (line 12) | def test_ok_remote_table_result_should_be_detected(ok_remote_table): function table_with_too_short_index (line 22) | def table_with_too_short_index(): function table_with_too_long_index (line 27) | def table_with_too_long_index(): function ok_remote_table (line 32) | def ok_remote_table(): FILE: tests/unittests/mibs/mibretriever_test.py class TestMultiMibMixInGetAlternateAgent (line 25) | class TestMultiMibMixInGetAlternateAgent: method test_should_use_community_for_snmpv2 (line 28) | def test_should_use_community_for_snmpv2(self): method test_should_use_context_for_snmpv3 (line 45) | def test_should_use_context_for_snmpv3(self): method test_should_include_context_engine_id_for_snmpv3_when_provided (line 63) | def test_should_include_context_engine_id_for_snmpv3_when_provided(self): method test_should_not_include_context_engine_id_when_not_provided (line 83) | def test_should_not_include_context_engine_id_when_not_provided(self): method test_should_copy_protocol_from_base_agent (line 99) | def test_should_copy_protocol_from_base_agent(self): FILE: tests/unittests/mibs/qbridge_mib_test.py function test_get_vlan_static_names_should_strip_nullbytes (line 6) | def test_get_vlan_static_names_should_strip_nullbytes(): FILE: tests/unittests/mibs/types_test.py class TestLogicalMibInstance (line 21) | class TestLogicalMibInstance: method test_should_have_default_none_for_context (line 24) | def test_should_have_default_none_for_context(self): method test_should_have_default_none_for_context_engine_id (line 28) | def test_should_have_default_none_for_context_engine_id(self): method test_should_accept_context_parameter (line 32) | def test_should_accept_context_parameter(self): method test_should_accept_context_engine_id_parameter (line 38) | def test_should_accept_context_engine_id_parameter(self): method test_should_be_hashable_for_set_operations (line 48) | def test_should_be_hashable_for_set_operations(self): method test_equal_instances_should_be_equal (line 56) | def test_equal_instances_should_be_equal(self): method test_different_instances_should_not_be_equal (line 65) | def test_different_instances_should_not_be_equal(self): method test_can_access_fields_by_name (line 70) | def test_can_access_fields_by_name(self): FILE: tests/unittests/models/event_test.py class TestEventMixIn (line 12) | class TestEventMixIn(object): method test_subidless_netbox_event_should_return_netbox_subject (line 13) | def test_subidless_netbox_event_should_return_netbox_subject(self, eve... method test_linkstate_event_should_return_interface_subject (line 18) | def test_linkstate_event_should_return_interface_subject(self, event): method test_thresholdstate_event_should_return_thresholdevent_object (line 29) | def test_thresholdstate_event_should_return_thresholdevent_object(self... method test_service_maintenance_event_should_return_service (line 40) | def test_service_maintenance_event_should_return_service(self, event): method test_non_existent_subid_reference_should_return_unknown_event_subject (line 56) | def test_non_existent_subid_reference_should_return_unknown_event_subj... method test_netboxless_event_should_return_device_subject (line 69) | def test_netboxless_event_should_return_device_subject( method test_netbox_and_deviceless_event_should_return_unknown_event_subject (line 78) | def test_netbox_and_deviceless_event_should_return_unknown_event_subject( function test_thresholdevent_should_lookup_thresholdrule (line 89) | def test_thresholdevent_should_lookup_thresholdrule(event): function event (line 110) | def event(): FILE: tests/unittests/models/fields_test.py class TestCIDRField (line 19) | class TestCIDRField(object): method test_to_python_empty (line 20) | def test_to_python_empty(self): method test_to_python_valid_cidr (line 27) | def test_to_python_valid_cidr(self): method test_to_python_valid_ip (line 36) | def test_to_python_valid_ip(self): method test_to_python_invalid (line 51) | def test_to_python_invalid(self): method test_to_python_seemingly_valid (line 58) | def test_to_python_seemingly_valid(self): class TestDateTimeInfinityField (line 66) | class TestDateTimeInfinityField(object): method test_get_db_prep_value_infinity (line 67) | def test_get_db_prep_value_infinity(self): method test_get_db_prep_value_prepared_other (line 74) | def test_get_db_prep_value_prepared_other(self): method test_get_db_prep_value_unprepared_other (line 87) | def test_get_db_prep_value_unprepared_other(self): class TestDictAsJsonField (line 101) | class TestDictAsJsonField(object): method test_to_python_dict (line 102) | def test_to_python_dict(self): method test_to_python_json (line 108) | def test_to_python_json(self): method test_to_python_pickle (line 120) | def test_to_python_pickle(self): method test_to_python_pickle_str (line 127) | def test_to_python_pickle_str(self): method test_get_prep_value_empty (line 137) | def test_get_prep_value_empty(self): method test_get_prep_value_filled (line 142) | def test_get_prep_value_filled(self): class TestLegacyGenericForeignKey (line 148) | class TestLegacyGenericForeignKey(object): method test_get_model_class_unknown_model (line 149) | def test_get_model_class_unknown_model(self): method test_get_model_class_known_model (line 153) | def test_get_model_class_known_model(self): class TestPointField (line 159) | class TestPointField(object): method test_to_python_from_string (line 160) | def test_to_python_from_string(self): method get_db_prep_value (line 167) | def get_db_prep_value(self): FILE: tests/unittests/models/jwtrefreshtoken_test.py class TestIsActive (line 7) | class TestIsActive: method test_when_token_activates_in_the_future_it_should_return_false (line 8) | def test_when_token_activates_in_the_future_it_should_return_false(self): method test_when_token_expired_in_the_past_it_should_return_false (line 18) | def test_when_token_expired_in_the_past_it_should_return_false(self): method test_when_token_activated_in_the_past_and_expires_in_the_future_it_should_return_true (line 28) | def test_when_token_activated_in_the_past_and_expires_in_the_future_it... method test_when_token_activates_now_and_expires_in_the_future_it_should_return_true (line 40) | def test_when_token_activates_now_and_expires_in_the_future_it_should_... function test_string_representation_should_match_name (line 56) | def test_string_representation_should_match_name(): FILE: tests/unittests/models/netbox_test.py class TestGetPreferredSnmpProfiles (line 8) | class TestGetPreferredSnmpProfiles: method test_when_write_required_is_false_then_it_should_prefer_a_read_profile (line 9) | def test_when_write_required_is_false_then_it_should_prefer_a_read_pro... method test_when_write_required_is_true_then_it_should_return_a_write_profile (line 15) | def test_when_write_required_is_true_then_it_should_return_a_write_pro... method test_when_write_required_is_false_it_should_return_a_writable_profile_of_a_higher_snmp_version (line 23) | def test_when_write_required_is_false_it_should_return_a_writable_prof... function mocked_netbox (line 39) | def mocked_netbox(mock_profiles): function mock_profiles (line 47) | def mock_profiles(): FILE: tests/unittests/models/sensor_test.py function test_sensor_normalized_units_should_accept_blank_units (line 4) | def test_sensor_normalized_units_should_accept_blank_units(): FILE: tests/unittests/models/varmap_test.py function test_setting_varmap_on_new_event_should_not_raise (line 4) | def test_setting_varmap_on_new_event_should_not_raise(): FILE: tests/unittests/napalm_test.py function netbox_mock (line 25) | def netbox_mock(): function profile_mock (line 33) | def profile_mock(): class TestNapalm (line 42) | class TestNapalm: method test_napalm_connect_runs_without_errors_for_correct_netbox_and_profile (line 43) | def test_napalm_connect_runs_without_errors_for_correct_netbox_and_pro... method test_napalm_connect_throws_exception_for_snmp_profile (line 53) | def test_napalm_connect_throws_exception_for_snmp_profile( method test_napalm_connect_throws_exception_for_profile_without_driver (line 61) | def test_napalm_connect_throws_exception_for_profile_without_driver( FILE: tests/unittests/natsort_test.py function test_natsort_split_should_split_correctly (line 16) | def test_natsort_split_should_split_correctly(string, expected): function test_natsort_splits_can_be_sorted (line 20) | def test_natsort_splits_can_be_sorted(): FILE: tests/unittests/netmap/cache_test.py class TestSafeCacheSet (line 12) | class TestSafeCacheSet: method test_when_cache_set_succeeds_it_should_call_cache_set (line 13) | def test_when_cache_set_succeeds_it_should_call_cache_set(self): method test_when_cache_set_raises_it_should_log_warning_not_raise (line 18) | def test_when_cache_set_raises_it_should_log_warning_not_raise(self): class TestCacheTopology (line 26) | class TestCacheTopology: method test_when_cache_set_fails_it_should_still_return_result (line 27) | def test_when_cache_set_fails_it_should_still_return_result(self): method test_when_cached_data_exists_it_should_return_cached_data (line 39) | def test_when_cached_data_exists_it_should_return_cached_data(self): class TestCacheTraffic (line 52) | class TestCacheTraffic: method test_when_cache_set_fails_it_should_still_return_result (line 53) | def test_when_cache_set_fails_it_should_still_return_result(self): FILE: tests/unittests/netmap/metaclass_testcase.py class MetaClassTestCase (line 6) | class MetaClassTestCase(unittest.TestCase): method setUp (line 7) | def setUp(self): FILE: tests/unittests/netmap/metadata_json_test.py class MetaClassesJsonTests (line 27) | class MetaClassesJsonTests(MetaClassTestCase): method test_allow_group_interface_to_be_none (line 28) | def test_allow_group_interface_to_be_none(self): method test_group_renders_gw_ip_if_included (line 32) | def test_group_renders_gw_ip_if_included(self): method test_group_renders_virtual_if_included_and_value_is_true (line 40) | def test_group_renders_virtual_if_included_and_value_is_true(self): method test_group_renders_virtual_if_included_and_value_is_false (line 47) | def test_group_renders_virtual_if_included_and_value_is_false(self): class SharedJsonMetadataTests (line 55) | class SharedJsonMetadataTests: method test_not_failing_when_both_interface_speed_is_undefined (line 56) | def test_not_failing_when_both_interface_speed_is_undefined(self): method test_json_edge_is_NA_if_speed_is_undefined (line 62) | def test_json_edge_is_NA_if_speed_is_undefined(self): method test_stubbed_netbox_always_gives_is_elink (line 70) | def test_stubbed_netbox_always_gives_is_elink(self): method test_json_id_is_included_in_metadata_from_node (line 86) | def test_json_id_is_included_in_metadata_from_node(self): method test_json_sysname_is_included_in_metadata_from_node (line 91) | def test_json_sysname_is_included_in_metadata_from_node(self): method test_json_category_is_included_in_metadata_from_node (line 96) | def test_json_category_is_included_in_metadata_from_node(self): method test_json_ip_is_included_in_metadata_from_node (line 101) | def test_json_ip_is_included_in_metadata_from_node(self): method test_json_ipdevinfo_link_is_included_in_metadata_from_node (line 106) | def test_json_ipdevinfo_link_is_included_in_metadata_from_node(self): method test_json_position_is_included_in_metadata_from_node (line 111) | def test_json_position_is_included_in_metadata_from_node(self): method test_json_position_is_not_in_json_if_position_data_not_available_from_graph (line 116) | def test_json_position_is_not_in_json_if_position_data_not_available_f... method test_json_up_is_included_in_metadata_from_node (line 123) | def test_json_up_is_included_in_metadata_from_node(self): method test_json_up_image_is_included_in_metadata_from_node (line 128) | def test_json_up_image_is_included_in_metadata_from_node(self): method test_json_roomid_is_included_in_metadata_from_node (line 133) | def test_json_roomid_is_included_in_metadata_from_node(self): method test_json_locationid_is_included_in_metadata_from_node (line 138) | def test_json_locationid_is_included_in_metadata_from_node(self): method test_json_location_is_included_in_metadata_from_node (line 143) | def test_json_location_is_included_in_metadata_from_node(self): method test_json_room_is_included_in_metadata_from_node (line 148) | def test_json_room_is_included_in_metadata_from_node(self): method test_json_is_elink_node_is_included_in_metadata_from_node (line 153) | def test_json_is_elink_node_is_included_in_metadata_from_node(self): class Layer2JsonMetadataTests (line 159) | class Layer2JsonMetadataTests(SharedJsonMetadataTests, TopologyLayer2Tes... method setUp (line 160) | def setUp(self): method test_json_node_contains_vlan_data (line 182) | def test_json_node_contains_vlan_data(self): class Layer3JsonMetadataTests (line 197) | class Layer3JsonMetadataTests(SharedJsonMetadataTests, TopologyLayer3Tes... method setUp (line 198) | def setUp(self): method test_layer3_prefix_is_added_between_a_and_b (line 206) | def test_layer3_prefix_is_added_between_a_and_b(self): method test_layer3_v4_and_v6_prefixes_added_between_a_and_c (line 216) | def test_layer3_v4_and_v6_prefixes_added_between_a_and_c(self): FILE: tests/unittests/netmap/metadata_nx_test.py class MetaClassesTests (line 9) | class MetaClassesTests(MetaClassTestCase): method test_group_does_not_raise_exception_when_interface_is_none (line 10) | def test_group_does_not_raise_exception_when_interface_is_none(self): method test_edge_allows_both_interface_linkspeed_in_group_to_be_none (line 13) | def test_edge_allows_both_interface_linkspeed_in_group_to_be_none(self): class Layer2NetworkXMetadataTests (line 27) | class Layer2NetworkXMetadataTests(TopologyLayer2TestCase): method _get_metadata (line 28) | def _get_metadata(self, node_a, node_b, metadata_key='metadata'): method test_metadata_contains_edge_objects (line 31) | def test_metadata_contains_edge_objects(self): method test_node_a1_and_b1_contains_vlan_metadata (line 36) | def test_node_a1_and_b1_contains_vlan_metadata(self): method test_edge_between_a_and_b_has_2_edges_as_metdata (line 44) | def test_edge_between_a_and_b_has_2_edges_as_metdata(self): method test_edge_between_a_and_b_contains_a1_b1__and__a2_b2_uplinks (line 48) | def test_edge_between_a_and_b_contains_a1_b1__and__a2_b2_uplinks(self): method test_netmap_metadata_shows_2_links_for_edge_between_a_and_b (line 60) | def test_netmap_metadata_shows_2_links_for_edge_between_a_and_b(self): method test_netmap_metadata_is_correct_for_2_links_edge_between_a_and_b (line 63) | def test_netmap_metadata_is_correct_for_2_links_edge_between_a_and_b(s... class Layer3NetworkXMetadataTests (line 72) | class Layer3NetworkXMetadataTests(TopologyLayer3TestCase): method test_link_between_a_and_c_contains_both_v4_and_v6_prefix (line 73) | def test_link_between_a_and_c_contains_both_v4_and_v6_prefix(self): method test_link_got_prefixed_attached (line 83) | def test_link_got_prefixed_attached(self): method test_edge_has_correct_metadata (line 116) | def test_edge_has_correct_metadata(self): method test_uplink_has_all_layer3_properties_it_should_for_source (line 140) | def test_uplink_has_all_layer3_properties_it_should_for_source(self): method test_uplink_has_all_layer3_properties_it_should_for_target (line 153) | def test_uplink_has_all_layer3_properties_it_should_for_target(self): method test_uplink_has_all_layer3_properties_it_should (line 166) | def test_uplink_has_all_layer3_properties_it_should(self): FILE: tests/unittests/netmap/multidigraph_to_undirect_test.py class Layer2MultiGraphToUndirectTests (line 10) | class Layer2MultiGraphToUndirectTests(TopologyLayer2TestCase): method test_b1_and_b2_netbox_is_the_same (line 11) | def test_b1_and_b2_netbox_is_the_same(self): method test_nodes_length_of_orignal_graph_consists_with_nav_topology_behavior (line 24) | def test_nodes_length_of_orignal_graph_consists_with_nav_topology_beha... method test_edges_length_of_orginal_graph_consists_with_nav_topology_behavior (line 33) | def test_edges_length_of_orginal_graph_consists_with_nav_topology_beha... method test_nodes_length_of_netmap_graph_is_reduced_properly (line 38) | def test_nodes_length_of_netmap_graph_is_reduced_properly(self): method test_edges_length_of_netmap_graph_is_reduced_properly (line 42) | def test_edges_length_of_netmap_graph_is_reduced_properly(self): method test_layer2_create_directional_metadata_from_nav_graph (line 51) | def test_layer2_create_directional_metadata_from_nav_graph(self): class Layer3MultiGraphToUndirectTests (line 69) | class Layer3MultiGraphToUndirectTests(TopologyLayer3TestCase): method test_nodes_length_of_orignal_graph_consists_with_nav_topology_behavior (line 70) | def test_nodes_length_of_orignal_graph_consists_with_nav_topology_beha... method test_edges_length_of_original_graph_consiits_with_nav_topology_behavior (line 74) | def test_edges_length_of_original_graph_consiits_with_nav_topology_beh... method test_nodes_length_of_netmap_graph_is_reduced_properly (line 78) | def test_nodes_length_of_netmap_graph_is_reduced_properly(self): method test_edges_length_of_netmap_graph_is_reduced_properly (line 82) | def test_edges_length_of_netmap_graph_is_reduced_properly(self): method test_layer3_edges_is_as_expected_in_netmap_graph (line 85) | def test_layer3_edges_is_as_expected_in_netmap_graph(self): method test_layer3_only_one_vlan_on_all_edges (line 96) | def test_layer3_only_one_vlan_on_all_edges(self): method test_layer3__a__c__vlan_contains_both_v4_and_v6_prefixes (line 127) | def test_layer3__a__c__vlan_contains_both_v4_and_v6_prefixes(self): FILE: tests/unittests/netmap/stubs_test.py class TestNetboxEqWithNonStubValues (line 5) | class TestNetboxEqWithNonStubValues: method test_when_value_is_orm_model_with_same_sysname_it_should_return_true (line 6) | def test_when_value_is_orm_model_with_same_sysname_it_should_return_tr... method test_when_value_is_orm_model_with_different_sysname_it_should_return_false (line 12) | def test_when_value_is_orm_model_with_different_sysname_it_should_retu... FILE: tests/unittests/netmap/topology_layer2_testcase.py class TopologyLayer2TestCase (line 9) | class TopologyLayer2TestCase(TopologyTestCase): method setUp (line 10) | def setUp(self): method tearDown (line 75) | def tearDown(self): method test_noop_layer2_testcase_setup (line 79) | def test_noop_layer2_testcase_setup(self): method _add_edge (line 82) | def _add_edge(self, g, node_a, interface_a, node_b, interface_b): FILE: tests/unittests/netmap/topology_layer3_testcase.py class TopologyLayer3TestCase (line 9) | class TopologyLayer3TestCase(TopologyTestCase): method setUp (line 10) | def setUp(self): method tearDown (line 252) | def tearDown(self): method _add_edge (line 256) | def _add_edge(self, graph, netbox_a, netbox_b, prefix): method test_noop_layer3_testcase_setup (line 259) | def test_noop_layer3_testcase_setup(self): method test_noop_setup_netmap_graph_layer3 (line 262) | def test_noop_setup_netmap_graph_layer3(self): FILE: tests/unittests/netmap/topology_testcase.py class TopologyTestCase (line 5) | class TopologyTestCase(unittest.TestCase): method setUp (line 6) | def setUp(self): method _next_id (line 16) | def _next_id(self): method _netbox_factory (line 20) | def _netbox_factory(self, sysname, interface=None): method _interface_factory (line 30) | def _interface_factory(self, ifname, netbox): FILE: tests/unittests/pgsync_test.py class TestChangeScriptFinder (line 7) | class TestChangeScriptFinder(TestCase): method test_init_should_read_sql_filenames_from_package_and_return_list_of_relative_filenames (line 8) | def test_init_should_read_sql_filenames_from_package_and_return_list_o... class TestSynchronizer (line 18) | class TestSynchronizer(TestCase): method test_should_read_sql_file_from_package_and_return_bytes (line 19) | def test_should_read_sql_file_from_package_and_return_bytes(self): FILE: tests/unittests/portadmin/conftest.py function profile (line 11) | def profile(): function netbox_hp (line 20) | def netbox_hp(profile): function netbox_cisco (line 38) | def netbox_cisco(profile): function netbox_cisco_smb (line 56) | def netbox_cisco_smb(netbox_cisco): function handler_hp (line 62) | def handler_hp(netbox_hp): function handler_cisco (line 67) | def handler_cisco(netbox_cisco): FILE: tests/unittests/portadmin/napalm/conftest.py function netbox_mock (line 10) | def netbox_mock(interface1_mock, interface2_mock): function profile_mock (line 20) | def profile_mock(): function handler_mock (line 30) | def handler_mock(netbox_mock, profile_mock): function interface1_mock (line 38) | def interface1_mock(): function interface2_mock (line 46) | def interface2_mock(): FILE: tests/unittests/portadmin/napalm/juniper_poe_test.py function test_returns_correct_state_options (line 14) | def test_returns_correct_state_options(handler_mock): function test_state_converter_returns_correct_states (line 20) | def test_state_converter_returns_correct_states(handler_mock): function test_state_converter_raises_error_for_invalid_states (line 25) | def test_state_converter_raises_error_for_invalid_states(handler_mock): class TestGetPoeStates (line 30) | class TestGetPoeStates: method test_interfaces_from_db_is_used_if_input_is_none (line 31) | def test_interfaces_from_db_is_used_if_input_is_none(self, handler_moc... method test_interfaces_from_db_is_used_if_input_is_empty (line 38) | def test_interfaces_from_db_is_used_if_input_is_empty(self, handler_mo... method test_returns_empty_dict_if_no_input_and_no_interfaces_in_db (line 45) | def test_returns_empty_dict_if_no_input_and_no_interfaces_in_db( method test_returns_correct_state_if_input_has_one_interface (line 52) | def test_returns_correct_state_if_input_has_one_interface( method test_returns_correct_states_if_input_has_multiple_interfaces (line 59) | def test_returns_correct_states_if_input_has_multiple_interfaces( method test_returns_none_for_single_interface_that_does_not_support_poe (line 67) | def test_returns_none_for_single_interface_that_does_not_support_poe( method test_returns_none_for_multiple_interfaces_that_does_not_support_poe (line 74) | def test_returns_none_for_multiple_interfaces_that_does_not_support_poe( class TestGetSinglePoeState (line 84) | class TestGetSinglePoeState: method test_returns_correct_state_for_interface_that_exists_in_xml_response (line 85) | def test_returns_correct_state_for_interface_that_exists_in_xml_response( method test_raises_exception_if_no_interfaces_in_xml (line 92) | def test_raises_exception_if_no_interfaces_in_xml( method test_raises_exception_if_multiple_interfaces_in_xml (line 99) | def test_raises_exception_if_multiple_interfaces_in_xml( class TestGetPoeStatesBulk (line 109) | class TestGetPoeStatesBulk: method test_returns_correct_states (line 110) | def test_returns_correct_states( method test_maps_interface_to_none_if_poe_not_supported (line 118) | def test_maps_interface_to_none_if_poe_not_supported(self, handler_moc... method test_returns_none_values_if_no_interfaces_in_xml (line 126) | def test_returns_none_values_if_no_interfaces_in_xml( function xml (line 138) | def xml(interface1_mock): function xml_bulk_wrong_format (line 152) | def xml_bulk_wrong_format(interface1_mock, interface2_mock): function xml_bulk (line 173) | def xml_bulk(interface1_mock, interface2_mock): function xml_empty (line 191) | def xml_empty(): FILE: tests/unittests/portadmin/napalm/juniper_test.py class TestWrapUnhandledRpcErrors (line 31) | class TestWrapUnhandledRpcErrors: method test_rpcerrors_should_become_protocolerrors (line 32) | def test_rpcerrors_should_become_protocolerrors(self): method test_non_rpcerrors_should_pass_through (line 40) | def test_non_rpcerrors_should_pass_through(self): class TestJuniper (line 49) | class TestJuniper: method test_juniper_device_returns_device_connection (line 50) | def test_juniper_device_returns_device_connection(self, handler_mock): method test_juniper_device_raises_error_if_vendor_not_juniper (line 61) | def test_juniper_device_raises_error_if_vendor_not_juniper( method test_juniper_device_raises_error_if_no_connected_profile (line 71) | def test_juniper_device_raises_error_if_no_connected_profile(self, net... method test_get_netbox_vlans_should_ignore_vlans_with_non_integer_tags (line 79) | def test_get_netbox_vlans_should_ignore_vlans_with_non_integer_tags(se... FILE: tests/unittests/portadmin/portadmin_poe_cisco_test.py class TestGetPoeStateOptions (line 10) | class TestGetPoeStateOptions: method test_returns_correct_options (line 11) | def test_returns_correct_options(self, handler_cisco): class TestGetPoeState (line 19) | class TestGetPoeState: method test_should_raise_exception_if_unknown_poe_state (line 21) | def test_should_raise_exception_if_unknown_poe_state(self, handler_cis... method test_dict_should_give_none_if_interface_does_not_have_poeport (line 28) | def test_dict_should_give_none_if_interface_does_not_have_poeport( method test_dict_should_give_none_if_interface_does_not_support_poe (line 36) | def test_dict_should_give_none_if_interface_does_not_support_poe( method test_returns_correct_poe_state (line 45) | def test_returns_correct_poe_state(self, handler_cisco): method test_use_interfaces_from_db_if_empty_interfaces_arg (line 53) | def test_use_interfaces_from_db_if_empty_interfaces_arg(self, handler_... function poeport_get_mock (line 63) | def poeport_get_mock(): function poeport_get_mock_error (line 72) | def poeport_get_mock_error(): FILE: tests/unittests/portadmin/portadmin_test.py class TestPortadminManagementFactory (line 10) | class TestPortadminManagementFactory: method test_get_hp (line 11) | def test_get_hp(self, netbox_hp): method test_get_cisco (line 16) | def test_get_cisco(self, netbox_cisco): method test_when_device_is_cisco_smb_switch_it_should_return_generic_snmp_handler (line 21) | def test_when_device_is_cisco_smb_switch_it_should_return_generic_snmp... class TestPortadminResponseHP (line 29) | class TestPortadminResponseHP: method test_get_vlan_hp (line 30) | def test_get_vlan_hp(self, handler_hp): method test_get_ifaliases_hp (line 42) | def test_get_ifaliases_hp(self, handler_hp): method test_set_ifalias_hp (line 52) | def test_set_ifalias_hp(self, handler_hp): class TestPortadminResponseCisco (line 65) | class TestPortadminResponseCisco: method test_get_vlan_cisco (line 66) | def test_get_vlan_cisco(self, handler_cisco): method test_get_ifaliases_cisco (line 76) | def test_get_ifaliases_cisco(self, handler_cisco): FILE: tests/unittests/portadmin/portadmin_util_test.py class TestPortAdminUtil (line 13) | class TestPortAdminUtil(unittest.TestCase): method setUp (line 16) | def setUp(self): method test_find_vlans_in_org_no_children (line 40) | def test_find_vlans_in_org_no_children(self): method test_find_vlans_in_org_one_child (line 44) | def test_find_vlans_in_org_one_child(self): method test_find_vlans_in_org_two_children (line 51) | def test_find_vlans_in_org_two_children(self): method test_find_vlans_in_org_no_duplicates (line 64) | def test_find_vlans_in_org_no_duplicates(self): method test_find_vlans_in_org_filter_nonevalues (line 78) | def test_find_vlans_in_org_filter_nonevalues(self): method test_find_allowed_vlans_for_user (line 86) | def test_find_allowed_vlans_for_user(self): method test_filter_vlans_add (line 103) | def test_filter_vlans_add(self): method test_filter_vlans_add_deny (line 113) | def test_filter_vlans_add_deny(self): method test_filter_vlans_remove (line 123) | def test_filter_vlans_remove(self): method test_filter_vlans_remove_deny (line 133) | def test_filter_vlans_remove_deny(self): FILE: tests/unittests/portadmin/snmputils_test.py class SnmpUtilsTest (line 24) | class SnmpUtilsTest(unittest.TestCase): method test_chunkify (line 27) | def test_chunkify(self): FILE: tests/unittests/report/iptools_test.py class IPtoolTest (line 7) | class IPtoolTest(TestCase): method test_ipv6_andIpMask (line 8) | def test_ipv6_andIpMask(self): FILE: tests/unittests/report/util_test.py class TestPageRangeForPage1 (line 6) | class TestPageRangeForPage1(object): method setup_class (line 10) | def setup_class(cls): method test_current_page_is_in_range (line 15) | def test_current_page_is_in_range(self): method test_returns_num_visible_pages (line 18) | def test_returns_num_visible_pages(self): class TestGenericPageRangeCalls (line 22) | class TestGenericPageRangeCalls(object): method test_except_when_total_is_less (line 23) | def test_except_when_total_is_less(self): method test_start_at_first_returns_correct_number (line 27) | def test_start_at_first_returns_correct_number(self): method test_start_at_last_returns_correct_number (line 31) | def test_start_at_last_returns_correct_number(self): method test_page_should_be_center (line 35) | def test_page_should_be_center(self): method test_page_in_middle_of_long_range_should_not_crash (line 39) | def test_page_in_middle_of_long_range_should_not_crash(self): FILE: tests/unittests/seeddb/management_profile_test.py class TestSnmpv3Form (line 4) | class TestSnmpv3Form: method test_when_seclevel_is_noauth_then_it_should_not_require_auth_password (line 5) | def test_when_seclevel_is_noauth_then_it_should_not_require_auth_passw... method test_when_seclevel_is_auth_then_it_should_require_auth_password (line 16) | def test_when_seclevel_is_auth_then_it_should_require_auth_password(se... method test_when_seclevel_is_priv_then_it_should_require_priv_password (line 27) | def test_when_seclevel_is_priv_then_it_should_require_priv_password(se... method test_when_seclevel_is_priv_then_it_should_accept_priv_password (line 38) | def test_when_seclevel_is_priv_then_it_should_accept_priv_password(self): FILE: tests/unittests/seeddb/seeddb_test.py class PrefixTest (line 8) | class PrefixTest(unittest.TestCase): method test_no_ancestors (line 12) | def test_no_ancestors(self): method test_should_ignore_first_ancestor (line 15) | def test_should_ignore_first_ancestor(self): method test_should_map_true_to_two_spaces (line 18) | def test_should_map_true_to_two_spaces(self): method test_should_map_false_to_pipeish_and_space (line 21) | def test_should_map_false_to_pipeish_and_space(self): method test_should_map_several_chars (line 24) | def test_should_map_several_chars(self): method test_should_map_mixed_chars (line 32) | def test_should_map_mixed_chars(self): class TreePadTest (line 41) | class TreePadTest(unittest.TestCase): method setUp (line 45) | def setUp(self): method test_no_ancestors (line 48) | def test_no_ancestors(self): method test_one_ancestor_last_child (line 51) | def test_one_ancestor_last_child(self): method test_one_ancestor_not_last_child (line 57) | def test_one_ancestor_not_last_child(self): method test_multiple_ancestors (line 63) | def test_multiple_ancestors(self): class TestCreateChoices (line 68) | class TestCreateChoices(unittest.TestCase): method my_setup (line 69) | def my_setup(self, children=None): method test_root_node (line 81) | def test_root_node(self): method test_one_child (line 86) | def test_one_child(self): method test_two_children (line 92) | def test_two_children(self): method test_two_children_prefix_first (line 98) | def test_two_children_prefix_first(self): method test_two_children_prefix_second (line 103) | def test_two_children_prefix_second(self): FILE: tests/unittests/smsd/dispatcher_test.py class TestDispatcherHandler (line 26) | class TestDispatcherHandler(object): method test_init_with_simple_config (line 41) | def test_init_with_simple_config(self): method test_empty_message_list (line 44) | def test_empty_message_list(self): method test_dispatcher_exception (line 48) | def test_dispatcher_exception(self): method test_dispatcher_unhandled_exception (line 53) | def test_dispatcher_unhandled_exception(self): class FakeDispatcherHandler (line 59) | class FakeDispatcherHandler(dispatcher.DispatcherHandler): method importbyname (line 60) | def importbyname(self, name): class FakeDispatcher (line 67) | class FakeDispatcher(object): method __init__ (line 68) | def __init__(self, *args, **kwargs): method sendsms (line 72) | def sendsms(self, phone, msgs): FILE: tests/unittests/smsd/gammudispatcher_test.py class TestThatDecodeSmsToUnicode (line 26) | class TestThatDecodeSmsToUnicode: method test_should_decode_ascii_bytes_to_comparable_string (line 27) | def test_should_decode_ascii_bytes_to_comparable_string(self): method test_should_decode_string_to_comparable_string (line 32) | def test_should_decode_string_to_comparable_string(self): method test_should_decode_utf8_string_properly (line 37) | def test_should_decode_utf8_string_properly(self): class TestThatGammuDispatcher (line 44) | class TestThatGammuDispatcher: method test_can_be_initialized (line 45) | def test_can_be_initialized(self): method test_should_send_sms_without_error (line 49) | def test_should_send_sms_without_error(self): method test_should_raise_permanent_error_when_gammu_cannot_read_config (line 54) | def test_should_raise_permanent_error_when_gammu_cannot_read_config(se... method test_should_raise_permanent_error_when_gammu_errors_during_init (line 62) | def test_should_raise_permanent_error_when_gammu_errors_during_init( method test_should_raise_temporary_when_gammu_send_fails (line 72) | def test_should_raise_temporary_when_gammu_send_fails(self, mock_gsm_e... function mock_gsm_error (line 82) | def mock_gsm_error(): FILE: tests/unittests/snmptrapd/plugin_test.py class SnmptrapdPluginTest (line 8) | class SnmptrapdPluginTest(TestCase): method setUp (line 9) | def setUp(self): method tearDown (line 35) | def tearDown(self): method test_plugin_loader_raises_no_exception_if_plugin_has_initialize_method (line 38) | def test_plugin_loader_raises_no_exception_if_plugin_has_initialize_me... method test_plugin_loader_raises_no_exception_if_plugin_has_no_initialize_method (line 46) | def test_plugin_loader_raises_no_exception_if_plugin_has_no_initialize... method test_plugin_loader_calls_initialize_method_if_it_exists (line 54) | def test_plugin_loader_calls_initialize_method_if_it_exists(self): method test_plugin_loads_all_plugins (line 60) | def test_plugin_loads_all_plugins(self): method test_plugin_raises_module_load_error_on_bad_plugin (line 66) | def test_plugin_raises_module_load_error_on_bad_plugin(self): method test_plugin_raises_module_load_error_import_error (line 70) | def test_plugin_raises_module_load_error_import_error(self): FILE: tests/unittests/snmptrapd/weathergoose_test.py class TestWeatherGoose1Class (line 7) | class TestWeatherGoose1Class(object): method test_should_not_handle_a_weathergoose2_trap (line 8) | def test_should_not_handle_a_weathergoose2_trap(self): method test_should_handle_a_weathergoose1_trap (line 11) | def test_should_handle_a_weathergoose1_trap(self): method test_should_map_oid_to_correct_trigger (line 14) | def test_should_map_oid_to_correct_trigger(self): method test_init_should_raise_on_invalid_oid (line 20) | def test_init_should_raise_on_invalid_oid(self): class Event (line 26) | class Event(dict): method post (line 27) | def post(self): class TestWeatherGoose1Trap (line 32) | class TestWeatherGoose1Trap(object): method test_init_should_parse_trap_without_error (line 43) | def test_init_should_parse_trap_without_error(self): method test_should_find_correct_alert_type (line 46) | def test_should_find_correct_alert_type(self): method test_should_find_correct_goosename (line 50) | def test_should_find_correct_goosename(self): method test_should_find_climate_values (line 54) | def test_should_find_climate_values(self): method test_should_find_triptype_high (line 58) | def test_should_find_triptype_high(self): method test_event_event_post (line 62) | def test_event_event_post(self): method test_should_find_correct_sensorname (line 66) | def test_should_find_correct_sensorname(self): class TestWeatherGoose2 (line 71) | class TestWeatherGoose2(object): method test_should_not_handle_a_weathergoose1_trap (line 72) | def test_should_not_handle_a_weathergoose1_trap(self): method test_should_handle_a_weathergoose2_trap (line 75) | def test_should_handle_a_weathergoose2_trap(self): method test_should_handle_a_weathergoose2_remote_trap (line 78) | def test_should_handle_a_weathergoose2_remote_trap(self): method test_should_map_oid_to_correct_trigger (line 81) | def test_should_map_oid_to_correct_trigger(self): method test_should_map_oid_to_correct_trigger_for_remote (line 87) | def test_should_map_oid_to_correct_trigger_for_remote(self): method test_should_find_correct_alert_type (line 93) | def test_should_find_correct_alert_type(self): method test_should_find_correct_alert_type_remote (line 101) | def test_should_find_correct_alert_type_remote(self): method test_should_add_subid_when_alarminstance_defined (line 109) | def test_should_add_subid_when_alarminstance_defined(self): method test_should_not_add_subid_when_not_in_varbinds (line 120) | def test_should_not_add_subid_when_not_in_varbinds(self): method test_should_find_correct_value_from_external_trap (line 130) | def test_should_find_correct_value_from_external_trap(self): method test_should_find_correct_internal_sensorname (line 141) | def test_should_find_correct_internal_sensorname(self): method test_should_find_correct_external_sensorname (line 154) | def test_should_find_correct_external_sensorname(self): class TestGeistWeatherGoose (line 168) | class TestGeistWeatherGoose(object): method test_should_handle_a_geist_weathergoose_trap (line 169) | def test_should_handle_a_geist_weathergoose_trap(self): method test_should_handle_a_geist_weathergoose_remote_trap (line 172) | def test_should_handle_a_geist_weathergoose_remote_trap(self): FILE: tests/unittests/statemon/conftest.py function modulo_pid (line 6) | def modulo_pid(): FILE: tests/unittests/statemon/db_test.py class DBTestcase (line 8) | class DBTestcase(TestCase): method test_build_host_query (line 9) | def test_build_host_query(self): FILE: tests/unittests/statemon/host_test.py class TestHost (line 5) | class TestHost: method test_make_v4_packet (line 8) | def test_make_v4_packet(self, modulo_pid): method test_make_v6_packet (line 26) | def test_make_v6_packet(self, modulo_pid): method test_ip_validation (line 44) | def test_ip_validation(self): FILE: tests/unittests/statemon/icmp_test.py class TestICMPPacket (line 4) | class TestICMPPacket: method test_assemble_v6_packet_echo (line 5) | def test_assemble_v6_packet_echo(self, modulo_pid): method test_assemble_v4_packet_echo (line 32) | def test_assemble_v4_packet_echo(self, modulo_pid): FILE: tests/unittests/statemon/runqueue_test.py class TestRunQueue (line 22) | class TestRunQueue(object): method test_deq_should_wait_if_queue_is_empty (line 25) | def test_deq_should_wait_if_queue_is_empty(self, config): method test_queue_is_read_in_correct_order (line 33) | def test_queue_is_read_in_correct_order(self, mocktime, config): method test_deq_raises_when_stopped (line 52) | def test_deq_raises_when_stopped(self, config): FILE: tests/unittests/thresholdmon_test.py function test_non_model_subject_should_not_crash (line 5) | def test_non_model_subject_should_not_crash(): FILE: tests/unittests/topology/analyze_test.py class TestAdjecencyReducer (line 21) | class TestAdjecencyReducer(object): method setup_class (line 25) | def setup_class(cls): method test_reduce_simple_case_cam (line 44) | def test_reduce_simple_case_cam(self): method test_reduce_simple_case_lldp (line 62) | def test_reduce_simple_case_lldp(self): method test_reduce_simple_tree_lldp (line 80) | def test_reduce_simple_tree_lldp(self): method test_reduce_simple_tree_cam (line 106) | def test_reduce_simple_tree_cam(self): method test_reduce_tree_cam (line 133) | def test_reduce_tree_cam(self): method test_reduce_simple_lldp_tree_and_cam (line 162) | def test_reduce_simple_lldp_tree_and_cam(self): method test_self_loop (line 194) | def test_self_loop(self): method test_no_return_path (line 207) | def test_no_return_path(self): FILE: tests/unittests/watchdog/tests_test.py function netboxes (line 27) | def netboxes(): class TestDuplicateHostname (line 47) | class TestDuplicateHostname(object): method test_get_status (line 48) | def test_get_status(self, netboxes): method test_status_when_initialized_is_unknown (line 52) | def test_status_when_initialized_is_unknown(self, netboxes): method test_length_of_errors_when_initialized_is_zero (line 56) | def test_length_of_errors_when_initialized_is_zero(self, netboxes): method test_length_of_errors_when_run_is_one (line 60) | def test_length_of_errors_when_run_is_one(self, netboxes): method test_errors_should_be_of_type_testresult (line 65) | def test_errors_should_be_of_type_testresult(self, netboxes): class TestNewCamAndArp (line 72) | class TestNewCamAndArp(object): method create_mock_time (line 73) | def create_mock_time(self, seconds, endtime=None): method test_no_arp_or_cam_records (line 80) | def test_no_arp_or_cam_records(self, get_latest): method test_cam_not_collected (line 85) | def test_cam_not_collected(self, get_latest): method test_cam_collected (line 92) | def test_cam_collected(self, get_latest): method test_arp_not_collected (line 99) | def test_arp_not_collected(self, get_latest): method test_arp_collected (line 106) | def test_arp_collected(self, get_latest): method test_both_collected (line 113) | def test_both_collected(self, get_latest): method test_none_collected (line 121) | def test_none_collected(self, get_latest): FILE: tests/unittests/web/auth/allauth_config_test.py class SocialProviderHelperTest (line 17) | class SocialProviderHelperTest(TestCase): class MyConfig (line 18) | class MyConfig(SocialProviderHelper, TOMLConfigParser): method test_when_providers_exist_then_get_providers_should_return_subkey_value (line 23) | def test_when_providers_exist_then_get_providers_should_return_subkey_... method test_when_no_providers_exist_then_get_providers_should_return_empty_dict (line 34) | def test_when_no_providers_exist_then_get_providers_should_return_empt... class SocialConfigParserTests (line 40) | class SocialConfigParserTests(TestCase): method test_when_providers_configured_then_generate_SOCIALACCOUNT_PROVIDERS_should_return_translated_config (line 41) | def test_when_providers_configured_then_generate_SOCIALACCOUNT_PROVIDE... method test_when_no_config_then_generate_SOCIALACCOUNT_PROVIDERS_should_return_empty_dict (line 80) | def test_when_no_config_then_generate_SOCIALACCOUNT_PROVIDERS_should_r... class OIDCConfigParserTests (line 88) | class OIDCConfigParserTests(TestCase): method test_when_idps_configured_then_generate_SOCIALACCOUNT_PROVIDERS_should_return_translated_config (line 89) | def test_when_idps_configured_then_generate_SOCIALACCOUNT_PROVIDERS_sh... method test_when_no_config_then_generate_SOCIALACCOUNT_PROVIDERS_should_return_empty_dict (line 127) | def test_when_no_config_then_generate_SOCIALACCOUNT_PROVIDERS_should_r... method test_when_no_uid_field_set_then_it_should_fall_back_to_sub (line 134) | def test_when_no_uid_field_set_then_it_should_fall_back_to_sub(self): FILE: tests/unittests/web/auth/allauth_views_test.py class TestNAVConnectionsView (line 6) | class TestNAVConnectionsView: method test_when_user_has_connections_then_it_should_include_connected_providers (line 7) | def test_when_user_has_connections_then_it_should_include_connected_pr... method test_when_user_has_no_connections_then_it_should_have_empty_set (line 27) | def test_when_user_has_no_connections_then_it_should_have_empty_set(se... method test_when_user_has_connections_then_it_should_preserve_parent_context (line 46) | def test_when_user_has_connections_then_it_should_preserve_parent_cont... FILE: tests/unittests/web/auth/backends_test.py class TestNAVRemoteUserBackend (line 7) | class TestNAVRemoteUserBackend: method test_init_sets_create_unknown_user (line 8) | def test_init_sets_create_unknown_user(self): method test_authenticate_returns_None_if_backend_not_enabled (line 17) | def test_authenticate_returns_None_if_backend_not_enabled(self): method test_authenticate_returns_user_if_backend_is_enabled (line 26) | def test_authenticate_returns_user_if_backend_is_enabled(self): method test_clean_username_golden_path (line 39) | def test_clean_username_golden_path(self): method test_configure_user_when_not_created_returns_user_unchanged (line 46) | def test_configure_user_when_not_created_returns_user_unchanged(self): method test_configure_user_when_created_sets_ext_sync_and_adds_auditlog (line 52) | def test_configure_user_when_created_sets_ext_sync_and_adds_auditlog(s... method test_user_can_authenticate_if_user_is_active_returns_True (line 63) | def test_user_can_authenticate_if_user_is_active_returns_True(self): method test_user_can_authenticate_if_user_is_not_active_returns_False_and_adds_auditlog (line 69) | def test_user_can_authenticate_if_user_is_not_active_returns_False_and... FILE: tests/unittests/web/auth/remote_user_test.py function test_workaround_feide_oidc_returns_colonless_username (line 6) | def test_workaround_feide_oidc_returns_colonless_username(): function test_fake_password_returns_string_longer_than_given_length (line 12) | def test_fake_password_returns_string_longer_than_given_length(): function test_get_remote_url_for_nonexistent_urltype_returns_None (line 19) | def test_get_remote_url_for_nonexistent_urltype_returns_None(): function test_get_remote_user_varname_should_fallback_to_REMOTE_USER_if_missing_config (line 27) | def test_get_remote_user_varname_should_fallback_to_REMOTE_USER_if_missi... FILE: tests/unittests/web/geomap/utils_test.py function test_argmax_plus_one (line 4) | def test_argmax_plus_one(): function test_argmax_negative (line 9) | def test_argmax_negative(): FILE: tests/unittests/web/ipam/prefix_tree_test.py function test_prefix_tree_invalid_cidr (line 7) | def test_prefix_tree_invalid_cidr(): function test_prefix_tree_valid_cidr (line 13) | def test_prefix_tree_valid_cidr(): FILE: tests/unittests/web/ipam/util_test.py class IpamUtilTest (line 6) | class IpamUtilTest(unittest.TestCase): method test_partition_subnet (line 7) | def test_partition_subnet(self): method test_partition_subnet6 (line 18) | def test_partition_subnet6(self): method test_suggest_range_valid (line 29) | def test_suggest_range_valid(self): method test_suggest_range_invalid (line 39) | def test_suggest_range_invalid(self): method test_get_available_subnets (line 49) | def test_get_available_subnets(self): FILE: tests/unittests/web/ipdevinfo_test.py function test_get_interface_counter_graph_url_should_handle_utf8 (line 6) | def test_get_interface_counter_graph_url_should_handle_utf8(): FILE: tests/unittests/web/jwtgen_test.py class TestTokenGeneration (line 16) | class TestTokenGeneration: method test_nbf_should_be_in_the_past (line 23) | def test_nbf_should_be_in_the_past(self, func): method test_exp_should_be_in_the_future (line 29) | def test_exp_should_be_in_the_future(self, func): method test_iat_should_be_in_the_past (line 35) | def test_iat_should_be_in_the_past(self, func): method test_aud_should_match_name_from_jwt_conf (line 41) | def test_aud_should_match_name_from_jwt_conf(self, func, nav_name): method test_iss_should_match_name_from_jwt_conf (line 47) | def test_iss_should_match_name_from_jwt_conf(self, func, nav_name): class TestGenerateAccessToken (line 53) | class TestGenerateAccessToken: method test_token_type_should_be_access_token (line 54) | def test_token_type_should_be_access_token(self): class TestGenerateRefreshToken (line 60) | class TestGenerateRefreshToken: method test_token_type_should_be_refresh_token (line 61) | def test_token_type_should_be_refresh_token(self): class TestIsActive (line 67) | class TestIsActive: method test_when_nbf_is_in_the_future_it_should_return_false (line 68) | def test_when_nbf_is_in_the_future_it_should_return_false(self): method test_when_exp_is_in_the_past_it_should_return_false (line 74) | def test_when_exp_is_in_the_past_it_should_return_false(self): method test_when_nbf_is_in_the_past_and_exp_is_in_the_future_it_should_return_true (line 80) | def test_when_nbf_is_in_the_past_and_exp_is_in_the_future_it_should_re... method test_when_nbf_is_now_and_exp_is_in_the_future_it_should_return_true (line 88) | def test_when_nbf_is_now_and_exp_is_in_the_future_it_should_return_tru... class TestHashToken (line 97) | class TestHashToken: method test_should_return_correct_hash (line 98) | def test_should_return_correct_hash(self, token_string, token_hash): class TestDecodeToken (line 102) | class TestDecodeToken: method test_should_return_expected_data (line 103) | def test_should_return_expected_data(self, token_string, token_data): function jwt_private_key_mock (line 108) | def jwt_private_key_mock(rsa_private_key) -> Generator[str, None, None]: function jwt_name_mock (line 115) | def jwt_name_mock(nav_name) -> Generator[str, None, None]: function jwt_access_token_lifetime_mock (line 122) | def jwt_access_token_lifetime_mock() -> Generator[timedelta, None, None]: function jwt_refresh_token_lifetime_mock (line 130) | def jwt_refresh_token_lifetime_mock() -> Generator[timedelta, None, None]: function nav_name (line 138) | def nav_name() -> str: function token_string (line 143) | def token_string() -> str: function token_hash (line 156) | def token_hash() -> str: function token_data (line 164) | def token_data() -> dict[str, Any]: FILE: tests/unittests/web/ldapauth_test.py class LdapTestConfig (line 13) | class LdapTestConfig(NAVConfigParser): function test_ldapuser_search_dn_decode_regression (line 27) | def test_ldapuser_search_dn_decode_regression(): class LdapOpenTestConfig (line 45) | class LdapOpenTestConfig(NAVConfigParser): function test_open_ldap_should_run_without_error (line 58) | def test_open_ldap_should_run_without_error(): class LdapOpenTestInvalidEncryptionConfig (line 63) | class LdapOpenTestInvalidEncryptionConfig(NAVConfigParser): function test_when_encryption_setting_is_invalid_open_ldap_should_run_without_encryption (line 76) | def test_when_encryption_setting_is_invalid_open_ldap_should_run_without... class LdapGroupTestConfig (line 81) | class LdapGroupTestConfig(NAVConfigParser): class TestAuthenticate (line 106) | class TestAuthenticate: method test_when_user_not_found_during_group_check_it_should_return_false (line 109) | def test_when_user_not_found_during_group_check_it_should_return_false... FILE: tests/unittests/web/maintenance/forms_test.py class TestMaintenanceCalendarForm (line 23) | class TestMaintenanceCalendarForm: method test_cleaned_year_returns_integer (line 24) | def test_cleaned_year_returns_integer(self, valid_form): method test_cleaned_month_returns_integer (line 27) | def test_cleaned_month_returns_integer(self, valid_form): method test_this_month_start_returns_the_first_day_of_the_month (line 30) | def test_this_month_start_returns_the_first_day_of_the_month(self, val... method test_next_month_start_returns_the_first_day_of_the_next_month (line 33) | def test_next_month_start_returns_the_first_day_of_the_next_month(self... method test_previous_month_start_returns_the_first_day_of_the_previous_month (line 36) | def test_previous_month_start_returns_the_first_day_of_the_previous_mo... method test_when_month_is_december_next_month_start_returns_january (line 41) | def test_when_month_is_december_next_month_start_returns_january( method test_when_month_is_january_previous_month_start_returns_december (line 46) | def test_when_month_is_january_previous_month_start_returns_december( function valid_form (line 53) | def valid_form() -> MaintenanceCalendarForm: function december_form (line 58) | def december_form() -> MaintenanceCalendarForm: function january_form (line 63) | def january_form() -> MaintenanceCalendarForm: FILE: tests/unittests/web/maintenance/utils_test.py class TestGetComponentName (line 5) | class TestGetComponentName: method test_get_component_names (line 6) | def test_get_component_names(self): method test_should_return_short_name_for_location (line 14) | def test_should_return_short_name_for_location(self): FILE: tests/unittests/web/modals_test.py class TestModalUtilities (line 14) | class TestModalUtilities: method setup_method (line 17) | def setup_method(self): method test_should_render_modal_with_defaults (line 22) | def test_should_render_modal_with_defaults(self, mock_render): method test_should_render_modal_with_custom_context (line 40) | def test_should_render_modal_with_custom_context(self, mock_render): method test_should_render_modal_with_custom_size (line 62) | def test_should_render_modal_with_custom_size(self, mock_render): method test_resolve_modal_with_defaults (line 83) | def test_resolve_modal_with_defaults(self, mock_render): method test_resolve_modal_with_custom_template (line 97) | def test_resolve_modal_with_custom_template(self, mock_render): method test_render_modal_alert_custom_modal_id (line 116) | def test_render_modal_alert_custom_modal_id(self, mock_render): method test_should_render_modal_with_close_button_disabled (line 130) | def test_should_render_modal_with_close_button_disabled(self, mock_ren... method test_should_render_modal_with_outside_click_disabled (line 150) | def test_should_render_modal_with_outside_click_disabled(self, mock_re... method test_should_render_modal_with_both_close_options_disabled (line 170) | def test_should_render_modal_with_both_close_options_disabled(self, mo... FILE: tests/unittests/web/navlets_test.py class TestAddBustParamToUrl (line 6) | class TestAddBustParamToUrl: method test_when_url_has_no_query_params_then_it_should_use_question_mark (line 7) | def test_when_url_has_no_query_params_then_it_should_use_question_mark... method test_when_url_has_existing_query_params_then_it_should_preserve_them (line 11) | def test_when_url_has_existing_query_params_then_it_should_preserve_th... method test_when_url_has_fragment_then_bust_should_be_in_query_not_fragment (line 22) | def test_when_url_has_fragment_then_bust_should_be_in_query_not_fragme... method test_when_url_has_params_and_fragment_then_bust_should_be_in_query (line 28) | def test_when_url_has_params_and_fragment_then_bust_should_be_in_query... FILE: tests/unittests/web/portadmin/utils_test.py class TestSetEditableFlagOnInterfaces (line 6) | class TestSetEditableFlagOnInterfaces: method test_when_user_is_admin_it_should_set_all_interfaces_to_editable (line 7) | def test_when_user_is_admin_it_should_set_all_interfaces_to_editable(s... method test_when_user_is_not_admin_it_should_set_only_matching_interfaces_to_editable (line 17) | def test_when_user_is_not_admin_it_should_set_only_matching_interfaces... FILE: tests/unittests/web/portadmin/views_test.py class TestCommitConfiguration (line 9) | class TestCommitConfiguration: method test_when_commit_disabled_it_should_return_200 (line 11) | def test_when_commit_disabled_it_should_return_200(self, mock_config): method test_when_handler_succeeds_it_should_return_200 (line 19) | def test_when_handler_succeeds_it_should_return_200( method test_when_management_error_it_should_return_503 (line 35) | def test_when_management_error_it_should_return_503( method test_when_commit_not_supported_it_should_return_503 (line 52) | def test_when_commit_not_supported_it_should_return_503( method test_when_no_handler_it_should_return_503 (line 69) | def test_when_no_handler_it_should_return_503( function _make_post_request (line 82) | def _make_post_request(interfaceid=1): FILE: tests/unittests/web/qrcode_test.py function test_generate_png_qr_code_returns_bytes (line 12) | def test_generate_png_qr_code_returns_bytes(): function test_generate_svg_qr_code_returns_bytes (line 19) | def test_generate_svg_qr_code_returns_bytes(): function test_generate_qr_code_as_string_returns_string (line 26) | def test_generate_qr_code_as_string_returns_string(): function test_generate_qr_codes_as_zip_response_should_return_zip_with_correct_filenames (line 33) | def test_generate_qr_codes_as_zip_response_should_return_zip_with_correc... FILE: tests/unittests/web/servicecheckers_test.py class ServiceCheckersTest (line 6) | class ServiceCheckersTest(TestCase): method test_load_checkers (line 7) | def test_load_checkers(self): method test_get_ssh_description (line 17) | def test_get_ssh_description(self): FILE: tests/unittests/web/sortedstats/sortedstats_test.py class TestSortedStats (line 8) | class TestSortedStats(TestCase): method setUp (line 9) | def setUp(self): method timestamp_to_datetime (line 12) | def timestamp_to_datetime(self, timestamp): method test_get_timestamps_has_correct_delta (line 15) | def test_get_timestamps_has_correct_delta(self): method test_cache_key_is_correct (line 21) | def test_cache_key_is_correct(self): method test_process_form_returns_cache_value_if_cache_exists (line 30) | def test_process_form_returns_cache_value_if_cache_exists(self, cache_... method test_cache_not_used_if_empty_and_use_cache_is_on (line 46) | def test_cache_not_used_if_empty_and_use_cache_is_on( method test_cache_not_used_if_empty_and_use_cache_is_off (line 65) | def test_cache_not_used_if_empty_and_use_cache_is_off( FILE: tests/unittests/web/sortedstats/sortedstatsconfig_test.py class TestSortedStatsConfif (line 6) | class TestSortedStatsConfif(TestCase): method setUp (line 7) | def setUp(self): method test_correct_config_should_pass (line 10) | def test_correct_config_should_pass(self): method test_config_ignores_other_timestamps (line 29) | def test_config_ignores_other_timestamps(self): method test_invalid_config_returns_no_report (line 41) | def test_invalid_config_returns_no_report(self): method test_invalid_timeframe_should_raise_exception (line 53) | def test_invalid_timeframe_should_raise_exception(self): method test_invalid_view_should_raise_exception (line 58) | def test_invalid_view_should_raise_exception(self): method test_invalid_rows_should_raise_exception (line 63) | def test_invalid_rows_should_raise_exception(self): FILE: tests/unittests/web/threshold_test.py function test_empty_thresholdform_should_not_validate (line 4) | def test_empty_thresholdform_should_not_validate(): function test_thresholdform_with_invalid_period_should_not_validate (line 9) | def test_thresholdform_with_invalid_period_should_not_validate(): function test_thresholdform_with_invalid_alert_expression_should_not_validate (line 21) | def test_thresholdform_with_invalid_alert_expression_should_not_validate(): function test_filled_thresholdform_should_validate (line 33) | def test_filled_thresholdform_should_validate(): FILE: tests/unittests/web/urls_test.py function test_ipdevinfo_interface_details_should_support_typical_sysnames (line 4) | def test_ipdevinfo_interface_details_should_support_typical_sysnames(): function test_ipdevinfo_interface_details_should_support_ipv4_address (line 11) | def test_ipdevinfo_interface_details_should_support_ipv4_address(): function test_ipdevinfo_interface_details_should_support_ipv6_address (line 15) | def test_ipdevinfo_interface_details_should_support_ipv6_address(): function test_ipdevinfo_interface_details_by_name_should_support_typical_sysnames (line 19) | def test_ipdevinfo_interface_details_by_name_should_support_typical_sysn... function test_ipdevinfo_interface_details_by_name_should_support_ipv4_address (line 26) | def test_ipdevinfo_interface_details_by_name_should_support_ipv4_address(): function test_ipdevinfo_interface_details_by_name_should_support_ipv6_address (line 30) | def test_ipdevinfo_interface_details_by_name_should_support_ipv6_address(): FILE: tests/unittests/web/webfront_test.py function test_tools_should_be_split_in_3_columns (line 4) | def test_tools_should_be_split_in_3_columns(): FILE: tools/buglog.py function main (line 38) | def main(): function get_issues_from_milestone (line 72) | def get_issues_from_milestone(github_repo, version): function get_issues_from_gitlog (line 85) | def get_issues_from_gitlog(github_repo, version): function format_issue (line 105) | def format_issue(issue): function format_issue_markdown (line 113) | def format_issue_markdown(issue): FILE: tools/eventgenerators/boxevent.py function main (line 39) | def main(): function create_parser (line 53) | def create_parser(): function send_event (line 70) | def send_event(netbox, event_spec, send=True): FILE: tools/eventgenerators/devicenotice.py function main (line 29) | def main(): function parse_options (line 45) | def parse_options(): FILE: tools/eventgenerators/genericstate.py function main (line 30) | def main(): function parse_options (line 50) | def parse_options(): function get_state (line 67) | def get_state(args): FILE: tools/eventgenerators/linkevent.py function main (line 38) | def main(): function interface_spec (line 49) | def interface_spec(spec): function create_parser (line 54) | def create_parser(): function send_event (line 75) | def send_event(interface, event_spec, send=True): FILE: tools/eventgenerators/moduleevent.py function handler (line 23) | def handler(cursor, boxlist, state): function main (line 44) | def main(): FILE: tools/eventgenerators/servicestate.py function main (line 36) | def main(): function create_parser (line 71) | def create_parser(): function verify_options (line 83) | def verify_options(options, parser): function print_services (line 96) | def print_services(): FILE: tools/eventgenerators/snmpevent.py function handler (line 27) | def handler(nblist, state): FILE: tools/eventgenerators/thresholdstate.py function main (line 34) | def main(): FILE: tools/iana-enterprise.py function main (line 48) | def main(): function parse_enterprises (line 76) | def parse_enterprises(filehandle): function get_vendor_variable (line 92) | def get_vendor_variable(ent): FILE: tools/release/announcement.py class ChangelogEntry (line 59) | class ChangelogEntry: function main (line 72) | def main() -> int: function create_argument_parser (line 127) | def create_argument_parser() -> argparse.ArgumentParser: function load_config (line 194) | def load_config(config_path: Path) -> dict | None: function parse_changelog (line 202) | def parse_changelog( function extract_changelog_entry (line 225) | def extract_changelog_entry( function find_version_entries (line 246) | def find_version_entries(doc, renderer) -> list[tuple[int, str, str]]: function find_target_version_index (line 265) | def find_target_version_index( function build_changelog_entry (line 283) | def build_changelog_entry( function normalize_list_items (line 320) | def normalize_list_items(text: str) -> str: function create_jinja_env (line 358) | def create_jinja_env() -> jinja2.Environment: function ordinal (line 371) | def ordinal(n: int) -> str: function generate_github_release (line 387) | def generate_github_release(entry: ChangelogEntry) -> str: function generate_blog_post (line 399) | def generate_blog_post( function generate_email (line 428) | def generate_email( function generate_email_subject (line 462) | def generate_email_subject(config: dict, version: str, is_security: bool... function wrap_email_body (line 468) | def wrap_email_body(body: str) -> str: function strip_frontmatter (line 485) | def strip_frontmatter(text: str) -> str: function markdown_to_plaintext (line 502) | def markdown_to_plaintext(text: str) -> tuple[str, list[str]]: function print_outputs (line 537) | def print_outputs( function write_outputs (line 563) | def write_outputs( function enact_announcements (line 597) | def enact_announcements( function enact_blog (line 618) | def enact_blog(entry: ChangelogEntry, config: dict, blog_md: str) -> None: function enact_github (line 651) | def enact_github(entry: ChangelogEntry, github_md: str) -> None: function enact_email (line 700) | def enact_email(config: dict, subject: str, body: str) -> None: function parse_version (line 747) | def parse_version(version: str) -> tuple[int, int, int]: FILE: tools/vendor.py function _load_json (line 34) | def _load_json(path): function get_deps (line 39) | def get_deps(): function resolve_source (line 43) | def resolve_source(npm_name): function _derive_name (line 71) | def _derive_name(npm_name, source_path): function local_name (line 83) | def local_name(npm_name, source_path, version): function find_old_file (line 88) | def find_old_file(base): function sync_one (line 97) | def sync_one(npm_name, config_text=None): function npm_install (line 127) | def npm_install(*args): function _check_node_modules (line 138) | def _check_node_modules(): function cmd_list (line 146) | def cmd_list(): function cmd_check (line 171) | def cmd_check(): function cmd_sync (line 205) | def cmd_sync(): function _install_and_sync (line 223) | def _install_and_sync(name, version=None): function cmd_update (line 239) | def cmd_update(name, version=None): function cmd_add (line 248) | def cmd_add(name, version=None): function cmd_remove (line 260) | def cmd_remove(npm_name): function build_parser (line 281) | def build_parser():