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