fixes in datatype.py

- in DATATYPES, arguments for CommandType must be optional
- added default value for Enum

Change-Id: I967efe3418960ad587d989d22412f6a834257171
Reviewed-on: https://forge.frm2.tum.de/review/20923
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
zolliker 2019-07-16 15:33:35 +02:00 committed by Enrico Faulhaber
parent 7f0303f0ef
commit c5f3b113a8

View File

@ -315,6 +315,7 @@ class EnumType(DataType):
kwds.update(kwds[u'members']) kwds.update(kwds[u'members'])
kwds.pop(u'members') kwds.pop(u'members')
self._enum = Enum(enum_or_name, **kwds) self._enum = Enum(enum_or_name, **kwds)
self.default = self._enum[self._enum.members[0]]
def copy(self): def copy(self):
# as the name is not exported, we have to implement copy ourselfs # as the name is not exported, we have to implement copy ourselfs
@ -863,7 +864,7 @@ DATATYPES = dict(
enum =lambda members={}: EnumType('', members=members), enum =lambda members={}: EnumType('', members=members),
struct =lambda optional=None, members=None: StructOf(optional, struct =lambda optional=None, members=None: StructOf(optional,
**dict((n, get_datatype(t)) for n, t in list(members.items()))), **dict((n, get_datatype(t)) for n, t in list(members.items()))),
command = lambda argument, result: CommandType(get_datatype(argument), get_datatype(result)), command = lambda argument=None, result=None: CommandType(get_datatype(argument), get_datatype(result)),
) )