summaryrefslogtreecommitdiff
path: root/pynslcd/ether.py
diff options
context:
space:
mode:
Diffstat (limited to 'pynslcd/ether.py')
-rw-r--r--pynslcd/ether.py18
1 files changed, 8 insertions, 10 deletions
diff --git a/pynslcd/ether.py b/pynslcd/ether.py
index 4d6ae03..20963c3 100644
--- a/pynslcd/ether.py
+++ b/pynslcd/ether.py
@@ -48,16 +48,14 @@ class Search(common.Search):
class EtherRequest(common.Request):
- def write(self, dn, attributes, parameters):
- # get values
- names = attributes['cn']
- addresses = [ether_aton(x) for x in attributes['macAddress']]
- # write results
- for name in names:
- for ether in addresses:
- self.fp.write_int32(constants.NSLCD_RESULT_BEGIN)
- self.fp.write_string(name)
- self.fp.write(ether)
+ def write(self, name, ether):
+ self.fp.write_string(name)
+ self.fp.write(ether_aton(ether))
+
+ def convert(self, dn, attributes, parameters):
+ for name in attributes['cn']:
+ for ether in attributes['macAddress']:
+ yield (name, ether)
class EtherByNameRequest(EtherRequest):