Allow FieldAttribute lists and sets to be set from a comma separated string

pull/4420/head
Toshio Kuratomi 2016-03-14 10:32:50 -07:00
parent 88772b6003
commit d665911bab
1 changed files with 12 additions and 5 deletions

View File

@ -334,6 +334,9 @@ class Base:
if value is None: if value is None:
value = [] value = []
elif not isinstance(value, list): elif not isinstance(value, list):
if isinstance(value, string_types):
value = value.split(',')
else:
value = [ value ] value = [ value ]
if attribute.listof is not None: if attribute.listof is not None:
for item in value: for item in value:
@ -346,8 +349,12 @@ class Base:
elif attribute.isa == 'set': elif attribute.isa == 'set':
if value is None: if value is None:
value = set() value = set()
elif not isinstance(value, (list, set)):
if isinstance(value, string_types):
value = value.split(',')
else: else:
if not isinstance(value, (list, set)): # Making a list like this handles strings of
# text and bytes properly
value = [ value ] value = [ value ]
if not isinstance(value, set): if not isinstance(value, set):
value = set(value) value = set(value)