summaryrefslogtreecommitdiff
path: root/photoblaster/db/pb.py
diff options
context:
space:
mode:
Diffstat (limited to 'photoblaster/db/pb.py')
-rw-r--r--photoblaster/db/pb.py83
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
- )
- )