]> git.llucax.com Git - software/pymin.git/blobdiff - services/dhcp/handler.py
Move common validation code to new pymin.validation module (refs #20)
[software/pymin.git] / services / dhcp / handler.py
index c33a555ab31c4fcc989e67456b4f619efd0c0800..6cb21a95a1a7b9b311b2f2be9569e5fa5afe61f5 100644 (file)
@@ -3,54 +3,13 @@
 from os import path
 import logging ; log = logging.getLogger('pymin.services.dhcp')
 
-from pymin.seqtools import Sequence
-from pymin.dispatcher import Handler, handler, HandlerError
-from pymin.service.util import Restorable, ConfigWriter, InitdHandler, \
+from pymin.service.util import Restorable, ConfigWriter, ReloadHandler, \
                                TransactionalHandler, ParametersHandler, \
-                               DictSubHandler, ReloadHandler
+                               InitdHandler
 
-__all__ = ('DhcpHandler', 'get_service')
+from host import HostHandler
 
-
-def get_service(config):
-    return DhcpHandler(config.dhcp.pickle_dir, config.dhcp.config_dir)
-
-
-class Host(Sequence):
-    r"""Host(name, ip, mac) -> Host instance :: Class representing a host.
-
-    name - Host name, should be a fully qualified name, but no checks are done.
-    ip - IP assigned to the hostname.
-    mac - MAC address to associate to the hostname.
-    """
-
-    def __init__(self, name, ip, mac):
-        r"Initialize Host object, see class documentation for details."
-        self.name = name
-        self.ip = ip
-        self.mac = mac
-
-    def as_tuple(self):
-        r"Return a tuple representing the host."
-        return (self.name, self.ip, self.mac)
-
-    def update(self, ip=None, mac=None):
-        if ip is not None:
-            self.ip = ip
-        if mac is not None:
-            self.mac = mac
-
-class HostHandler(DictSubHandler):
-    r"""HostHandler(parent) -> HostHandler instance :: Handle a list of hosts.
-
-    This class is a helper for DhcpHandler to do all the work related to hosts
-    administration.
-    """
-
-    handler_help = u"Manage DHCP hosts"
-
-    _cont_subhandler_attr = 'hosts'
-    _cont_subhandler_class = Host
+__all__ = ('DhcpHandler',)
 
 class DhcpHandler(Restorable, ConfigWriter, ReloadHandler, TransactionalHandler,
                   ParametersHandler, InitdHandler):