From 1a2ae15e23307de4b3c017c037c88a186037a738 Mon Sep 17 00:00:00 2001
From: Alexander Schlemmer <alexander@mail-schlemmer.de>
Date: Fri, 18 Feb 2022 11:13:58 +0100
Subject: [PATCH] MAINT: added module namespace for caosdb to avoid confusion
 of base classes

---
 src/caosdb/high_level_api.py | 44 ++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/src/caosdb/high_level_api.py b/src/caosdb/high_level_api.py
index 001fe9a2..e253460a 100644
--- a/src/caosdb/high_level_api.py
+++ b/src/caosdb/high_level_api.py
@@ -30,16 +30,13 @@ A high level API for accessing CaosDB entities from within python.
 This is refactored from apiutils.
 """
 
-import sys
-
 from caosdb.common.datatype import (BOOLEAN, DATETIME, DOUBLE, FILE, INTEGER,
-                                    REFERENCE, TEXT, is_reference)
-from caosdb.common.models import (Container, Entity, File, Property, Query,
-                                  Record, RecordType, execute_query,
-                                  get_config)
+                                    REFERENCE, TEXT)
+import caosdb as db
 
 from .apiutils import get_type_of_entity_with
 
+
 class CaosDBPythonEntity(object):
 
     _last_id = 0
@@ -70,7 +67,7 @@ class CaosDBPythonEntity(object):
 
         return CaosDBPythonEntity._last_id
 
-    def _set_property_from_entity(self, ent):
+    def _set_property_from_entity(self, ent: db.Entity):
         name = ent.name
         val = ent.value
         pr = ent.datatype
@@ -84,7 +81,7 @@ class CaosDBPythonEntity(object):
         """
         self._datatypes[name] = datatype
 
-        if isinstance(name, Entity):
+        if isinstance(name, db.Entity):
             name = name.name
 
         if name in self._forbidden:
@@ -166,7 +163,7 @@ class CaosDBPythonEntity(object):
             return (val, False)
         elif pr[0:4] == "LIST":
             return self._type_converted_list(val, pr)
-        elif isinstance(val, Entity):
+        elif isinstance(val, db.Entity):
             return (convert_to_python_object(val), False)
         else:
             return (int(val), True)
@@ -270,6 +267,7 @@ class CaosDBPythonRecordType(CaosDBPythonEntity):
 class CaosDBPythonProperty(CaosDBPythonEntity):
     pass
 
+
 class CaosDBPythonParent(object):
     """
     Parents can be either given by name or by ID.
@@ -281,14 +279,16 @@ class CaosDBPythonParent(object):
         self.id = id
         self.name = name
 
+
 class CaosDBPythonUnresolvedReference(object):
 
     def __init__(self, id=None):
         self.id = id
 
+
 class CaosDBPythonFile(CaosDBPythonEntity):
     def get_File(self, target=None):
-        f = File(id=self._id).retrieve()
+        f = db.File(id=self._id).retrieve()
         self._file = f.download(target)
 
 
@@ -398,20 +398,20 @@ def _single_convert_to_entity(entity, robj, recursive_depth, **kwargs):
 
 
 def convert_to_entity(python_object, **kwargs):
-    if isinstance(python_object, Container):
+    if isinstance(python_object, db.Container):
         # Create a list of objects:
 
         return [convert_to_python_object(i, **kwargs) for i in python_object]
     elif isinstance(python_object, CaosDBPythonRecord):
-        return _single_convert_to_entity(Record(), python_object, **kwargs)
+        return _single_convert_to_entity(db.Record(), python_object, **kwargs)
     elif isinstance(python_object, CaosDBPythonFile):
-        return _single_convert_to_entity(File(), python_object, **kwargs)
+        return _single_convert_to_entity(db.File(), python_object, **kwargs)
     elif isinstance(python_object, CaosDBPythonRecordType):
-        return _single_convert_to_entity(RecordType(), python_object, **kwargs)
+        return _single_convert_to_entity(db.RecordType(), python_object, **kwargs)
     elif isinstance(python_object, CaosDBPythonProperty):
-        return _single_convert_to_entity(Property(), python_object, **kwargs)
+        return _single_convert_to_entity(db.Property(), python_object, **kwargs)
     elif isinstance(python_object, CaosDBPythonEntity):
-        return _single_convert_to_entity(Entity(), python_object, **kwargs)
+        return _single_convert_to_entity(db.Entity(), python_object, **kwargs)
     else:
         raise ValueError("Cannot convert an object of this type.")
 
@@ -419,20 +419,20 @@ def convert_to_entity(python_object, **kwargs):
 def convert_to_python_object(entity):
     """"""
 
-    if isinstance(entity, Container):
+    if isinstance(entity, db.Container):
         # Create a list of objects:
 
         return [convert_to_python_object(i) for i in entity]
-    elif isinstance(entity, Record):
+    elif isinstance(entity, db.Record):
         return _single_convert_to_python_object(CaosDBPythonRecord(), entity)
-    elif isinstance(entity, RecordType):
+    elif isinstance(entity, db.RecordType):
         return _single_convert_to_python_object(
             CaosDBPythonRecordType(), entity)
-    elif isinstance(entity, File):
+    elif isinstance(entity, db.File):
         return _single_convert_to_python_object(CaosDBPythonFile(), entity)
-    elif isinstance(entity, Property):
+    elif isinstance(entity, db.Property):
         return _single_convert_to_python_object(CaosDBPythonProperty(), entity)
-    elif isinstance(entity, Entity):
+    elif isinstance(entity, db.Entity):
         return _single_convert_to_python_object(CaosDBPythonEntity(), entity)
     else:
         raise ValueError("Cannot convert an object of this type.")
-- 
GitLab