diff options
author | root <root@gar-ex-erdastep.localdomain> | 2011-11-28 18:10:06 +0100 |
---|---|---|
committer | root <root@gar-ex-erdastep.localdomain> | 2011-11-28 18:10:06 +0100 |
commit | e165ec6bbb98167d3d3c6250e26c3eb90ff66602 (patch) | |
tree | ab7867e1c15a29b2e5d55bb142a3125a79cd5576 | |
parent | 8ef5764aa260417b90afaf0c611bb75b00157554 (diff) | |
download | PyPhytron-e165ec6bbb98167d3d3c6250e26c3eb90ff66602.tar.gz PyPhytron-e165ec6bbb98167d3d3c6250e26c3eb90ff66602.tar.bz2 |
Phytron.IPCOMM now has an iterator interface
-rw-r--r-- | Phytron.py | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -355,6 +355,21 @@ class IPCOMM: return self.axisByName[nameOrID] return self.axisByID[int(nameOrID)] + def __len__(self): + return len(self.axisByID.keys()) + + def __iter__(self): + return self.axisByID.itervalues() + + def __getitem__(self, key): + try: + return self.axis(key) + except KeyError: + raise IndexError(key) + + def __contains__(self, item): + return item in self.axisByName.keys() or item in self.axisByID.keys() + def enumerate(self, axes=0x10, names=None): if isinstance(axes, int): axes = range(axes) |