diff options
Diffstat (limited to 'photoblaster/db/pb.py')
| -rw-r--r-- | photoblaster/db/pb.py | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/photoblaster/db/pb.py b/photoblaster/db/pb.py deleted file mode 100644 index 7edeb4d..0000000 --- a/photoblaster/db/pb.py +++ /dev/null @@ -1,83 +0,0 @@ -"""all database connections and logic goes here""" -import time -import simplejson as json -from photoblaster.db import Db -from photoblaster.db.imcmd import ImCmd -from sqlalchemy import sql, func, desc - -_NULL = sql.null() - - -class Pb(Db): - """all photoblaster db methods go here""" - def __init__(self): - super(Pb, self).__init__() - - def search(self, **kwargs): - session = self.Session() - results = session.query(ImCmd).filter_by(**kwargs).all() - return map( - lambda n: {"tag": n.tag, "data": json.loads(n.dataobj)}, results) - - def insert_cmd(self, **kwargs): - try: - session = self.Session() - _entry_data = { - 'date': kwargs.get("date", int(time.time())), - 'remote_addr': kwargs['remote_addr'] or _NULL, - 'name': kwargs['username'] or _NULL, - 'url': kwargs['username'] or _NULL, - 'dir': kwargs['directory'] or _NULL, - 'oldfile': kwargs['oldfile'] or _NULL, - 'newfile': kwargs['newfile'] or _NULL, - 'cmd': kwargs['cmd'] or _NULL, - 'dataobj': kwargs['dataobj'] or _NULL, - 'tag': kwargs['tag'] or _NULL - } - session.add(ImCmd(**_entry_data)) - session.commit() - # FIXME session.close().... - except Exception as e: - self.log_error("Unable to commit database entry") - self.log_error(str(e)) - - def _get( - self, - columns=None, - filter_by={}, - order_by=None, - offset=0, - limit=20, - not_deleted=False - ): - session = self.Session() - results = session.query(ImCmd) - if not_deleted: - filter_by['deleted'] = 0 - if filter_by: - results = results.filter_by(filter_by) - if order_by is not None: - results = results.order_by(order_by) - results = results.offset(offset).limit(limit) - session.close() - return [result.serialize(columns=columns) for result in results] - - def get_random( - self, filter_by={}, - offset=0, limit=20, columns=None - ): - return self._get( - columns=columns, order_by=func.random(), - offset=offset, limit=limit) - - def get_by_date( - self, - filter_by={}, - offset=0, limit=20, columns=None - ): - return self._get( - columns=columns, offset=offset, limit=limit, - order_by=desc( - ImCmd.date - ) - ) |
