Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/errors/127.0.0.1.2010-07-22.17-24-28.38ccea81-882e-4042-938b-efa671e3c7c8
diff options
context:
space:
mode:
authorJames Boisture <jboisture@jboisture-laptop.(none)>2010-07-29 18:05:01 (GMT)
committer James Boisture <jboisture@jboisture-laptop.(none)>2010-07-29 18:05:01 (GMT)
commit09e3eea7a72e9e2300b639f0356100c7b83b5dfb (patch)
treed3608997517daa0ae5f98e5bf5ba95c8e29520b9 /errors/127.0.0.1.2010-07-22.17-24-28.38ccea81-882e-4042-938b-efa671e3c7c8
parentb817158f554f7b3342ecfe3ce24d04e91abed3c3 (diff)
made a lot of major changes because it has been a long time since I commited last. There are many new features. Also added app.yaml file which should be placed in the web2py directly in order for the URL to work properly.
Diffstat (limited to 'errors/127.0.0.1.2010-07-22.17-24-28.38ccea81-882e-4042-938b-efa671e3c7c8')
-rw-r--r--errors/127.0.0.1.2010-07-22.17-24-28.38ccea81-882e-4042-938b-efa671e3c7c817
1 files changed, 17 insertions, 0 deletions
diff --git a/errors/127.0.0.1.2010-07-22.17-24-28.38ccea81-882e-4042-938b-efa671e3c7c8 b/errors/127.0.0.1.2010-07-22.17-24-28.38ccea81-882e-4042-938b-efa671e3c7c8
new file mode 100644
index 0000000..46f3b0b
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-22.17-24-28.38ccea81-882e-4042-938b-efa671e3c7c8
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/turtleartsite/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\nfrom gluon.tools import Service\nservice=Service(globals())\n\ndef sort_by_views(L):\n if len(L) <= 1: return L\n return sort_by_views( [ lt for lt in L[1:] if lt.views < L[0].views ] ) + [ L[0] ] + sort_by_views( [ ge for ge in L[1:] if ge.views >= L[0].views ] )\n\ndef sort_by_id(L):\n if len(L) <= 1: return L\n return sort_by_id( [ lt for lt in L[1:] if lt.id < L[0].id ] ) + [ L[0] ] + sort_by_id( [ ge for ge in L[1:] if ge.id >= L[0].id ] )\n\n\ndef admin():\n import pdb\n pdb.set_trace()\n\ndef index():\n sorts = ["newest", "views"]\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n if "sort" in request.vars.keys(): sort = request.vars["sort"]\n else: sort = \'newest\'\n if sort not in sorts:\n sort = "newest"\n if "profile" in request.vars.keys(): profile = request.vars["profile"]\n else: profile = None\n table = []\n raw_images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\n images = []\n c = 1\n for image in raw_images:\n if profile != None:\n if image.creator == profile:\n images.append(image)\n else: images.append(image)\n if sort == \'views\':\n images = sort_by_views(images)\n images.reverse()\n if sort == \'newest\':\n images.sort(cmp=lambda x,y:cmp(x.id,y.id))\n images.reverse()\n for image in images:\n if count >= page * 12 and page*12+12 > count:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(image)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(images=table, pages=pages, page=page, sort=sort, profile=profile)\n\n\ndef upload():\n upload_key = request.vars["upload_key"]\n title = request.vars["title"]\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\',\'upload_key\'])\n if form.accepts(request.vars):\n keys = db().select(db.upload_key.ALL)\n for key in keys:\n if key.upload_key == upload_key:\n db(db.image.upload_key==upload_key).update(creator = key.user)\n query=(db.upload_key.upload_key==upload_key)\n db(query).delete()\n else:\n import logging\n logging.error("form not accepted")\n raise HTTP(400,"failed to upload")\n return dict(form=form)\n\n\n@service.xmlrpc\ndef login_remote(username,password):\n logged_in = auth.login_bare(username,password)\n if logged_in:\n db.upload_key.insert(user=username)\n keys = db().select(db.upload_key.ALL)\n for key in keys:\n if key.user == username:\n return str(key.upload_key)\n return False\n else: return False\n\n\ndef image():\n images = db().select(db.image.ALL)\n image_id = int(request.vars["image"])\n for image in images:\n if image.id == image_id:\n real_image = image\n title=real_image.title\n if real_image == None:\n redirect(URL(r=request, f=\'index\'))\n if auth.is_logged_in():\n if auth.user.username != real_image.creator:\n try:\n views = int(real_image.views) + 1\n except: views = 1\n db(db.image.title==real_image.title).update(views = views)\n form = SQLFORM(db.comment, fields = [\'body\'])\n if form.accepts(request.vars, session):\n db(db.comment.id==form.vars.id).update(author = auth.user.username)\n db(db.comment.id==form.vars.id).update(image_id = real_image.id)\n comments=db().select(db.comment.ALL)\n image_comments = []\n for comment in comments:\n if comment.image_id == real_image.id:\n image_comments.append(comment)\n return dict(image = real_image, form= form,comments=image_comments)\n\n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\n\ndef user(): \n return dict(form=auth())\n\n\ndef delete():\n images = db().select(db.image.ALL)\n image_id = int(request.vars["id"])\n for image in images:\n if image.id == image_id:\n real_image = image\n if auth.is_logged_in():\n if auth.user.username == real_image.creator:\n query=(db.image.id==real_image.id)\n db(query).delete()\n redirect(URL(r=request, f=\'index\')) \n\n\ndef download():\n return response.download(request, db)\n\n\ndef call(): return service()\n\nresponse._vars=response._caller(admin)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/turtleartsite/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/Desktop/google_appengine/turtleartsite/applications/turtlesite/controllers/default.py", line 147, in <module>\n def call(): return service()\n File "/home/jboisture/Desktop/google_appengine/turtleartsite/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/google_appengine/turtleartsite/applications/turtlesite/controllers/default.py", line 16, in admin\n for user in users:\n File "/usr/lib/python2.6/bdb.py", line 50, in trace_dispatch\n return self.dispatch_return(frame, arg)\n File "/usr/lib/python2.6/bdb.py", line 84, in dispatch_return\n if self.quitting: raise BdbQuit\nBdbQuit\n'
+p8
+s. \ No newline at end of file