aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@gar-ex-erdastep.localdomain>2011-11-28 18:10:06 +0100
committerroot <root@gar-ex-erdastep.localdomain>2011-11-28 18:10:06 +0100
commite165ec6bbb98167d3d3c6250e26c3eb90ff66602 (patch)
treeab7867e1c15a29b2e5d55bb142a3125a79cd5576
parent8ef5764aa260417b90afaf0c611bb75b00157554 (diff)
downloadPyPhytron-e165ec6bbb98167d3d3c6250e26c3eb90ff66602.tar.gz
PyPhytron-e165ec6bbb98167d3d3c6250e26c3eb90ff66602.tar.bz2
Phytron.IPCOMM now has an iterator interface
-rw-r--r--Phytron.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Phytron.py b/Phytron.py
index 4cc3ea9..e4cf990 100644
--- a/Phytron.py
+++ b/Phytron.py
@@ -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)