Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/errors/127.0.0.1.2010-07-26.20-48-09.a4d32305-5768-49d6-8707-d1030c2cbcfb
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-26.20-48-09.a4d32305-5768-49d6-8707-d1030c2cbcfb
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-26.20-48-09.a4d32305-5768-49d6-8707-d1030c2cbcfb')
-rw-r--r--errors/127.0.0.1.2010-07-26.20-48-09.a4d32305-5768-49d6-8707-d1030c2cbcfb17
1 files changed, 17 insertions, 0 deletions
diff --git a/errors/127.0.0.1.2010-07-26.20-48-09.a4d32305-5768-49d6-8707-d1030c2cbcfb b/errors/127.0.0.1.2010-07-26.20-48-09.a4d32305-5768-49d6-8707-d1030c2cbcfb
new file mode 100644
index 0000000..843af4b
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-26.20-48-09.a4d32305-5768-49d6-8707-d1030c2cbcfb
@@ -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\nimport pickle\nfrom gluon.tools import Service\nservice=Service(globals())\n\n@auth.requires_membership(\'admin\')\ndef admin():\n if "page" in request.vars.keys(): page = int(request.vars["page"])-1\n else: page = 0\n users = db().select(db.auth_user.ALL)\n users_list=[]\n for user in users:\n users_list.append(user)\n users_list.sort(cmp=lambda x,y:cmp(x.username.lower(),y.username.lower()))\n users_on_page = users_list[page*10:(page+1)*10]\n pages = len(users_list) / 10\n if len(users_list)%10 > 0: pages += 1\n return dict(users = users_on_page, page=page+1,pages=pages)\n\n@auth.requires_membership(\'admin\')\ndef make_admin():\n if "page" in request.vars.keys(): page = int(request.vars["page"])\n else: page = 1\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f="admin?page="+str(page)))\n auth.add_membership(\'admin\',user)\n redirect(URL(r=request, f="admin?page="+str(page)))\n\n@auth.requires_membership(\'admin\')\ndef remove_admin():\n if "page" in request.vars.keys(): page = int(request.vars["page"])\n else: page = 1\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f="admin?page="+str(page)))\n auth.del_membership(auth.id_group(\'admin\'),user)\n redirect(URL(r=request, f="admin?page="+str(page)))\n\n@auth.requires_membership(\'admin\')\ndef delete_user():\n if "page" in request.vars.keys(): page = int(request.vars["page"])\n else: page = 1\n if "user" in request.vars.keys(): user_to_delete = request.vars["user"]\n else: redirect(URL(r=request, f="admin?page="+str(page)))\n query=(db.auth_user.username==user_to_delete)\n db(query).delete()\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user_to_delete:\n query=(db.image.id==image.id)\n db(query).delete()\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.author == user_to_delete:\n query=(db.comment.id==comment.id)\n db(query).delete()\n redirect(URL(r=request, f="admin?page="+str(page))) \n \n\n\ndef index():\n import pdb\n pdb.set_trace()\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 if "favorites" in request.vars.keys(): show_favorites = bool(request.vars["favorites"])\n else: show_favorites = False\n profile_user = None\n favorites = None\n if profile != None:\n users = db().select(db.auth_user.ALL)\n for user in users:\n if user.username == profile:\n profile_user = user\n favorites = pickle.loads(profile_user.favorites)\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 show_favorites:\n if image.id in favorites:\n images.append(image)\n if not show_favorites:\n if image.creator == profile:\n images.append(image)\n else: images.append(image)\n if sort == \'views\':\n images.sort(cmp=lambda x,y:cmp(float(x.views),float(y.views)))\n images.reverse()\n if sort == \'newest\':\n images.sort(cmp=lambda x,y:cmp(float(x.id),float(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_user, show_favorites=show_favorites)\n\n\ndef profile():\n if "profile" in request.vars.keys(): profile = request.vars["profile"]\n else: redirect(URL(r=request,f=\'index\'))\n users = db().select(db.auth_user.ALL)\n for user in users:\n if user.username == profile:\n profile_user = user\n favorite_ids = pickle.loads(profile_user.favorites)\n raw_images = db().select(db.image.ALL)\n images = []\n favorites = []\n for image in raw_images:\n if image.creator == profile:\n images.append(image)\n if image.id in favorite_ids:\n favorites.append(image)\n favorites_table = []\n images_table = []\n row = []\n c = 0\n i = 0\n for image in images:\n if c < 2:\n row.append(image)\n i += 1\n if i == 4:\n images_table.append(row)\n c += 1\n i = 0\n row = []\n if len(images) < 8 and len(images)%4 != 0:\n images_table.append(row)\n row = []\n c = 0\n i = 0\n for image in favorites:\n if c < 2:\n row.append(image)\n i += 1\n if i == 4:\n favorites_table.append(row)\n c += 1\n i = 0\n row = []\n if len(favorites) < 8 and len(favorites)%4 != 0:\n favorites_table.append(row)\n return dict(profile = profile_user, images = images_table, favorites = favorites_table)\n\ndef respond_to_request():\n if "user" in request.vars.keys() and auth.is_logged_in(): username = request.vars["user"]\n else: redirect(URL(r=request,f=\'index\'))\n if "response" in request.vars.keys(): response = bool(request.vars["user"])\n else: redirect(URL(r=request,f=\'index\'))\n users = db().select(db.auth_user.ALL)\n current_user = None\n user_to_add = None\n for user in users:\n if user.username == auth.user.username:\n current_user = user\n if user.username == username:\n user_to_add = user\n if user_to_add == None or current_user == None:\n redirect(URL(r=request,f=\'index\'))\n requests = pickle.loads(current_user.requests)\n real_request = None\n for r in requests:\n if r[1] == user_to_add.username:\n real_request = r\n if real_request == None:redirect(URL(r=request,f=\'index\'))\n requests.remove(real_request)\n db(db.auth_user.username==current_user.username).update(requests = pickle.dumps(requests))\n if response:\n friends = pickle.loads(current_user.friends)\n friends.append(user_to_add.username)\n db(db.auth_user.username==current_user.username).update(friends = pickle.dumps(friends))\n friends = pickle.loads(user_to_add.friends)\n friends.append(current_user.username)\n db(db.auth_user.username==user_to_add.username).update(friends = pickle.dumps(friends))\n redirect(URL(r=request,f=\'requests\'))\n \n \n \n \ndef add_as_friend():\n if "user" in request.vars.keys() and auth.is_logged_in(): username = request.vars["user"]\n else: redirect(URL(r=request,f=\'index\'))\n users = db().select(db.auth_user.ALL)\n for user in users:\n if user.username == username:\n user_to_add = user\n requests = pickle.loads(user_to_add.requests)\n requests.append((\'friend\', auth.user.username))\n db(db.auth_user.username==user_to_add.username).update(requests = pickle.dumps(requests))\n redirect(URL(r=request,f=\'profile?profile=\'+username))\n\n\ndef requests():\n if auth.is_logged_in(): user = auth.user\n else: redirect(URL(r=request,f=\'index\'))\n users = db().select(db.auth_user.ALL)\n for user in users:\n if user.username == auth.user.username:\n current_user = user\n requests = pickle.loads(current_user.requests)\n return dict(requests = requests)\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\',\'small_image\', \'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 user = key.user\n db(db.image.upload_key==upload_key).update(creator = user)\n query=(db.upload_key.upload_key==upload_key)\n db(query).delete()\n images = db().select(db.image.ALL)\n for image in images:\n if image.id == form.vars.id:\n real_image = image\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user and image.title.lower() == form.vars.title.lower() and image.upload_key != upload_key:\n db(db.image.upload_key==upload_key).update(views = image.views)\n query=(db.image.id==image.id)\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"""def 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 remove_as_favorite():\n if "id" in request.vars.keys(): image_id = int(request.vars["id"])\n else: redirect(URL(r=request,f=\'index\'))\n if auth.is_logged_in():\n images = db().select(db.image.ALL)\n for image in images:\n if image.id == image_id:\n favorite_users = pickle.loads(image.favorite_users)\n if auth.user.username in favorite_users:\n favorite_users.remove(auth.user.username)\n db(db.image.id==image_id).update(favorite_users = pickle.dumps(favorite_users))\n users = db().select(db.auth_user.ALL)\n for user in users:\n if user.username == auth.user.username:\n favorites = pickle.loads(user.favorites)\n if image_id in favorites:\n favorites.remove(image_id)\n db(db.auth_user.username==auth.user.username).update(favorites = pickle.dumps(favorites))\n redirect(URL(r=request, f=\'image?image=\'+str(image_id)))\n\n\ndef add_as_favorite():\n if "id" in request.vars.keys(): image_id = int(request.vars["id"])\n else: redirect(URL(r=request,f=\'index\'))\n if auth.is_logged_in():\n images = db().select(db.image.ALL)\n for image in images:\n if image.id == image_id:\n favorite_users = pickle.loads(image.favorite_users)\n if auth.user.username not in favorite_users:\n favorite_users.append(auth.user.username)\n db(db.image.id==image_id).update(favorite_users = pickle.dumps(favorite_users))\n users = db().select(db.auth_user.ALL)\n for user in users:\n if user.username == auth.user.username:\n favorites = pickle.loads(user.favorites)\n if image_id not in favorites:\n favorites.append(image_id)\n db(db.auth_user.username==auth.user.username).update(favorites = pickle.dumps(favorites))\n redirect(URL(r=request, f=\'image?image=\'+str(image_id)))\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 users = db().select(db.auth_user.ALL)\n favorite_users = pickle.loads(real_image.favorite_users)\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,favorites = favorite_users)\n\n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\n\ndef user(): \n return dict(form=auth())\n\n@auth.requires_membership(\'admin\')\ndef delete_comment():\n comment_id = int(request.vars["id"])\n if "image" in request.vars.keys():\n image_id = request.vars["image"]\n else:image_id = None\n if auth.is_logged_in():\n if auth.has_membership(\'admin\'):\n query=(db.comment.id==comment_id)\n db(query).delete()\n if image_id != None:\n redirect(URL(r=request, f=\'image?image=\'+image_id))\n else:\n redirect(URL(r=request, f=\'index\'))\n\ndef delete_image():\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 or auth.has_membership(\'admin\'):\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(index)\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 411, in <module>\n if image_id != None:\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 63, in index\n else: page = 0\n File "/home/jboisture/Desktop/google_appengine/turtleartsite/applications/turtlesite/controllers/default.py", line 63, in index\n else: page = 0\n File "/usr/lib/python2.6/bdb.py", line 46, in trace_dispatch\n return self.dispatch_line(frame)\n File "/usr/lib/python2.6/bdb.py", line 65, in dispatch_line\n if self.quitting: raise BdbQuit\nBdbQuit\n'
+p8
+s. \ No newline at end of file