Used some supers.

This commit is contained in:
Jeremy Fincher 2004-09-09 15:34:13 +00:00
parent 91101978d5
commit 5aa00316ab

View File

@ -261,7 +261,8 @@ class Value(Group):
because we forgot to put a proper help string here.""" because we forgot to put a proper help string here."""
def __init__(self, default, help, def __init__(self, default, help,
private=False, showDefault=True, **kwargs): private=False, showDefault=True, **kwargs):
Group.__init__(self, **kwargs) self.__parent = super(Value, self)
self.__parent.__init__(**kwargs)
self._default = default self._default = default
self._private = private self._private = private
self.showDefault = showDefault self.showDefault = showDefault
@ -279,7 +280,7 @@ class Value(Group):
def setName(self, *args): def setName(self, *args):
if self._name == 'unset': if self._name == 'unset':
self._lastModified = 0 self._lastModified = 0
Group.setName(self, *args) self.__parent.setName(*args)
self._lastModified = time.time() self._lastModified = time.time()
def set(self, s): def set(self, s):
@ -325,7 +326,7 @@ class Boolean(Value):
self.setValue(value) self.setValue(value)
def setValue(self, v): def setValue(self, v):
Value.setValue(self, bool(v)) super(Boolean, self).setValue(bool(v))
class Integer(Value): class Integer(Value):
"""Value must be an integer.""" """Value must be an integer."""
@ -340,14 +341,14 @@ class NonNegativeInteger(Integer):
def setValue(self, v): def setValue(self, v):
if v < 0: if v < 0:
self.error() self.error()
Integer.setValue(self, v) super(NonNegativeInteger, self).setValue(v)
class PositiveInteger(NonNegativeInteger): class PositiveInteger(NonNegativeInteger):
"""Value must be positive (non-zero) integer.""" """Value must be positive (non-zero) integer."""
def setValue(self, v): def setValue(self, v):
if not v: if not v:
self.error() self.error()
NonNegativeInteger.setValue(self, v) super(PositiveInteger, self).setValue(v)
class Float(Value): class Float(Value):
"""Value must be a floating-point number.""" """Value must be a floating-point number."""
@ -359,7 +360,7 @@ class Float(Value):
def setValue(self, v): def setValue(self, v):
try: try:
Value.setValue(self, float(v)) super(Float, self).setValue(float(v))
except ValueError: except ValueError:
self.error() self.error()
@ -369,7 +370,7 @@ class PositiveFloat(Float):
if v <= 0: if v <= 0:
self.error() self.error()
else: else:
Float.setValue(self, v) super(PositiveFloat, self).setValue(v)
class String(Value): class String(Value):
"""Value is not a valid Python string.""" """Value is not a valid Python string."""
@ -401,7 +402,8 @@ class OnlySomeStrings(String):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
assert self.validStrings, 'There must be some valid strings. ' \ assert self.validStrings, 'There must be some valid strings. ' \
'This is a bug.' 'This is a bug.'
String.__init__(self, *args, **kwargs) self.__parent = super(OnlySomeStrings, self)
self.__parent.__init__(*args, **kwargs)
def error(self): def error(self):
raise InvalidRegistryValue, \ raise InvalidRegistryValue, \
@ -420,43 +422,40 @@ class OnlySomeStrings(String):
def setValue(self, s): def setValue(self, s):
s = self.normalize(s) s = self.normalize(s)
if s in self.validStrings: if s in self.validStrings:
String.setValue(self, s) self.__parent.setValue(s)
else: else:
self.error() self.error()
class NormalizedString(String): class NormalizedString(String):
def __init__(self, default, help, **kwargs): def __init__(self, default, *args, **kwargs):
default = self.normalize(default) default = self.normalize(default)
String.__init__(self, default, help, **kwargs) self.__parent = super(NormalizedString, self)
self.__parent.__init__(default, *args, **kwargs)
def normalize(self, s): def normalize(self, s):
return utils.normalizeWhitespace(s.strip()) return utils.normalizeWhitespace(s.strip())
def set(self, s): def set(self, s):
s = self.normalize(s) s = self.normalize(s)
String.set(self, s) self.__parent.set(s)
def setValue(self, s): def setValue(self, s):
s = self.normalize(s) s = self.normalize(s)
String.setValue(self, s) self.__parent.setValue(s)
class StringSurroundedBySpaces(String): class StringSurroundedBySpaces(String):
def set(self, s):
String.set(self, s)
self.setValue(self.value)
def setValue(self, v): def setValue(self, v):
if v.lstrip() == v: if v.lstrip() == v:
v= ' ' + v v= ' ' + v
if v.rstrip() == v: if v.rstrip() == v:
v += ' ' v += ' '
String.setValue(self, v) super(StringSurroundedBySpaces, self).setValue(v)
class StringWithSpaceOnRight(String): class StringWithSpaceOnRight(String):
def setValue(self, v): def setValue(self, v):
if v.rstrip() == v: if v.rstrip() == v:
v += ' ' v += ' '
String.setValue(self, v) super(StringWithSpaceOnRight, self).setValue(v)
class Regexp(Value): class Regexp(Value):
"""Value must be a valid regular expression.""" """Value must be a valid regular expression."""
@ -473,12 +472,13 @@ class Regexp(Value):
self.error(e) self.error(e)
def setValue(self, v, sr=None): def setValue(self, v, sr=None):
parent = super(Regexp, self)
if v is None: if v is None:
self.sr = '' self.sr = ''
Value.setValue(self, None) parent.setValue(None)
elif sr is not None: elif sr is not None:
self.sr = sr self.sr = sr
Value.setValue(self, v) parent.setValue(v)
else: else:
raise InvalidRegistryValue, \ raise InvalidRegistryValue, \
'Can\'t setValue a regexp, there would be an inconsistency '\ 'Can\'t setValue a regexp, there would be an inconsistency '\
@ -508,7 +508,7 @@ class SeparatedListOf(Value):
self.setValue(L) self.setValue(L)
def setValue(self, v): def setValue(self, v):
Value.setValue(self, self.List(v)) super(SeparatedListOf, self).setValue(self.List(v))
def __str__(self): def __str__(self):
values = self() values = self()