Source code for skidl.netclass

# -*- coding: utf-8 -*-

# The MIT License (MIT) - Copyright (c) 2016-2021 Dave Vandenbout.

"""Class for PCBNEW net classes."""

from __future__ import (  # isort:skip
    absolute_import,
    division,
    print_function,
    unicode_literals,
)

from builtins import object, str

from future import standard_library

from .logger import active_logger
from .utilities import *

standard_library.install_aliases()


[docs]class NetClass(object): def __init__(self, name, **attribs): # This object will belong to the default Circuit object or the one # that's passed as a parameter. circuit = attribs.pop("circuit", default_circuit) # Assign net class name. self.name = name # Assign the other attributes to this object. for k, v in list(attribs.items()): setattr(self, k, v) # Is this net class already defined? if circuit.netclasses.get(name) is not None: active_logger.warning( "Cannot redefine existing net class {name}!".format(**locals()) ) else: circuit.netclasses[name] = self