(dp1 S'output' p2 S'' sS'layer' p3 S'/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py' p4 sS'code' p5 S'if request.env.web2py_runtime_gae:\n db = DAL(\'gae\')\n session.connect(request,response,db=db)\nelse:db = DAL("sqlite://storage.db")\n\ndb.define_table(\'image\',\n Field(\'file\', \'upload\', requires=[IS_NOT_EMPTY(error_message="Please select a file to upload"), IS_UPLOAD_FILENAME(extension=\'ta\', error_message="Must be a Turtle Art file")]),\n Field(\'title\', requires=[IS_NOT_EMPTY(error_message="You must include a title"), IS_NOT_IN_DB(db, \'image.title\', error_message="Title is already taken"),IS_EXPR(\'str(value).count("*") == 0\', error_message="Title can not contain \'*\'")]),\n Field(\'image_id\'),\n Field(\'creator\', requires=IS_NOT_EMPTY(error_message="You must include your name")),\n Field(\'description\', \'text\'),\n Field(\'newimage\', \'upload\', requires=[IS_NOT_EMPTY(error_message="Please select a image to upload"), IS_UPLOAD_FILENAME(extension=\'png\', error_message="Must be a PNG image")]))\n\ndb.define_table(\'comment\',\n Field(\'image_id\', db.image),\n Field(\'comment_id\'),\n Field(\'author\'),\n Field(\'body\', \'text\'))\n\nfrom gluon.tools import Auth\nauth = Auth(globals(),db)\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'username\', length=128, default="", unique = True),\n Field(\'email\', length=128, default="", unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128, default= "",\n writable=False, readable=False))\n\ndb.comment.image_id.requires = IS_IN_DB(db, db.image.image_id, \'%(title)s\')\ndb.comment.author.requires = IS_NOT_EMPTY()\ndb.comment.body.requires = IS_NOT_EMPTY()\n\nauth_table.username.requires = [IS_EXPR(\'str(value).count(" ") == 0\', error_message=\'Username must be one word\'), IS_NOT_IN_DB(db, auth_table.username)]\nauth_table.password.requires = [IS_STRONG(), CRYPT()]\nauth_table.email.requires = [\n IS_EMAIL(error_message=auth.messages.invalid_email),\n IS_NOT_IN_DB(db, auth_table.email)]\nauth.settings.table_user = auth_table\nauth.define_tables()\n' p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py", line 18, in \n Field(\'body\', \'text\'))\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 1309, in define_table\n t._create(migrate=migrate, fake_migrate=fake_migrate)\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 1730, in _create\n self._db._execute(query)\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 899, in \n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table comment already exists\n' p8 s.