diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | photoblaster/db/.ropeproject/globalnames | bin | 86 -> 216 bytes | |||
| -rw-r--r-- | photoblaster/db/__init__.py | 97 | ||||
| -rw-r--r-- | photoblaster/db/db.py | 26 | ||||
| -rw-r--r-- | photoblaster/db/models/__init__.py | 2 | ||||
| -rw-r--r-- | photoblaster/db/models/iasdfus.py (renamed from photoblaster/db/iasdfus.py) | 0 | ||||
| -rw-r--r-- | photoblaster/db/models/imcmd.py (renamed from photoblaster/db/imcmd.py) | 0 | ||||
| -rw-r--r-- | photoblaster/db/pb.py | 83 | ||||
| -rw-r--r-- | photoblaster/db/s3.py | 6 | ||||
| -rw-r--r-- | photoblaster/modules/__init__.py | 12 | ||||
| -rwxr-xr-x | photoblaster/modules/pbbreaker.py (renamed from photoblaster/modules/breaker.py) | 0 | ||||
| -rwxr-xr-x | photoblaster/modules/pbgenerate.py (renamed from photoblaster/modules/generate.py) | 0 | ||||
| -rwxr-xr-x | photoblaster/modules/pbgradient.py (renamed from photoblaster/modules/gradient.py) | 0 | ||||
| -rwxr-xr-x | photoblaster/modules/pbgrid.py (renamed from photoblaster/modules/grid.py) | 0 | ||||
| -rwxr-xr-x | photoblaster/modules/pblandscape/__init__.py (renamed from photoblaster/modules/landscape/__init__.py) | 0 | ||||
| -rw-r--r-- | photoblaster/modules/pblandscape/_base64img (renamed from photoblaster/modules/landscape/_base64img) | 0 | ||||
| -rwxr-xr-x | photoblaster/modules/pbpattern.py (renamed from photoblaster/modules/pattern.py) | 0 | ||||
| -rw-r--r-- | share/install/requirements.txt | 4 |
18 files changed, 111 insertions, 120 deletions
@@ -5,3 +5,4 @@ *.pyc *.un~ ./logs/* +*.ropeproject diff --git a/photoblaster/db/.ropeproject/globalnames b/photoblaster/db/.ropeproject/globalnames Binary files differindex 9d90484..0586666 100644 --- a/photoblaster/db/.ropeproject/globalnames +++ b/photoblaster/db/.ropeproject/globalnames diff --git a/photoblaster/db/__init__.py b/photoblaster/db/__init__.py index 9f3789d..92c8cd6 100644 --- a/photoblaster/db/__init__.py +++ b/photoblaster/db/__init__.py @@ -1 +1,96 @@ -from photoblaster.db.db import Db +# coding: utf-8 +"""Db bass class for updating the photoblaster database""" +from photoblaster.db.models import Iasdfus, ImCmd +import sys +from photoblaster.config import DB_HOST, DB_USER, DB_PASSWORD, DB_NAME +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker +import simplejson as json +from sqlalchemy import sql, func, desc + + +_NULL = sql.null() +Base = declarative_base() +metadata = Base.metadata + + +class _DbSess(object): + """base controller for all db methods""" + def __init__(self): + """initializes the connection to mysql""" + engine = create_engine('mysql://{}:{}@{}/{}'.format( + DB_USER, + DB_PASSWORD, + DB_HOST, + DB_NAME + )) + self.Session = sessionmaker(bind=engine) + + def log_error(self, msg): + sys.stderr.write("DB error message: %s\n" % msg) + + + +class Pb(_DbSess): + """all photoblaster db methods go here""" + def __init__(self): + super(_DbSess, self).__init__() + + def search(self, **kwargs): + session = self.Session() + results = session.query(ImCmd).filter_by(**kwargs).all() + session.close() + return map( + lambda n: {"tag": n.tag, "data": json.loads(n.dataobj)}, results) + + def create(self, **kwargs): + try: + session = self.Session() + session.add(ImCmd(**kwargs)) + session.commit() + 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 + ) + ) diff --git a/photoblaster/db/db.py b/photoblaster/db/db.py deleted file mode 100644 index 5af3380..0000000 --- a/photoblaster/db/db.py +++ /dev/null @@ -1,26 +0,0 @@ -# coding: utf-8 -"""Db bass class for updating the photoblaster database""" -import sys -from photoblaster.config import DB_HOST, DB_USER, DB_PASSWORD, DB_NAME -from sqlalchemy import create_engine -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import sessionmaker - -Base = declarative_base() -metadata = Base.metadata - - -class Db(object): - """base class for all db methods""" - def __init__(self): - """initializes the connection to mysql""" - engine = create_engine('mysql://{}:{}@{}/{}'.format( - DB_USER, - DB_PASSWORD, - DB_HOST, - DB_NAME - )) - self.Session = sessionmaker(bind=engine) - - def log_error(self, msg): - sys.stderr.write("DB error message: %s\n" % msg) diff --git a/photoblaster/db/models/__init__.py b/photoblaster/db/models/__init__.py new file mode 100644 index 0000000..66f3fa2 --- /dev/null +++ b/photoblaster/db/models/__init__.py @@ -0,0 +1,2 @@ +from photoblaster.db.models.imcmd import ImCmd +from photoblaster.db.models.iasdfus import Iasdfus diff --git a/photoblaster/db/iasdfus.py b/photoblaster/db/models/iasdfus.py index 63def26..63def26 100644 --- a/photoblaster/db/iasdfus.py +++ b/photoblaster/db/models/iasdfus.py diff --git a/photoblaster/db/imcmd.py b/photoblaster/db/models/imcmd.py index 91b4460..91b4460 100644 --- a/photoblaster/db/imcmd.py +++ b/photoblaster/db/models/imcmd.py 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 - ) - ) diff --git a/photoblaster/db/s3.py b/photoblaster/db/s3.py index 8cfae35..7231000 100644 --- a/photoblaster/db/s3.py +++ b/photoblaster/db/s3.py @@ -1,8 +1,5 @@ -# coding: utf-8 -from photoblaster.db.iasdfus import Iasdfus - -class S3(Db): +class S3(_DbSess): """queries the db for s3 related stuff""" def __init__(self): super(S3, self).__init__() @@ -36,3 +33,4 @@ class S3(Db): except Exception as e: self.log_error("Unable to commit database entry") self.log_error(str(e)) + diff --git a/photoblaster/modules/__init__.py b/photoblaster/modules/__init__.py index 6bb2c3e..abd4380 100644 --- a/photoblaster/modules/__init__.py +++ b/photoblaster/modules/__init__.py @@ -1,7 +1,7 @@ from photoblaster.modules.base import Pb, PbProcessError -from photoblaster.modules.grid import PbGrid -from photoblaster.modules.breaker import PbBreaker -from photoblaster.modules.pattern import PbPattern -from photoblaster.modules.generate import PbGenerate -from photoblaster.modules.landscape import PbLandscape -from photoblaster.modules.gradient import PbGradient +from photoblaster.modules.pbgrid import PbGrid +from photoblaster.modules.pbbreaker import PbBreaker +from photoblaster.modules.pbpattern import PbPattern +from photoblaster.modules.pbgenerate import PbGenerate +from photoblaster.modules.pblandscape import PbLandscape +from photoblaster.modules.pbgradient import PbGradient diff --git a/photoblaster/modules/breaker.py b/photoblaster/modules/pbbreaker.py index e4c4665..e4c4665 100755 --- a/photoblaster/modules/breaker.py +++ b/photoblaster/modules/pbbreaker.py diff --git a/photoblaster/modules/generate.py b/photoblaster/modules/pbgenerate.py index 68a2303..68a2303 100755 --- a/photoblaster/modules/generate.py +++ b/photoblaster/modules/pbgenerate.py diff --git a/photoblaster/modules/gradient.py b/photoblaster/modules/pbgradient.py index cef2518..cef2518 100755 --- a/photoblaster/modules/gradient.py +++ b/photoblaster/modules/pbgradient.py diff --git a/photoblaster/modules/grid.py b/photoblaster/modules/pbgrid.py index 83950e6..83950e6 100755 --- a/photoblaster/modules/grid.py +++ b/photoblaster/modules/pbgrid.py diff --git a/photoblaster/modules/landscape/__init__.py b/photoblaster/modules/pblandscape/__init__.py index fad141e..fad141e 100755 --- a/photoblaster/modules/landscape/__init__.py +++ b/photoblaster/modules/pblandscape/__init__.py diff --git a/photoblaster/modules/landscape/_base64img b/photoblaster/modules/pblandscape/_base64img index bb7e093..bb7e093 100644 --- a/photoblaster/modules/landscape/_base64img +++ b/photoblaster/modules/pblandscape/_base64img diff --git a/photoblaster/modules/pattern.py b/photoblaster/modules/pbpattern.py index ccf6963..ccf6963 100755 --- a/photoblaster/modules/pattern.py +++ b/photoblaster/modules/pbpattern.py diff --git a/share/install/requirements.txt b/share/install/requirements.txt new file mode 100644 index 0000000..85daaed --- /dev/null +++ b/share/install/requirements.txt @@ -0,0 +1,4 @@ +###python2.7 +Flask-SQLAlchemy +Flask +SQLAlchemy |
