summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mini.py9
-rw-r--r--photoblaster/config.py35
-rw-r--r--photoblaster/db/models/imcmd.py10
-rw-r--r--photoblaster/gallery.py32
-rw-r--r--photoblaster/server.py22
5 files changed, 46 insertions, 62 deletions
diff --git a/mini.py b/mini.py
deleted file mode 100644
index a292e1d..0000000
--- a/mini.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from photoblaster.db.models.imcmd import ImCmd
-bob = ImCmd.query().filter(ImCmd.cmd.like('%{"%'))
-models = bob.all()
-for model in models:
- cmd = model.dataobj
- dataobj = model.cmd
- model.cmd = cmd
- model.dataobj = dataobj
- model.update()
diff --git a/photoblaster/config.py b/photoblaster/config.py
index aa62994..c7eb7b5 100644
--- a/photoblaster/config.py
+++ b/photoblaster/config.py
@@ -39,3 +39,38 @@ DB_HOST = "lalalizard.com"
DB_USER = "asdfus"
DB_PASSWORD = "gTYgT&M6q"
DB_NAME = "asdfus"
+
+
+#gallery stuff
+GALLERY_TAG_TRANS = {
+ "grid": "PbGrid",
+ "gradient": "PbGradient",
+ "break": "PbBreak",
+ "landscape": "PbLandscape",
+ "pattern": "PbPattern",
+ "transparent": "PbGenerate:transparent",
+ "Over": "PbGenerate:Over",
+ "ATop": "PbGenerate:ATop",
+ "Dst_Over": "PbGenerate:Dst_Over",
+ "Dst_In": "PbGenerate:Dst_In",
+ "Dst_Out": "PbGenerate:Dst_Out",
+ "Multiply": "PbGenerate:Multiply",
+ "Screen": "PbGenerate:Screen",
+ "Divide": "PbGenerate:Divide",
+ "Plus": "PbGenerate:Plus",
+ "Difference": "PbGenerate:Difference",
+ "Exclusion": "PbGenerate:Exclusion",
+ "Lighten": "PbGenerate:Lighten",
+ "Darken": "PbGenerate:Darken",
+ "Overlay": "PbGenerate:Overlay",
+ "Hard_Light": "PbGenerate:Hard_Light",
+ "Soft_Light": "PbGenerate:Soft_Light",
+ "Pegtop_Light": "PbGenerate:Pegtop_Light",
+ "Linear_Light": "PbGenerate:Linear_Light",
+ "Vivid_Light": "PbGenerate:Vivid_Light",
+ "Pin_Light": "PbGenerate:Pin_Light",
+ "Linear_Dodge": "PbGenerate:Linear_Dodge",
+ "Linear_Burn": "PbGenerate:Linear_Burn",
+ "Color_Dodge": "PbGenerate:Color_Dodge",
+ "Color_Burn": "PbGenerate:Color_Burn"
+}
diff --git a/photoblaster/db/models/imcmd.py b/photoblaster/db/models/imcmd.py
index fafdf1c..9aff784 100644
--- a/photoblaster/db/models/imcmd.py
+++ b/photoblaster/db/models/imcmd.py
@@ -6,8 +6,6 @@ from photoblaster.db.models import Base, Actions
import simplejson as json
from sqlalchemy.orm import class_mapper
-import sys
-
class ImCmd(Base, Actions):
"""defines the table class"""
__tablename__ = 'im_cmd'
@@ -23,7 +21,6 @@ class ImCmd(Base, Actions):
dataobj = Column(LargeBinary)
tag = Column(String(50))
-
def as_dict(self):
"""returns the class as a dictionary
@@ -36,13 +33,8 @@ class ImCmd(Base, Actions):
for c in column_names:
if c == "dataobj":
val = getattr(self, c)
-
if val is not None:
- try:
- val = json.loads(val)
- except Exception as e:
- sys.stderr.write("%s\n" % e)
- sys.stderr.write("%s\n" % val)
+ val = json.loads(val)
new_dict[c] = val
else:
new_dict[c] = getattr(self, c)
diff --git a/photoblaster/gallery.py b/photoblaster/gallery.py
index d740153..dfa913e 100644
--- a/photoblaster/gallery.py
+++ b/photoblaster/gallery.py
@@ -3,38 +3,6 @@ from photoblaster.db.pb import Pb
BASE_HREF = "http://i.asdf.us/im/"
PARAMLIST = "addr start limit name interface random tag"
QUERY_LIMIT = 20
-_TAG_TRANSLATE = {
- "grid": "PbGrid",
- "gradient": "PbGradient",
- "break": "PbBreak",
- "landscape": "PbLandscape",
- "pattern": "PbPattern",
- "transparent": "PbGenerate:transparent",
- "Over": "PbGenerate:Over",
- "ATop": "PbGenerate:ATop",
- "Dst_Over": "PbGenerate:Dst_Over",
- "Dst_In": "PbGenerate:Dst_In",
- "Dst_Out": "PbGenerate:Dst_Out",
- "Multiply": "PbGenerate:Multiply",
- "Screen": "PbGenerate:Screen",
- "Divide": "PbGenerate:Divide",
- "Plus": "PbGenerate:Plus",
- "Difference": "PbGenerate:Difference",
- "Exclusion": "PbGenerate:Exclusion",
- "Lighten": "PbGenerate:Lighten",
- "Darken": "PbGenerate:Darken",
- "Overlay": "PbGenerate:Overlay",
- "Hard_Light": "PbGenerate:Hard_Light",
- "Soft_Light": "PbGenerate:Soft_Light",
- "Pegtop_Light": "PbGenerate:Pegtop_Light",
- "Linear_Light": "PbGenerate:Linear_Light",
- "Vivid_Light": "PbGenerate:Vivid_Light",
- "Pin_Light": "PbGenerate:Pin_Light",
- "Linear_Dodge": "PbGenerate:Linear_Dodge",
- "Linear_Burn": "PbGenerate:Linear_Burn",
- "Color_Dodge": "PbGenerate:Color_Dodge",
- "Color_Burn": "PbGenerate:Color_Burn"
-}
class Gallery(object):
def __init__(self):
diff --git a/photoblaster/server.py b/photoblaster/server.py
index 7abbb61..b686b91 100644
--- a/photoblaster/server.py
+++ b/photoblaster/server.py
@@ -14,7 +14,7 @@ from photoblaster.modules import PbGenerate, PbGrid, PbBreaker, PbPattern,\
from photoblaster.db.models.imcmd import ImCmd
from photoblaster.param import BadParamError
from photoblaster.config import SERVER_HOST, SERVER_PORT, STATIC_FOLDER, \
- DEBUG
+ DEBUG, GALLERY_TAG_TRANS
# FIXME add remote_addr and this jsonp thing
@@ -117,21 +117,19 @@ class Server(object):
@self.app.route('/im/gallery', methods=['GET'])
def gallery():
+ search_params = {}
+ if request.args.get('tag'):
+ search_params['tag'] = GALLERY_TAG_TRANS[request.arg.get('tag')]
+ if request.args.get('name'):
+ search_params['name'] = request.args.get('name')
+ if request.args.get('addr'):
+ search_params['remote_addr'] = request.args.get('remote_addr')
limit = request.args.get('limit') or 20
offset = request.args.get('start') or 0
if not request.args.get('random'):
- results = ImCmd.search()
+ results = ImCmd.search(**search_params)
else:
- results = ImCmd.search_random()
-# try:
-# sys.stderr.write(str(
-# results.limit(limit)
-# .offset(offset)
-# .first()
-# .as_dict()
-# ))
-# except Exception as e:
-# sys.stderr.write(str(e))
+ results = ImCmd.search_random(**search_params)
return json.dumps([
model.as_dict() for model in
results.limit(limit).offset(offset).all()