fix some remaining py3 incompatibilites
- None <= 0 is invalid in py3 - restrict BLOBType to bytes (may be changed after migration to py3) - remove long - use list(<dict>.items()) when dict is changed within loop - allow initialization of properties in HasProperties without supercall to base class - <dict>.values() can not be indexed - adapted/removed various tests. additional tests might be added after definitive migration to py3 after this change, all the tests run with py3, also secop-server and secop-gui were tested with an example, but other code might still contain py3 incompatibilities Change-Id: I881c6972aeabb8494a21a6cbc7ffeddfd4f5d4f8 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21306 Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch> Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de>
This commit is contained in:
@ -48,7 +48,7 @@ class Property(object):
|
||||
self.description = description
|
||||
self.default = datatype.default if default is None else datatype(default)
|
||||
self.datatype = datatype
|
||||
self.extname = unicode(extname)
|
||||
self.extname = extname
|
||||
self.export = export or bool(extname)
|
||||
self.mandatory = mandatory or (default is None and not isinstance(datatype, ValueType))
|
||||
self.settable = settable or mandatory # settable means settable from the cfg file
|
||||
@ -121,8 +121,9 @@ class PropertyMeta(type):
|
||||
class HasProperties(object):
|
||||
properties = {}
|
||||
|
||||
def __init__(self, *args):
|
||||
super(HasProperties, self).__init__()
|
||||
def __init__(self, supercall_init=True):
|
||||
if supercall_init:
|
||||
super(HasProperties, self).__init__()
|
||||
# store property values in the instance, keep descriptors on the class
|
||||
self.properties = {}
|
||||
# pre-init with properties default value (if any)
|
||||
|
Reference in New Issue
Block a user