From e165ec6bbb98167d3d3c6250e26c3eb90ff66602 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 28 Nov 2011 18:10:06 +0100 Subject: Phytron.IPCOMM now has an iterator interface --- Phytron.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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) -- cgit v1.2.3