Enum now takes values as args instead of a list
This commit is contained in:
parent
d867bd92db
commit
a1983697c7
@ -29,7 +29,7 @@ class CallException(RuntimeError):
|
||||
self.faultcode, self.faultstring, self.debuginfo)
|
||||
|
||||
|
||||
myenumtype = wsme.types.Enum(str, set(['v1', 'v2']))
|
||||
myenumtype = wsme.types.Enum(str, 'v1', 'v2')
|
||||
|
||||
|
||||
class NestedInner(object):
|
||||
@ -220,6 +220,7 @@ class ArgTypes(object):
|
||||
assert type(value) == str
|
||||
return value
|
||||
|
||||
|
||||
class WithErrors(object):
|
||||
@expose()
|
||||
def divide_by_zero(self):
|
||||
|
@ -135,7 +135,7 @@ class TestTypes(unittest.TestCase):
|
||||
assert AType().test == 'test'
|
||||
|
||||
def test_enum(self):
|
||||
aenum = types.Enum(str, ['v1', 'v2'])
|
||||
aenum = types.Enum(str, 'v1', 'v2')
|
||||
assert aenum.basetype is str
|
||||
|
||||
class AType(object):
|
||||
@ -149,7 +149,6 @@ class TestTypes(unittest.TestCase):
|
||||
obj.a = 'v1'
|
||||
assert obj.a == 'v1'
|
||||
|
||||
|
||||
try:
|
||||
obj.a = 'v3'
|
||||
assert False, 'ValueError was not raised'
|
||||
|
@ -4,6 +4,7 @@ import decimal
|
||||
import inspect
|
||||
import weakref
|
||||
|
||||
|
||||
class UserType(object):
|
||||
basetype = None
|
||||
|
||||
@ -45,10 +46,16 @@ class Enum(UserType):
|
||||
:param values: A set of possible values
|
||||
|
||||
If nullable, 'None' should be added the values set.
|
||||
|
||||
Example::
|
||||
|
||||
Gender = Enum(str, 'male', 'female')
|
||||
Specie = Enum(str, 'cat', 'dog')
|
||||
|
||||
"""
|
||||
def __init__(self, basetype, values):
|
||||
def __init__(self, basetype, *values):
|
||||
self.basetype = basetype
|
||||
self.values = values
|
||||
self.values = set(values)
|
||||
|
||||
def validate(self, value):
|
||||
if value not in self.values:
|
||||
@ -91,6 +98,7 @@ def validate_value(datatype, value):
|
||||
datatype, type(value)
|
||||
))
|
||||
|
||||
|
||||
class wsproperty(property):
|
||||
"""
|
||||
A specialised :class:`property` to define typed-property on complex types.
|
||||
|
Loading…
x
Reference in New Issue
Block a user