Source code for abcd.structurebox



__author__ = 'Martin Uhrin'

[docs]class StructureBox(object):
[docs] class BackendOpen: def __init__(self, backend): self.backend = backend self.did_open = False def __enter__(self): if not self.backend.is_open: self.backend.open() self.did_open = True return self.backend def __exit__(self, exc_type, exc_val, exc_tb): if self.did_open: self.backend.close() self.did_open = False
def __init__(self, backend): self.backend = backend
[docs] def list(self, auth_token): with StructureBox.BackendOpen(self.backend): return self.backend.list(auth_token)
[docs] def authenticate(self, credentials): with StructureBox.BackendOpen(self.backend): return self.backend.authenticate(credentials)
[docs] def insert(self, auth_token, atoms): with StructureBox.BackendOpen(self.backend): return self.backend.insert(auth_token, atoms)
[docs] def update(self, auth_token, atoms, upsert=False, replace=False): with StructureBox.BackendOpen(self.backend): return self.backend.update(auth_token, atoms, upsert, replace)
[docs] def find(self, auth_token, filter, sort={}, limit=0, keys=None, omit_keys=False): with StructureBox.BackendOpen(self.backend): return self.backend.find(auth_token, filter, sort, limit, keys, omit_keys)
[docs] def remove(self, auth_token, filter, just_one=True): with StructureBox.BackendOpen(self.backend): return self.backend.remove(auth_token, filter, just_one)
[docs] def add_keys(self, auth_token, filter, kvp): with StructureBox.BackendOpen(self.backend): return self.backend.add_keys(auth_token, filter, kvp)
[docs] def remove_keys(self, auth_token, filter, keys): with StructureBox.BackendOpen(self.backend): return self.backend.remove_keys(auth_token, filter, keys)