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
blob: 843af4bf46845ca06eb4112414f5bc04feca814b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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.