SCDContext should be done
This commit is contained in:
parent
d7ba998cd7
commit
2e3576a1a8
4 changed files with 157 additions and 50 deletions
|
|
@ -68,18 +68,18 @@ def bootstrap_scd(state: State) -> Element:
|
||||||
Element(value="Element"))
|
Element(value="Element"))
|
||||||
|
|
||||||
# AttributeLinks --> elements that will be typed by AttributeLink
|
# AttributeLinks --> elements that will be typed by AttributeLink
|
||||||
ctx.bottom.add_edge(Element(value="Class_attr01"), Element(value="Class"),
|
ctx.bottom.add_edge(Element(value="Class_lower_cardinality_link"), Element(value="Class"),
|
||||||
Element(value="Class_lower_cardinality"))
|
Element(value="Class_lower_cardinality"))
|
||||||
ctx.bottom.add_edge(Element(value="Class_attr02"), Element(value="Class"),
|
ctx.bottom.add_edge(Element(value="Class_upper_cardinality_link"), Element(value="Class"),
|
||||||
Element(value="Class_upper_cardinality"))
|
Element(value="Class_upper_cardinality"))
|
||||||
|
|
||||||
ctx.bottom.add_edge(Element(value="Association_attr01"), Element(value="Association"),
|
ctx.bottom.add_edge(Element(value="Association_source_lower_cardinality_link"), Element(value="Association"),
|
||||||
Element(value="Association_source_lower_cardinality"))
|
Element(value="Association_source_lower_cardinality"))
|
||||||
ctx.bottom.add_edge(Element(value="Association_attr02"), Element(value="Association"),
|
ctx.bottom.add_edge(Element(value="Association_source_upper_cardinality_link"), Element(value="Association"),
|
||||||
Element(value="Association_source_upper_cardinality"))
|
Element(value="Association_source_upper_cardinality"))
|
||||||
ctx.bottom.add_edge(Element(value="Association_attr03"), Element(value="Association"),
|
ctx.bottom.add_edge(Element(value="Association_target_lower_cardinality_link"), Element(value="Association"),
|
||||||
Element(value="Association_target_lower_cardinality"))
|
Element(value="Association_target_lower_cardinality"))
|
||||||
ctx.bottom.add_edge(Element(value="Association_attr04"), Element(value="Association"),
|
ctx.bottom.add_edge(Element(value="Association_target_upper_cardinality_link"), Element(value="Association"),
|
||||||
Element(value="Association_target_upper_cardinality"))
|
Element(value="Association_target_upper_cardinality"))
|
||||||
|
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link"), Element(value="Attribute"),
|
ctx.bottom.add_edge(Element(value="Attribute_name_link"), Element(value="Attribute"),
|
||||||
|
|
@ -88,43 +88,49 @@ def bootstrap_scd(state: State) -> Element:
|
||||||
Element(value="Attribute_optional"))
|
Element(value="Attribute_optional"))
|
||||||
|
|
||||||
# AttributeLink instances --> elements that will be typed by one of the AttributeLink defined above
|
# AttributeLink instances --> elements that will be typed by one of the AttributeLink defined above
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_01"), Element(value="Attribute_name"),
|
ctx.bottom.add_edge(Element(value="Attribute_name.name_link"), Element(value="Attribute_name"),
|
||||||
Element(value="Attribute_name.name"))
|
Element(value="Attribute_name.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_01"), Element(value="Attribute_name"),
|
ctx.bottom.add_edge(Element(value="Attribute_name.optional_link"), Element(value="Attribute_name"),
|
||||||
Element(value="Attribute_name.optional"))
|
Element(value="Attribute_name.optional"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_02"), Element(value="Attribute_optional"),
|
ctx.bottom.add_edge(Element(value="Attribute_optional.name_link"), Element(value="Attribute_optional"),
|
||||||
Element(value="Attribute_optional.name"))
|
Element(value="Attribute_optional.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_02"), Element(value="Attribute_optional"),
|
ctx.bottom.add_edge(Element(value="Attribute_optional.optional_link"), Element(value="Attribute_optional"),
|
||||||
Element(value="Attribute_optional.optional"))
|
Element(value="Attribute_optional.optional"))
|
||||||
|
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_03"), Element(value="Class_lower_cardinality"),
|
ctx.bottom.add_edge(Element(value="Class_lower_cardinality.name_link"), Element(value="Class_lower_cardinality"),
|
||||||
Element(value="Class_lower_cardinality.name"))
|
Element(value="Class_lower_cardinality.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_03"), Element(value="Class_lower_cardinality"),
|
ctx.bottom.add_edge(Element(value="Class_lower_cardinality.optional_link"),
|
||||||
|
Element(value="Class_lower_cardinality"),
|
||||||
Element(value="Class_lower_cardinality.optional"))
|
Element(value="Class_lower_cardinality.optional"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_04"), Element(value="Class_upper_cardinality"),
|
ctx.bottom.add_edge(Element(value="Class_upper_cardinality.name_link"), Element(value="Class_upper_cardinality"),
|
||||||
Element(value="Class_upper_cardinality.name"))
|
Element(value="Class_upper_cardinality.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_04"), Element(value="Class_upper_cardinality"),
|
ctx.bottom.add_edge(Element(value="Class_upper_cardinality.optional_link"),
|
||||||
|
Element(value="Class_upper_cardinality"),
|
||||||
Element(value="Class_upper_cardinality.optional"))
|
Element(value="Class_upper_cardinality.optional"))
|
||||||
|
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_05"), Element(value="Association_source_lower_cardinality"),
|
ctx.bottom.add_edge(Element(value="Association_source_lower_cardinality.name_link"),
|
||||||
|
Element(value="Association_source_lower_cardinality"),
|
||||||
Element(value="Association_source_lower_cardinality.name"))
|
Element(value="Association_source_lower_cardinality.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_05"),
|
ctx.bottom.add_edge(Element(value="Association_source_lower_cardinality.optional_link"),
|
||||||
Element(value="Association_source_lower_cardinality"),
|
Element(value="Association_source_lower_cardinality"),
|
||||||
Element(value="Association_source_lower_cardinality.optional"))
|
Element(value="Association_source_lower_cardinality.optional"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_06"), Element(value="Association_source_upper_cardinality"),
|
ctx.bottom.add_edge(Element(value="Association_source_upper_cardinality.name_link"),
|
||||||
|
Element(value="Association_source_upper_cardinality"),
|
||||||
Element(value="Association_source_upper_cardinality.name"))
|
Element(value="Association_source_upper_cardinality.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_06"),
|
ctx.bottom.add_edge(Element(value="Association_source_upper_cardinality.optional_link"),
|
||||||
Element(value="Association_source_upper_cardinality"),
|
Element(value="Association_source_upper_cardinality"),
|
||||||
Element(value="Association_source_upper_cardinality.optional"))
|
Element(value="Association_source_upper_cardinality.optional"))
|
||||||
|
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_07"), Element(value="Association_target_lower_cardinality"),
|
ctx.bottom.add_edge(Element(value="Association_target_lower_cardinality.name_link"),
|
||||||
|
Element(value="Association_target_lower_cardinality"),
|
||||||
Element(value="Association_target_lower_cardinality.name"))
|
Element(value="Association_target_lower_cardinality.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_07"),
|
ctx.bottom.add_edge(Element(value="Association_target_lower_cardinality.optional_link"),
|
||||||
Element(value="Association_target_lower_cardinality"),
|
Element(value="Association_target_lower_cardinality"),
|
||||||
Element(value="Association_target_lower_cardinality.optional"))
|
Element(value="Association_target_lower_cardinality.optional"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_name_link_08"), Element(value="Association_target_upper_cardinality"),
|
ctx.bottom.add_edge(Element(value="Association_target_upper_cardinality.name_link"),
|
||||||
|
Element(value="Association_target_upper_cardinality"),
|
||||||
Element(value="Association_target_upper_cardinality.name"))
|
Element(value="Association_target_upper_cardinality.name"))
|
||||||
ctx.bottom.add_edge(Element(value="Attribute_optional_link_08"),
|
ctx.bottom.add_edge(Element(value="Association_target_upper_cardinality.optional_link"),
|
||||||
Element(value="Association_target_upper_cardinality"),
|
Element(value="Association_target_upper_cardinality"),
|
||||||
Element(value="Association_target_upper_cardinality.optional"))
|
Element(value="Association_target_upper_cardinality.optional"))
|
||||||
|
|
||||||
|
|
@ -149,12 +155,12 @@ def bootstrap_scd(state: State) -> Element:
|
||||||
ctx.retype_element(Element(value="Attribute_name"), Element(value="Attribute"))
|
ctx.retype_element(Element(value="Attribute_name"), Element(value="Attribute"))
|
||||||
ctx.retype_element(Element(value="Attribute_optional"), Element(value="Attribute"))
|
ctx.retype_element(Element(value="Attribute_optional"), Element(value="Attribute"))
|
||||||
|
|
||||||
ctx.retype_element(Element(value="Class_attr01"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Class_lower_cardinality_link"), Element(value="AttributeLink"))
|
||||||
ctx.retype_element(Element(value="Class_attr02"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Class_upper_cardinality_link"), Element(value="AttributeLink"))
|
||||||
ctx.retype_element(Element(value="Association_attr01"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Association_source_lower_cardinality_link"), Element(value="AttributeLink"))
|
||||||
ctx.retype_element(Element(value="Association_attr02"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Association_source_upper_cardinality_link"), Element(value="AttributeLink"))
|
||||||
ctx.retype_element(Element(value="Association_attr03"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Association_target_lower_cardinality_link"), Element(value="AttributeLink"))
|
||||||
ctx.retype_element(Element(value="Association_attr04"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Association_target_upper_cardinality_link"), Element(value="AttributeLink"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Attribute_name_link"), Element(value="AttributeLink"))
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link"), Element(value="AttributeLink"))
|
ctx.retype_element(Element(value="Attribute_optional_link"), Element(value="AttributeLink"))
|
||||||
|
|
||||||
|
|
@ -184,21 +190,29 @@ def bootstrap_scd(state: State) -> Element:
|
||||||
ctx.retype_element(Element(value="Association_target_upper_cardinality.optional"),
|
ctx.retype_element(Element(value="Association_target_upper_cardinality.optional"),
|
||||||
Element(value="Attribute_optional"))
|
Element(value="Attribute_optional"))
|
||||||
|
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_01"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Attribute_name.name_link"), Element(value="Attribute_name_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_01"), Element(value="Attribute_optional_link"))
|
ctx.retype_element(Element(value="Attribute_name.optional_link"), Element(value="Attribute_optional_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_02"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Attribute_optional.name_link"), Element(value="Attribute_name_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_02"), Element(value="Attribute_optional_link"))
|
ctx.retype_element(Element(value="Attribute_optional.optional_link"), Element(value="Attribute_optional_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_03"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Class_lower_cardinality.name_link"), Element(value="Attribute_name_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_03"), Element(value="Attribute_optional_link"))
|
ctx.retype_element(Element(value="Class_lower_cardinality.optional_link"), Element(value="Attribute_optional_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_04"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Class_upper_cardinality.name_link"), Element(value="Attribute_name_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_04"), Element(value="Attribute_optional_link"))
|
ctx.retype_element(Element(value="Class_upper_cardinality.optional_link"), Element(value="Attribute_optional_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_05"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Association_source_lower_cardinality.name_link"),
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_05"), Element(value="Attribute_optional_link"))
|
Element(value="Attribute_name_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_06"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Association_source_lower_cardinality.optional_link"),
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_06"), Element(value="Attribute_optional_link"))
|
Element(value="Attribute_optional_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_07"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Association_source_upper_cardinality.name_link"),
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_07"), Element(value="Attribute_optional_link"))
|
Element(value="Attribute_name_link"))
|
||||||
ctx.retype_element(Element(value="Attribute_name_link_08"), Element(value="Attribute_name_link"))
|
ctx.retype_element(Element(value="Association_source_upper_cardinality.optional_link"),
|
||||||
ctx.retype_element(Element(value="Attribute_optional_link_08"), Element(value="Attribute_optional_link"))
|
Element(value="Attribute_optional_link"))
|
||||||
|
ctx.retype_element(Element(value="Association_target_lower_cardinality.name_link"),
|
||||||
|
Element(value="Attribute_name_link"))
|
||||||
|
ctx.retype_element(Element(value="Association_target_lower_cardinality.optional_link"),
|
||||||
|
Element(value="Attribute_optional_link"))
|
||||||
|
ctx.retype_element(Element(value="Association_target_upper_cardinality.name_link"),
|
||||||
|
Element(value="Attribute_name_link"))
|
||||||
|
ctx.retype_element(Element(value="Association_target_upper_cardinality.optional_link"),
|
||||||
|
Element(value="Attribute_optional_link"))
|
||||||
|
|
||||||
return Element(id=scd)
|
return Element(id=scd)
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,9 @@ class GenericContext(Context):
|
||||||
self.instantiate_value,
|
self.instantiate_value,
|
||||||
self.instantiate_link,
|
self.instantiate_link,
|
||||||
self.retype_element,
|
self.retype_element,
|
||||||
self.list_elements,
|
|
||||||
self.delete_element,
|
self.delete_element,
|
||||||
|
self.list_elements,
|
||||||
|
self.list_types,
|
||||||
self.verify,
|
self.verify,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -47,7 +48,7 @@ class GenericContext(Context):
|
||||||
if not self._type_exists(type_name, instantiate_link=False):
|
if not self._type_exists(type_name, instantiate_link=False):
|
||||||
print(f"Attempting to instantiate element with invalid type: {type_name.value}")
|
print(f"Attempting to instantiate element with invalid type: {type_name.value}")
|
||||||
else:
|
else:
|
||||||
self.bottom.add_value(name, value.value)
|
self.bottom.add_value(name, value)
|
||||||
self.retype_element(name, type_name)
|
self.retype_element(name, type_name)
|
||||||
|
|
||||||
def instantiate_link(self, type_name: String, name: String, source: String, target: String):
|
def instantiate_link(self, type_name: String, name: String, source: String, target: String):
|
||||||
|
|
|
||||||
|
|
@ -17,16 +17,105 @@ class SCDContext(GenericContext):
|
||||||
]
|
]
|
||||||
|
|
||||||
def create_class(self, name: String, lower_cardinality: Integer = Element(), upper_cardinality: Integer = Element()):
|
def create_class(self, name: String, lower_cardinality: Integer = Element(), upper_cardinality: Integer = Element()):
|
||||||
pass
|
self.instantiate(Element(value="Class"), name)
|
||||||
|
if lower_cardinality.value is not None:
|
||||||
|
self.instantiate_value(
|
||||||
|
Element(value="Class_lower_cardinality"),
|
||||||
|
Element(value=name.value + ".lower_cardinality"),
|
||||||
|
lower_cardinality
|
||||||
|
)
|
||||||
|
self.instantiate_link(
|
||||||
|
Element(value="Class_lower_cardinality_link"),
|
||||||
|
Element(value=name.value + ".lower_cardinality_link"),
|
||||||
|
name,
|
||||||
|
Element(value=name.value + ".lower_cardinality")
|
||||||
|
)
|
||||||
|
if upper_cardinality.value is not None:
|
||||||
|
self.instantiate_value(
|
||||||
|
Element(value="Class_upper_cardinality"),
|
||||||
|
Element(value=name.value + ".upper_cardinality"),
|
||||||
|
upper_cardinality
|
||||||
|
)
|
||||||
|
self.instantiate_link(
|
||||||
|
Element(value="Class_upper_cardinality_link"),
|
||||||
|
Element(value=name.value + ".upper_cardinality_link"),
|
||||||
|
name,
|
||||||
|
Element(value=name.value + ".upper_cardinality")
|
||||||
|
)
|
||||||
|
|
||||||
def create_class_attribute(self, class_name: String, name: String, optional: Boolean = Element(value=False)):
|
def create_class_attribute(self, class_name: String, name: String, optional: Boolean = Element(value=False)):
|
||||||
pass
|
# create attribute
|
||||||
|
element_name = Element(value=f"{class_name.value}_{name.value}")
|
||||||
|
element_link_name = Element(value=f"{class_name.value}_{name.value}_link")
|
||||||
|
self.instantiate(Element(value="Attribute"), element_name)
|
||||||
|
self.instantiate_link(Element(value="AttributeLink"), element_link_name, class_name, element_name)
|
||||||
|
# set attribute's attributes
|
||||||
|
attr_name_name = Element(value=f"{class_name.value}_{name.value}.name")
|
||||||
|
attr_optional_name = Element(value=f"{class_name.value}_{name.value}.optional")
|
||||||
|
attr_name_link_name = Element(value=f"{class_name.value}_{name.value}.name_link")
|
||||||
|
attr_optional_link_name = Element(value=f"{class_name.value}_{name.value}.optional_link")
|
||||||
|
self.instantiate_value(Element(value="Attribute_name"), attr_name_name, name)
|
||||||
|
self.instantiate_value(Element(value="Attribute_optional"), attr_optional_name, optional)
|
||||||
|
self.instantiate_link(Element(value="Attribute_name_link"), attr_name_link_name, element_name, attr_name_name)
|
||||||
|
self.instantiate_link(Element(value="Attribute_optional_link"), attr_optional_link_name, element_name, attr_optional_name)
|
||||||
|
|
||||||
def create_association(self, source_class_name: String, target_class_name: String, name: String,
|
def create_association(self, source_class_name: String, target_class_name: String, name: String,
|
||||||
source_lower_cardinality: Integer = Element(), target_lower_cardinality: Integer = Element(),
|
source_lower_cardinality: Integer = Element(), target_lower_cardinality: Integer = Element(),
|
||||||
source_upper_cardinality: Integer = Element(), target_upper_cardinality: Integer = Element()
|
source_upper_cardinality: Integer = Element(), target_upper_cardinality: Integer = Element()
|
||||||
):
|
):
|
||||||
pass
|
self.instantiate_link(Element(value="Association"), name, source_class_name, target_class_name)
|
||||||
|
if source_lower_cardinality.value is not None:
|
||||||
|
self.instantiate_value(
|
||||||
|
Element(value="Association_source_lower_cardinality"),
|
||||||
|
Element(value=name.value + ".source_lower_cardinality"),
|
||||||
|
source_lower_cardinality
|
||||||
|
)
|
||||||
|
self.instantiate_link(
|
||||||
|
Element(value="Association_source_lower_cardinality_link"),
|
||||||
|
Element(value=name.value + ".source_lower_cardinality_link"),
|
||||||
|
name,
|
||||||
|
Element(value=name.value + ".source_lower_cardinality")
|
||||||
|
)
|
||||||
|
if source_upper_cardinality.value is not None:
|
||||||
|
self.instantiate_value(
|
||||||
|
Element(value="Association_source_upper_cardinality"),
|
||||||
|
Element(value=name.value + ".source_upper_cardinality"),
|
||||||
|
source_upper_cardinality
|
||||||
|
)
|
||||||
|
self.instantiate_link(
|
||||||
|
Element(value="Association_source_upper_cardinality_link"),
|
||||||
|
Element(value=name.value + ".source_upper_cardinality_link"),
|
||||||
|
name,
|
||||||
|
Element(value=name.value + ".source_upper_cardinality")
|
||||||
|
)
|
||||||
|
if target_lower_cardinality.value is not None:
|
||||||
|
self.instantiate_value(
|
||||||
|
Element(value="Association_target_lower_cardinality"),
|
||||||
|
Element(value=name.value + ".target_lower_cardinality"),
|
||||||
|
target_lower_cardinality
|
||||||
|
)
|
||||||
|
self.instantiate_link(
|
||||||
|
Element(value="Association_target_lower_cardinality_link"),
|
||||||
|
Element(value=name.value + ".target_lower_cardinality_link"),
|
||||||
|
name,
|
||||||
|
Element(value=name.value + ".target_lower_cardinality")
|
||||||
|
)
|
||||||
|
if target_upper_cardinality.value is not None:
|
||||||
|
self.instantiate_value(
|
||||||
|
Element(value="Association_target_upper_cardinality"),
|
||||||
|
Element(value=name.value + ".target_upper_cardinality"),
|
||||||
|
target_upper_cardinality
|
||||||
|
)
|
||||||
|
self.instantiate_link(
|
||||||
|
Element(value="Association_target_upper_cardinality_link"),
|
||||||
|
Element(value=name.value + ".target_upper_cardinality_link"),
|
||||||
|
name,
|
||||||
|
Element(value=name.value + ".target_upper_cardinality")
|
||||||
|
)
|
||||||
|
|
||||||
def create_inheritance(self, parent_class_name: String, child_class_name: String):
|
def create_inheritance(self, parent_class_name: String, child_class_name: String):
|
||||||
pass
|
self.instantiate_link(
|
||||||
|
Element(value="Inheritance"),
|
||||||
|
Element(value=f"{child_class_name.value}_inherits_from_{parent_class_name.value}"),
|
||||||
|
child_class_name,
|
||||||
|
parent_class_name)
|
||||||
|
|
|
||||||
3
main.py
3
main.py
|
|
@ -37,6 +37,9 @@ def input_args(method):
|
||||||
arg = input(f"{param_type} {param_name} (default = {param_default.value})? ")
|
arg = input(f"{param_type} {param_name} (default = {param_default.value})? ")
|
||||||
if arg == '':
|
if arg == '':
|
||||||
arg = param_default.value
|
arg = param_default.value
|
||||||
|
arg = Element(value=arg)
|
||||||
|
args.append(arg)
|
||||||
|
continue
|
||||||
else:
|
else:
|
||||||
param_name, param_type = param_tuple
|
param_name, param_type = param_tuple
|
||||||
while True:
|
while True:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue