diff options
| author | pinky <> | 2006-12-07 13:41:40 +0000 |
|---|---|---|
| committer | pinky <> | 2006-12-07 13:41:40 +0000 |
| commit | 004a0b996ff8f269451e07346f71a129a1f3fbaf (patch) | |
| tree | 48f43c1fc2ca4c1f4d5648e7e73553d3f4ccae06 /bin/pychart/object_set.py | |
New trunk
bzr revid: pinky-3f10ee12cea3c4c75cef44ab04ad33ef47432907
Diffstat (limited to 'bin/pychart/object_set.py')
| -rw-r--r-- | bin/pychart/object_set.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/bin/pychart/object_set.py b/bin/pychart/object_set.py new file mode 100644 index 00000000000..7d3c9ab70d7 --- /dev/null +++ b/bin/pychart/object_set.py @@ -0,0 +1,43 @@ +# +# Copyright (C) 2000-2005 by Yasushi Saito (yasushi.saito@gmail.com) +# +# Jockey is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any +# later version. +# +# Jockey is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +class T(object): + def __init__(self, *objs): + self.__objs = list(objs) + def add(self, *objs): + self.__objs.extend(objs) + def add_objects(self, objs): + self.__objs.extend(objs) + def iterate(self): + return Iterator(self) + def list(self): + return self.__objs + def __getitem__(self, idx): + return self.__objs[idx] + def nth(self, idx): + return self.__objs[idx] + +class Iterator(object): + def __init__(self, set_): + self.__set = set_ + self.__idx = 0 + def reset(self): + self.__idx = 0 + def next(self): + val = self.__set.nth(self.__idx) + self.__idx += 1 + if self.__idx >= len(self.__set.list()): + self.__idx = 0 + return val + + |
