def list(search, connection=None): if 'account' in search and type(search['account']) is list: search['account'] = ','.join([str(x['id']) for x in search['account']]) if 'state' in search and not type(search['state']) is list: search['state'] = [search['state']] return ensureConnection(connection).list('batch', search)
def __init__(self, id, connection=None): # May be called multiple times due to __new__-based cache if 'data' in self.__dict__: return # Initialise basic values self._data = {} self.connection = ensureConnection(connection) self._type = self.__class__.__name__.lower() # Pull out the id, and gather known values if type(id) is dict: self.gather(id) else: if isXid(id): (rid, oid) = decodeXid(id) self.gather({'id': oid, 'xid': id, 'account': {'id': rid}}) else: self.gather({'id': id}) self.fetched = False
def __new__(cls, id, connection=None): connection = ensureConnection(connection) if type(id) is dict: if 'xid' in id: vid = decodeXid(id['xid'])[1] elif 'code' in id: vid = id['code'] else: vid = id['id'] else: vid = id obj = connection.cache(cls.__name__, vid) if obj: # If we were passed data, gather it if type(id) is dict: obj.gather(id) else: # Create a new object from supplied data obj = super(Base, cls).__new__(cls) connection.cache(cls.__name__, vid, obj) return obj
def list(search, connection=None): return ensureConnection(connection).list('client', search)
def add(data, connection=None): return ensureConnection(connection).add('client', data)
def list(search, connection=None): return ensureConnection(connection).list('service_type', search)
def list(search, connection=None): return ensureConnection(connection).list('package', search)
def list(search, connection=None): if 'client' in search and type(search['client']) is Client: search['client_id'] = search['client'].id del search['client'] return ensureConnection(connection).list('payment', search)
def add(data, connection=None): return ensureConnection(connection).add('file', data)