diff options
Diffstat (limited to 'to_merge/db.py')
| -rw-r--r-- | to_merge/db.py | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/to_merge/db.py b/to_merge/db.py deleted file mode 100644 index d4dbec8..0000000 --- a/to_merge/db.py +++ /dev/null @@ -1,90 +0,0 @@ -"""Db bass class for updating the photoblaster database""" -import time -import sys -from photoblaster.db.imcmd import ImCmd -from photoblaster.config import DB_USER, DB_PASSWORD, DB_HOST,\ - DB_NAME -from sqlalchemy import Column, Integer, LargeBinary, String, \ - create_engine, sql, func, desc -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import sessionmaker - -_NULL = sql.null() - -Base = declarative_base() -metadata = Base.metadata - - -class Db(object): - """wrapper for all db methods""" - def __init__(self): - engine = create_engine('mysql://{}:{}@{}/{}'.format( - DB_USER, - DB_PASSWORD, - DB_HOST, - DB_NAME - )) - self.Session = sessionmaker(bind=engine) - - 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 - ) - ) - - 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() - session.close() - except Exception as e: - sys.stderr.write("Unable to commit database entry\n") - sys.stderr.write(str(e)) |
