2 changed files with 60 additions and 59 deletions
@ -1,59 +0,0 @@ |
|||||
from django.conf import settings |
|
||||
|
|
||||
from netaddr import mac_unix, mac_eui48 |
|
||||
|
|
||||
import importlib |
|
||||
import warnings |
|
||||
|
|
||||
class mac_linux(mac_unix): |
|
||||
"""MAC format with zero-padded all upper-case hex and colon separated""" |
|
||||
word_fmt = '%.2X' |
|
||||
|
|
||||
def default_dialect(eui_obj=None): |
|
||||
# Check to see if a default dialect class has been specified in settings, |
|
||||
# using 'module.dialect_cls' string and use importlib and getattr to retrieve dialect class. 'module' is the module and |
|
||||
# 'dialect_cls' is the class name of the custom dialect. The dialect must either be defined or imported by the module's |
|
||||
# __init__.py if the module is a package. |
|
||||
from .fields import MACAddressField # Remove import at v1.4 |
|
||||
if hasattr(settings, 'MACADDRESS_DEFAULT_DIALECT') and not MACAddressField.dialect: |
|
||||
module, dialect_cls = settings.MACADDRESS_DEFAULT_DIALECT.split('.') |
|
||||
dialect = getattr(importlib.import_module(module), dialect_cls, mac_linux) |
|
||||
return dialect |
|
||||
else: |
|
||||
if MACAddressField.dialect: # Remove this "if" statement at v1.4 |
|
||||
warnings.warn( |
|
||||
"The set_dialect class method on MACAddressField has been deprecated, in favor of the default_dialect " |
|
||||
"utility function and settings.MACADDRESS_DEFAULT_DIALECT. See macaddress.__init__.py source or the " |
|
||||
"project README for more information.", |
|
||||
DeprecationWarning, |
|
||||
) |
|
||||
return MACAddressField.dialect |
|
||||
if eui_obj: |
|
||||
return eui_obj.dialect |
|
||||
else: |
|
||||
return mac_linux |
|
||||
|
|
||||
def format_mac(eui_obj, dialect): |
|
||||
# Format a EUI instance as a string using the supplied dialect class, allowing custom string classes by |
|
||||
# passing directly or as a string, a la 'module.dialect_cls', where 'module' is the module and 'dialect_cls' |
|
||||
# is the class name of the custom dialect. The dialect must either be defined or imported by the module's __init__.py if |
|
||||
# the module is a package. |
|
||||
if not isinstance(dialect, mac_eui48): |
|
||||
if isinstance(dialect, str): |
|
||||
module, dialect_cls = dialect.split('.') |
|
||||
dialect = getattr(importlib.import_module(module), dialect_cls) |
|
||||
eui_obj.dialect = dialect |
|
||||
return str(eui_obj) |
|
||||
|
|
||||
|
|
||||
from pkg_resources import get_distribution, DistributionNotFound |
|
||||
import os.path |
|
||||
|
|
||||
try: |
|
||||
_dist = get_distribution('django-macaddress') |
|
||||
except DistributionNotFound: |
|
||||
__version__ = 'Please install this project with setup.py' |
|
||||
else: |
|
||||
__version__ = _dist.version |
|
||||
VERSION = __version__ # synonym |
|
||||
default_app_config = 'abonapp.apps.AbonappConfig' |
|
||||
@ -0,0 +1,60 @@ |
|||||
|
import importlib |
||||
|
import warnings |
||||
|
|
||||
|
from django.conf import settings |
||||
|
from netaddr import mac_unix, mac_eui48 |
||||
|
|
||||
|
|
||||
|
MAC_ADDR_REGEX = r'^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$' |
||||
|
|
||||
|
class mac_linux(mac_unix): |
||||
|
"""MAC format with zero-padded all upper-case hex and colon separated""" |
||||
|
word_fmt = '%.2X' |
||||
|
|
||||
|
def default_dialect(eui_obj=None): |
||||
|
# Check to see if a default dialect class has been specified in settings, |
||||
|
# using 'module.dialect_cls' string and use importlib and getattr to retrieve dialect class. 'module' is the module and |
||||
|
# 'dialect_cls' is the class name of the custom dialect. The dialect must either be defined or imported by the module's |
||||
|
# __init__.py if the module is a package. |
||||
|
from .fields import MACAddressField # Remove import at v1.4 |
||||
|
if hasattr(settings, 'MACADDRESS_DEFAULT_DIALECT') and not MACAddressField.dialect: |
||||
|
module, dialect_cls = settings.MACADDRESS_DEFAULT_DIALECT.split('.') |
||||
|
dialect = getattr(importlib.import_module(module), dialect_cls, mac_linux) |
||||
|
return dialect |
||||
|
else: |
||||
|
if MACAddressField.dialect: # Remove this "if" statement at v1.4 |
||||
|
warnings.warn( |
||||
|
"The set_dialect class method on MACAddressField has been deprecated, in favor of the default_dialect " |
||||
|
"utility function and settings.MACADDRESS_DEFAULT_DIALECT. See macaddress.__init__.py source or the " |
||||
|
"project README for more information.", |
||||
|
DeprecationWarning, |
||||
|
) |
||||
|
return MACAddressField.dialect |
||||
|
if eui_obj: |
||||
|
return eui_obj.dialect |
||||
|
else: |
||||
|
return mac_linux |
||||
|
|
||||
|
def format_mac(eui_obj, dialect): |
||||
|
# Format a EUI instance as a string using the supplied dialect class, allowing custom string classes by |
||||
|
# passing directly or as a string, a la 'module.dialect_cls', where 'module' is the module and 'dialect_cls' |
||||
|
# is the class name of the custom dialect. The dialect must either be defined or imported by the module's __init__.py if |
||||
|
# the module is a package. |
||||
|
if not isinstance(dialect, mac_eui48): |
||||
|
if isinstance(dialect, str): |
||||
|
module, dialect_cls = dialect.split('.') |
||||
|
dialect = getattr(importlib.import_module(module), dialect_cls) |
||||
|
eui_obj.dialect = dialect |
||||
|
return str(eui_obj) |
||||
|
|
||||
|
|
||||
|
from pkg_resources import get_distribution, DistributionNotFound |
||||
|
|
||||
|
try: |
||||
|
_dist = get_distribution('django-macaddress') |
||||
|
except DistributionNotFound: |
||||
|
__version__ = 'Please install this project with setup.py' |
||||
|
else: |
||||
|
__version__ = _dist.version |
||||
|
VERSION = __version__ # synonym |
||||
|
default_app_config = 'abonapp.apps.AbonappConfig' |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue