]> git.llucax.com Git - software/pymin.git/commitdiff
Make Host iterable so it can be used as a sequence when serializing.
authorLeandro Lucarella <llucarella@integratech.com.ar>
Wed, 26 Sep 2007 21:15:39 +0000 (18:15 -0300)
committerLeandro Lucarella <llucarella@integratech.com.ar>
Wed, 26 Sep 2007 21:16:18 +0000 (18:16 -0300)
services/dhcp/__init__.py

index 1df0062761fe2e2ba94c1b499a1f5ed8b515b9b2..618f702af20bd6e3a689c8935846c95b78e0d3f1 100644 (file)
@@ -111,6 +111,12 @@ class Host:
         self.ip = ip
         self.mac = mac
 
         self.ip = ip
         self.mac = mac
 
+    def __iter__(self):
+        r"Iterate over a host."
+        yield self.name
+        yield self.ip
+        yield self.mac
+
 class HostHandler:
     r"""HostHandler(hosts) -> HostHandler instance :: Handle a list of hosts.
 
 class HostHandler:
     r"""HostHandler(hosts) -> HostHandler instance :: Handle a list of hosts.
 
@@ -157,7 +163,7 @@ class HostHandler:
         if not name in self.hosts:
             raise HostNotFoundError(name)
         h = self.hosts[name]
         if not name in self.hosts:
             raise HostNotFoundError(name)
         h = self.hosts[name]
-        return '%s,%s,%s' % (h.name, h.ip, h.mac)
+        return ','.join(list(h))
 
     @handler
     def list(self):
 
     @handler
     def list(self):
@@ -175,7 +181,7 @@ class HostHandler:
         hostname,ip,mac
         """
         hosts = self.hosts.values()
         hostname,ip,mac
         """
         hosts = self.hosts.values()
-        return '\n'.join('%s,%s,%s' % (h.name, h.ip, h.mac) for h in hosts)
+        return '\n'.join(','.join(h) for h in hosts)
 
 class DhcpHandler:
     r"""DhcpHandler([pickle_dir[, config_dir]]) -> DhcpHandler instance.
 
 class DhcpHandler:
     r"""DhcpHandler([pickle_dir[, config_dir]]) -> DhcpHandler instance.