proxy: handle property type change
This commit is contained in:
parent
a2a5d69836
commit
9011ed7dea
14
proxy.py
14
proxy.py
|
@ -104,10 +104,22 @@ class ProxyType(type):
|
||||||
oprops = obj.PropertiesList
|
oprops = obj.PropertiesList
|
||||||
for key in props:
|
for key in props:
|
||||||
prop = mcs.getPropertyInfo(key)
|
prop = mcs.getPropertyInfo(key)
|
||||||
if prop.Name not in oprops:
|
value = None
|
||||||
|
if prop.Name in oprops:
|
||||||
|
if obj.getTypeIdOfProperty(prop.Name)==prop.Type:
|
||||||
|
continue
|
||||||
|
value = prop.get(obj)
|
||||||
|
obj.removeProperty(prop.Name)
|
||||||
|
|
||||||
obj.addProperty(prop.Type,prop.Name,prop.Group,prop.Doc)
|
obj.addProperty(prop.Type,prop.Name,prop.Group,prop.Doc)
|
||||||
if prop.Enum:
|
if prop.Enum:
|
||||||
setattr(obj,prop.Name,prop.Enum)
|
setattr(obj,prop.Name,prop.Enum)
|
||||||
|
try:
|
||||||
|
if value is not None:
|
||||||
|
setattr(obj,prop.Name,value)
|
||||||
|
continue
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
if prop.Default is not None:
|
if prop.Default is not None:
|
||||||
setattr(obj,prop.Name,prop.Default)
|
setattr(obj,prop.Name,prop.Default)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user