From 6dd57f9540c6661da87c90779a44ca82cc5083ad Mon Sep 17 00:00:00 2001 From: "Anders H. Rebner" <anderhre@stud.ntnu.no> Date: Tue, 21 Apr 2020 08:53:36 +0200 Subject: [PATCH] #132 Docstring --- soitool/serialize_export_import_soi.py | 31 ++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/soitool/serialize_export_import_soi.py b/soitool/serialize_export_import_soi.py index 822e459..5ebd486 100644 --- a/soitool/serialize_export_import_soi.py +++ b/soitool/serialize_export_import_soi.py @@ -235,8 +235,9 @@ def construct_soi_from_serialized(serialized, compressed=False): if not SERIALIZED_SOI_SCHEMA.is_valid(serialized): raise ValueError("Serialized SOI does not have correct format.") - modules = construct_modules(serialized) - attachments = construct_modules(serialized, is_modules=False) + # Construct modules and attachments + modules = construct_modules_from_serialized(serialized["modules"]) + attachments = construct_modules_from_serialized(serialized["attachments"]) # Create SOI soi = SOI( @@ -260,14 +261,26 @@ def construct_soi_from_serialized(serialized, compressed=False): return soi -def construct_modules(serialized, is_modules=True): - """...""" +def construct_modules_from_serialized(serialized_modules): + """Instantiate modules from serialized format. + + Parameters + ---------- + serialized_modules : list + list of dicts containing serialized modules or attachment-modules. + + Returns + ------- + list + Containing instantiated modules or attachment-modules. + + Raises + ------ + TypeError + If type of module is not recognized. + """ # Create dict for modules with instantiated widget(s) modules = [] - if is_modules: - serialized_modules = serialized["modules"] - else: - serialized_modules = serialized["attachments"] for module in serialized_modules: module_type = module["type"] @@ -300,7 +313,7 @@ def construct_modules(serialized, is_modules=True): size = module["size"] data = module["data"] modules.append( - {"widget": FreeTextModule(size, data), "meta": module["meta"],} + {"widget": FreeTextModule(size, data), "meta": module["meta"]} ) else: raise TypeError( -- GitLab