refactor
This commit is contained in:
@ -16,16 +16,16 @@ def typechecked(func):
|
|||||||
return typechecked_call
|
return typechecked_call
|
||||||
|
|
||||||
|
|
||||||
def property_maker(name, type_name):
|
def property_maker(name, dtype):
|
||||||
storage_name = '_' + name
|
storage_name = '_' + name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def prop(self) -> type_name:
|
def prop(self) -> dtype:
|
||||||
return getattr(self, storage_name)
|
return getattr(self, storage_name)
|
||||||
|
|
||||||
@prop.setter
|
@prop.setter
|
||||||
@typechecked
|
@typechecked
|
||||||
def prop(self, value: type_name) -> None:
|
def prop(self, value: dtype) -> None:
|
||||||
setattr(self, storage_name, value)
|
setattr(self, storage_name, value)
|
||||||
|
|
||||||
return prop
|
return prop
|
||||||
@ -34,16 +34,17 @@ def property_maker(name, type_name):
|
|||||||
|
|
||||||
class Snippet:
|
class Snippet:
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, snippetType="snippet", **kwargs):
|
||||||
self._properties = []
|
self._properties = []
|
||||||
|
self.snippetType = snippetType
|
||||||
self.set_properties(**kwargs)
|
self.set_properties(**kwargs)
|
||||||
|
|
||||||
def set_properties(self, **kwargs):
|
def set_properties(self, **kwargs):
|
||||||
for key, value in kwargs.items():
|
for name, dtype in kwargs.items():
|
||||||
storage_name = '_' + key
|
storage_name = '_' + name
|
||||||
setattr(Snippet, storage_name, None)
|
setattr(Snippet, storage_name, None)
|
||||||
setattr(Snippet, key, property_maker(key, value))
|
setattr(Snippet, name, property_maker(name, dtype))
|
||||||
self._properties.append(key)
|
self._properties.append(name)
|
||||||
|
|
||||||
def to_dict(self, include_none=True):
|
def to_dict(self, include_none=True):
|
||||||
if include_none:
|
if include_none:
|
||||||
@ -52,8 +53,7 @@ class Snippet:
|
|||||||
return {key: getattr(self, key) for key in self._properties if getattr(self, key) is not None}
|
return {key: getattr(self, key) for key in self._properties if getattr(self, key) is not None}
|
||||||
|
|
||||||
def import_dict(self, properties):
|
def import_dict(self, properties):
|
||||||
for key in properties.keys():
|
self.__dict__.update(properties)
|
||||||
setattr(self, key, properties[key])
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_dict(cls, properties):
|
def from_dict(cls, properties):
|
||||||
@ -74,9 +74,9 @@ class Snippet:
|
|||||||
|
|
||||||
|
|
||||||
class Basesnippet(Snippet):
|
class Basesnippet(Snippet):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
props = dict(
|
||||||
self.set_properties(
|
|
||||||
id=str,
|
id=str,
|
||||||
parentId=str,
|
parentId=str,
|
||||||
ownerGroup=str,
|
ownerGroup=str,
|
||||||
@ -97,15 +97,18 @@ class Basesnippet(Snippet):
|
|||||||
versionable=bool,
|
versionable=bool,
|
||||||
deleted=bool
|
deleted=bool
|
||||||
)
|
)
|
||||||
self.snippetType = "basesnippet"
|
super().__init__(snippetType="basesnippet", **props)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Paragraph(Basesnippet):
|
class Paragraph(Basesnippet):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
props = dict(
|
||||||
self.set_properties(textcontent=str, isMessage=str)
|
textcontent=str,
|
||||||
self.snippetType = "paragraph"
|
isMessage=str
|
||||||
|
)
|
||||||
|
super().__init__(snippetType="paragraph", **props)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user