2984
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 """Implements various support classes and functions used in a number of
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 places in Roundup code.
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 """
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 __docformat__ = 'restructuredtext'
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 class TruthDict:
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 '''Returns True for valid keys, False for others.
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 '''
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 def __init__(self, keys):
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 if keys:
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 self.keys = {}
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 for col in keys:
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 self.keys[col] = 1
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 else:
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 self.__getitem__ = lambda name: 1
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 def __getitem__(self, name):
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 return self.keys.has_key(name)
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20
|
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 # vim: set et sts=4 sw=4 :
|