From 49b11ff2683c78ab04a4e1b78c71afb1f23b4bcb Mon Sep 17 00:00:00 2001
From: Alexander Kreft <akreft@trineo.org>
Date: Tue, 5 Oct 2021 17:02:00 +0200
Subject: [PATCH] MAINT: fix optional package

---
 src/caosdb/configuration.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/caosdb/configuration.py b/src/caosdb/configuration.py
index 80422433..e35c08da 100644
--- a/src/caosdb/configuration.py
+++ b/src/caosdb/configuration.py
@@ -24,7 +24,11 @@
 
 import os
 import yaml
-from jsonschema import validate
+try:
+    optional_jsonschema = None
+    from jsonschema import validate as optional_jsonschema_validate
+except ImportError:
+    pass
 
 try:
     # python2
@@ -79,9 +83,10 @@ def config_to_yaml(config):
 
 
 def validate_yaml_schema(valobj):
-    with open(os.path.join(os.path.dirname(__file__), "schema-pycaosdb-ini.yml")) as f:
-        schema = yaml.load(f, Loader=yaml.SafeLoader)
-    validate(instance=valobj, schema=schema["schema-pycaosdb-ini"])
+    if optional_jsonschema_validate:
+        with open(os.path.join(os.path.dirname(__file__), "schema-pycaosdb-ini.yml")) as f:
+            schema = yaml.load(f, Loader=yaml.SafeLoader)
+        optional_jsonschema_validate(instance=valobj, schema=schema["schema-pycaosdb-ini"])
 
 
 def _read_config_files():
-- 
GitLab