From c6fc8880e0dbd5163ac407a40ca6e93626a23caa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Fri, 1 Mar 2024 12:28:03 +0100
Subject: [PATCH] file

---
 unittests/table_json_conversion/example.xlsx  | Bin 9847 -> 0 bytes
 unittests/table_json_conversion/model.yml     |   2 +
 .../table_json_conversion/model_schema.json   |  72 ++----------------
 .../test_table_template_generator.py          |  17 +++--
 4 files changed, 17 insertions(+), 74 deletions(-)
 delete mode 100644 unittests/table_json_conversion/example.xlsx

diff --git a/unittests/table_json_conversion/example.xlsx b/unittests/table_json_conversion/example.xlsx
deleted file mode 100644
index 23530ad18c2a1442160d0c1a478a25dc887ac900..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9847
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

diff --git a/unittests/table_json_conversion/model.yml b/unittests/table_json_conversion/model.yml
index 9c6f5e67..3ee3b20e 100644
--- a/unittests/table_json_conversion/model.yml
+++ b/unittests/table_json_conversion/model.yml
@@ -25,6 +25,8 @@ Training:
       datatype: INTEGER
     remote:
       datatype: BOOLEAN
+    slides:
+      datatype: FILE
 ProgrammingCourse:
   inherit_from_suggested:
     - Training
diff --git a/unittests/table_json_conversion/model_schema.json b/unittests/table_json_conversion/model_schema.json
index 6b27c8b6..f7d9738a 100644
--- a/unittests/table_json_conversion/model_schema.json
+++ b/unittests/table_json_conversion/model_schema.json
@@ -53,28 +53,8 @@
                 "type": "string"
               },
               "Organisation": {
-                "oneOf": [
-                  {
-                    "title": "Existing entries",
-                    "enum": [
-                      "Federal Reserve"
-                    ]
-                  },
-                  {
-                    "type": "object",
-                    "required": [],
-                    "additionalProperties": false,
-                    "title": "Create new",
-                    "properties": {
-                      "name": {
-                        "type": "string",
-                        "description": "The name of the Record to be created"
-                      },
-                      "Country": {
-                        "type": "string"
-                      }
-                    }
-                  }
+                "enum": [
+                  "Federal Reserve"
                 ]
               }
             }
@@ -97,28 +77,8 @@
               "type": "string"
             },
             "Organisation": {
-              "oneOf": [
-                {
-                  "title": "Existing entries",
-                  "enum": [
-                    "Federal Reserve"
-                  ]
-                },
-                {
-                  "type": "object",
-                  "required": [],
-                  "additionalProperties": false,
-                  "title": "Create new",
-                  "properties": {
-                    "name": {
-                      "type": "string",
-                      "description": "The name of the Record to be created"
-                    },
-                    "Country": {
-                      "type": "string"
-                    }
-                  }
-                }
+              "enum": [
+                "Federal Reserve"
               ]
             }
           }
@@ -152,28 +112,8 @@
           "type": "string"
         },
         "Organisation": {
-          "oneOf": [
-            {
-              "title": "Existing entries",
-              "enum": [
-                "Federal Reserve"
-              ]
-            },
-            {
-              "type": "object",
-              "required": [],
-              "additionalProperties": false,
-              "title": "Create new",
-              "properties": {
-                "name": {
-                  "type": "string",
-                  "description": "The name of the Record to be created"
-                },
-                "Country": {
-                  "type": "string"
-                }
-              }
-            }
+          "enum": [
+            "Federal Reserve"
           ]
         }
       },
diff --git a/unittests/table_json_conversion/test_table_template_generator.py b/unittests/table_json_conversion/test_table_template_generator.py
index 40f9d0b1..75310253 100644
--- a/unittests/table_json_conversion/test_table_template_generator.py
+++ b/unittests/table_json_conversion/test_table_template_generator.py
@@ -189,14 +189,15 @@ def test_template_generator():
     assert ws.row_dimensions[1].hidden is True
     assert ws.column_dimensions['A'].hidden is True
 
-
-#    rp = '/home/henrik/CaosDB/management/external/dimr/eingabemaske/django/laforms/settings/DevelSchema.json'
-#    with open(rp) as sfi:
-#        schema = json.load(sfi)
-#    generator.generate(schema=schema,
-#                       foreign_keys={},
-#                       filepath=path)
-#    os.system(f'libreoffice {path}')
+    di = '/home/professional/CaosDB/management/external/dimr/eingabemaske/crawler/schemas'
+    for fi in os.listdir(di):
+        rp = os.path.join(di, fi)
+        with open(rp) as sfi:
+            schema = json.load(sfi)
+        generator.generate(schema=schema,
+                           foreign_keys={},
+                           filepath=path)
+        os.system(f'libreoffice {path}')
 
     # TODO test colisions of sheet or colnames
     # TODO test escaping of values
-- 
GitLab