Skip to content
Snippets Groups Projects
Select Git revision
  • 54880b5de1512fa53609efd13c92fb82c21c4367
  • main default protected
  • djaosdb
  • 1.2.23
  • 1.0
5 results

database.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    database.py 804 B
    from logging import getLogger
    from caosdb import MongoClient
    
    logger = getLogger(__name__)
    clients = {}
    
    
    def connect(db, **kwargs):
        try:
            return clients[db]
        except KeyError:
            logger.debug('New MongoClient connection')
            clients[db] = MongoClient(**kwargs, connect=False)
        return clients[db]
    
    
    class Error(Exception):  # NOQA: StandardError undefined on PY3
        pass
    
    
    class InterfaceError(Error):
        pass
    
    
    class DatabaseError(Error):
        pass
    
    
    class DataError(DatabaseError):
        pass
    
    
    class OperationalError(DatabaseError):
        pass
    
    
    class IntegrityError(DatabaseError):
        pass
    
    
    class InternalError(DatabaseError):
        pass
    
    
    class ProgrammingError(DatabaseError):
        pass
    
    
    class NotSupportedError(DatabaseError):
        pass
    
    
    def Binary(value):
        return value