]> git.llucax.com Git - software/pymin.git/commitdiff
Add DhcpHandler.get() and HostHandler.get() to get a single value.
authorLeandro Lucarella <llucarella@integratech.com.ar>
Mon, 24 Sep 2007 20:59:20 +0000 (17:59 -0300)
committerLeandro Lucarella <llucarella@integratech.com.ar>
Mon, 24 Sep 2007 20:59:20 +0000 (17:59 -0300)
As a show() companion, new get() commands are added to get the information
about a single DHCP parameter or host.

services/dhcp/__init__.py

index d7c185c278bdb22ccacc99b19349954d6552685e..1df0062761fe2e2ba94c1b499a1f5ed8b515b9b2 100644 (file)
@@ -148,6 +148,17 @@ class HostHandler:
             raise HostNotFoundError(name)
         del self.hosts[name]
 
             raise HostNotFoundError(name)
         del self.hosts[name]
 
+    @handler
+    def get(self, name):
+        r"""get(name) -> CSV string :: List all the information of a host.
+
+        The host is returned as a CSV list of: hostname,ip,mac
+        """
+        if not name in self.hosts:
+            raise HostNotFoundError(name)
+        h = self.hosts[name]
+        return '%s,%s,%s' % (h.name, h.ip, h.mac)
+
     @handler
     def list(self):
         r"""list() -> CSV string :: List all the hostnames.
     @handler
     def list(self):
         r"""list() -> CSV string :: List all the hostnames.
@@ -211,6 +222,13 @@ class DhcpHandler:
             raise ParameterNotFoundError(param)
         self.vars[param] = value
 
             raise ParameterNotFoundError(param)
         self.vars[param] = value
 
+    @handler
+    def get(self, param):
+        r"get(param) -> None :: Get a DHCP parameter."
+        if not param in self.vars:
+            raise ParameterNotFoundError(param)
+        return self.vars[param]
+
     @handler
     def list(self):
         r"""list() -> CSV string :: List all the parameter names.
     @handler
     def list(self):
         r"""list() -> CSV string :: List all the parameter names.