summaryrefslogtreecommitdiff
path: root/Mailman/database/types.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/database/types.py')
-rw-r--r--Mailman/database/types.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/Mailman/database/types.py b/Mailman/database/types.py
index ae71129cc..ec886699d 100644
--- a/Mailman/database/types.py
+++ b/Mailman/database/types.py
@@ -33,25 +33,25 @@ class _EnumVariable(Variable):
def parse_set(self, value, from_db):
if value is None:
return None
- if from_db:
- path, intvalue = value.rsplit(':', 1)
- modulename, classname = path.rsplit('.', 1)
- __import__(modulename)
- cls = getattr(sys.modules[modulename], classname)
- return cls[int(intvalue)]
- return value
+ if not from_db:
+ return value
+ path, intvalue = value.rsplit(':', 1)
+ modulename, classname = path.rsplit('.', 1)
+ __import__(modulename)
+ cls = getattr(sys.modules[modulename], classname)
+ return cls[int(intvalue)]
def parse_get(self, value, to_db):
if value is None:
return None
- if to_db:
- return '%s.%s:%d' % (value.enumclass.__module__,
- value.enumclass.__name__,
- int(value))
- return value
+ if not to_db:
+ return value
+ return '%s.%s:%d' % (value.enumclass.__module__,
+ value.enumclass.__name__,
+ int(value))
class Enum(SimpleProperty):
"""Custom munepy.Enum type for Storm."""
- variable_class = UnicodeVariable
+ variable_class = _EnumVariable