Browse Source

Добавил metaclass в интерфейсы

devel
bashmak 9 years ago
parent
commit
e51a5f2a07
  1. 11
      agent/mod_mikrotik.py

11
agent/mod_mikrotik.py

@ -1,16 +1,17 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import socket import socket
import binascii import binascii
from abc import ABCMeta
from hashlib import md5 from hashlib import md5
from .core import BaseTransmitter, NasFailedResult, NasNetworkError from .core import BaseTransmitter, NasFailedResult, NasNetworkError
from mydefs import ping from mydefs import ping
from .structs import TariffStruct, AbonStruct, IpStruct, ShapeItem from .structs import TariffStruct, AbonStruct, IpStruct, ShapeItem
from . import settings from . import settings
#from djing.settings import DEBUG
from djing.settings import DEBUG
import re import re
DEBUG=False
#DEBUG=False
LIST_USERS_ALLOWED = 'DjingUsersAllowed' LIST_USERS_ALLOWED = 'DjingUsersAllowed'
LIST_USERS_BLOCKED = 'DjingUsersBlocked' LIST_USERS_BLOCKED = 'DjingUsersBlocked'
@ -141,7 +142,7 @@ class ApiRos:
return ret return ret
class TransmitterManager(BaseTransmitter):
class TransmitterManager(BaseTransmitter, metaclass=ABCMeta):
def __init__(self, login=None, password=None, ip=None, port=None): def __init__(self, login=None, password=None, ip=None, port=None):
ip = ip or settings.NAS_IP ip = ip or settings.NAS_IP
if not ping(ip): if not ping(ip):
@ -212,7 +213,7 @@ class TransmitterManager(BaseTransmitter):
return return
class QueueManager(TransmitterManager):
class QueueManager(TransmitterManager, metaclass=ABCMeta):
# ищем правило по имени, и возвращаем всю инфу о найденном правиле # ищем правило по имени, и возвращаем всю инфу о найденном правиле
def find(self, name): def find(self, name):
ret = self._exec_cmd(['/queue/simple/print', '?name=%s' % name]) ret = self._exec_cmd(['/queue/simple/print', '?name=%s' % name])
@ -292,7 +293,7 @@ class QueueManager(TransmitterManager):
return self._exec_cmd(['/queue/simple/enable', '=.id=*' + q.sid]) return self._exec_cmd(['/queue/simple/enable', '=.id=*' + q.sid])
class IpAddressListManager(TransmitterManager):
class IpAddressListManager(TransmitterManager, metaclass=ABCMeta):
def add(self, list_name, ip, timeout=None): def add(self, list_name, ip, timeout=None):
assert isinstance(ip, IpStruct) assert isinstance(ip, IpStruct)

Loading…
Cancel
Save