Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Boisture <jboisture@jboisture-laptop.(none)>2010-07-20 03:15:23 (GMT)
committer James Boisture <jboisture@jboisture-laptop.(none)>2010-07-20 03:15:23 (GMT)
commitb817158f554f7b3342ecfe3ce24d04e91abed3c3 (patch)
tree632bc4515e4feb5440714acb3b893aaa9b22a91d
The initial commit of the turtleartsite
-rw-r--r--ABOUT2
-rw-r--r--LICENSE2
-rw-r--r--__init__.py0
-rw-r--r--cache/cache.lock0
-rw-r--r--cache/cache.shelvebin0 -> 12288 bytes
m---------controllers/CreateImage0
-rw-r--r--controllers/appadmin.py408
-rw-r--r--controllers/default.py120
-rw-r--r--controllers/default.py.136
-rw-r--r--controllers/default.py.bak30
-rw-r--r--cron/crontab1
-rw-r--r--databases/fb87181b96a99be45f5a23f4277867ce_auth_event.table26
-rw-r--r--databases/fb87181b96a99be45f5a23f4277867ce_auth_group.table14
-rw-r--r--databases/fb87181b96a99be45f5a23f4277867ce_auth_membership.table14
-rw-r--r--databases/fb87181b96a99be45f5a23f4277867ce_auth_permission.table22
-rw-r--r--databases/fb87181b96a99be45f5a23f4277867ce_auth_user.table22
-rw-r--r--databases/fb87181b96a99be45f5a23f4277867ce_comment.table18
-rw-r--r--databases/fb87181b96a99be45f5a23f4277867ce_image.table34
-rw-r--r--databases/sql.log62
-rw-r--r--databases/storage.dbbin0 -> 13312 bytes
-rw-r--r--errors/127.0.0.1.2010-06-08.10-29-30.a9dded01-6c75-4d19-9761-5e346879dac417
-rw-r--r--errors/127.0.0.1.2010-06-08.10-30-57.0df069ba-69cd-4836-b262-d857b107126217
-rw-r--r--errors/127.0.0.1.2010-06-08.10-48-56.81e53335-045e-467e-a12d-293847e8a59817
-rw-r--r--errors/127.0.0.1.2010-06-08.11-22-35.7f7de9ca-aa01-4bcc-b220-19645284efab17
-rw-r--r--errors/127.0.0.1.2010-06-08.11-28-40.04741190-0b12-44e0-b35a-3a90d45bf99d17
-rw-r--r--errors/127.0.0.1.2010-06-08.11-29-11.c5b311da-e66b-462d-a2e0-c93d522b4d5417
-rw-r--r--errors/127.0.0.1.2010-06-08.11-37-10.e61d028b-9f3b-4663-890c-0fd6f63402b117
-rw-r--r--errors/127.0.0.1.2010-06-08.11-38-54.6768324a-18a4-48f1-a02f-5c8e9f6e2ffa17
-rw-r--r--errors/127.0.0.1.2010-06-08.11-42-41.d4d22c6d-150e-440c-a8b7-51dcf0e3cb2417
-rw-r--r--errors/127.0.0.1.2010-06-08.11-42-58.4c2324a1-10fe-40e4-859c-783d9aceeaf517
-rw-r--r--errors/127.0.0.1.2010-06-08.12-10-33.378c03b1-be2d-4d54-8e03-7edec521985117
-rw-r--r--errors/127.0.0.1.2010-06-08.12-18-45.0ea0d17c-5fac-4a31-944d-39b71dce7cd617
-rw-r--r--errors/127.0.0.1.2010-06-08.12-39-37.69eebaf7-05e8-4972-a066-978858eae42017
-rw-r--r--errors/127.0.0.1.2010-06-08.13-19-46.0608226e-8fe4-4648-8243-979753e1906e17
-rw-r--r--errors/127.0.0.1.2010-06-08.13-21-08.684ba333-a4e9-4d32-9862-ad634800041a17
-rw-r--r--errors/127.0.0.1.2010-06-08.13-41-00.b4927283-c878-4114-931b-c76a4b8ac82817
-rw-r--r--errors/127.0.0.1.2010-06-08.13-46-53.0715089b-3ec0-48dc-89c2-c2dd5503383617
-rw-r--r--errors/127.0.0.1.2010-06-08.14-01-13.44e230ac-6a33-4cbe-9048-629acfb4407a17
-rw-r--r--errors/127.0.0.1.2010-06-08.14-38-37.9c9a0779-9984-48c3-a397-42363f2107c617
-rw-r--r--errors/127.0.0.1.2010-06-08.14-39-04.18bd17ab-b51e-4246-9216-a0bde332a66017
-rw-r--r--errors/127.0.0.1.2010-06-08.14-39-34.bf860900-564c-476e-8324-3bb546251a8517
-rw-r--r--errors/127.0.0.1.2010-06-08.14-40-08.6c1d47a6-7ece-40ac-8d1e-4dce7531e85a17
-rw-r--r--errors/127.0.0.1.2010-06-08.14-52-32.17d9ae99-22fc-493e-a070-d8ab68d2e1b417
-rw-r--r--errors/127.0.0.1.2010-06-08.14-52-32.4829b99b-c00c-4f95-b5fb-749e352eac5d17
-rw-r--r--errors/127.0.0.1.2010-06-08.14-52-32.7e58f9bb-af77-4293-ac31-7360885d12c217
-rw-r--r--errors/127.0.0.1.2010-06-08.14-52-32.fbbfe1e5-7294-434b-8780-13fc5708da6217
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-09.32b1c1bc-bd65-4eb5-a177-f19d418bb39317
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-09.9693a11a-6863-4021-b6c7-a461052d36d317
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-09.b1346402-5514-4402-ac35-9bdc86f69f9a17
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-09.fc7cfcd7-8422-4ddf-9a41-4729502c16c617
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-43.35e8817b-e95f-44f0-b402-0f9f4e80d71617
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-43.42d59d33-f2e7-4989-9fb8-2db49afc4b4d17
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-43.7889853c-d2a9-4abc-a658-94b9fb62c32f17
-rw-r--r--errors/127.0.0.1.2010-06-08.14-54-43.dc7a1d48-777d-4fe9-9cea-e9eb4826b32217
-rw-r--r--errors/127.0.0.1.2010-06-09.09-39-19.f1920252-2cc7-4ee4-8bd8-bd86c024f52717
-rw-r--r--errors/127.0.0.1.2010-06-09.09-44-11.e4847df3-f891-411e-8531-0c1cd43dc42017
-rw-r--r--errors/127.0.0.1.2010-06-09.10-57-47.367a5bd2-636b-4bf0-a867-566eded35d9317
-rw-r--r--errors/127.0.0.1.2010-06-09.11-00-01.e8028dc9-ce76-4952-a24f-a329e09025e217
-rw-r--r--errors/127.0.0.1.2010-06-09.11-00-27.cc34298b-82b1-42da-a5b6-9686f735249317
-rw-r--r--errors/127.0.0.1.2010-06-09.11-01-59.86cc9dce-a4d0-4d3c-a6e2-d9723ef415cd17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-06-55.3799546a-1dff-48ec-a692-463214db9a5717
-rw-r--r--errors/127.0.0.1.2010-06-09.11-07-31.e9849899-c980-4b99-978b-7e4f9d1789ae17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-13-47.7b3410b2-81ca-4139-a61f-bcdd854d8cc917
-rw-r--r--errors/127.0.0.1.2010-06-09.11-18-17.022ce195-a519-4702-a51a-319bffbefe5d17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-18-55.8a80bce6-882e-4316-a22a-2dbdf30350ce17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-19-58.6b69840e-d0f0-458c-b963-9b84849cffaa17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-20-20.7e0e0756-5441-4605-bb18-36e029e0859817
-rw-r--r--errors/127.0.0.1.2010-06-09.11-21-54.374a4d2f-c9d2-4b09-bd30-9261e01049dd17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-22-41.c435fc7a-38e0-4828-a06e-621f94db7bb017
-rw-r--r--errors/127.0.0.1.2010-06-09.11-29-17.b89909c8-0381-4505-a74c-7f2ea463edee17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-29-43.e213d434-5001-4a9e-a320-b5aca5f2150d17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-30-16.7016b708-8872-4d47-ac2a-001279d39eea17
-rw-r--r--errors/127.0.0.1.2010-06-09.11-30-35.d947a73d-b877-4b24-a659-a771d3fe332217
-rw-r--r--errors/127.0.0.1.2010-06-09.11-30-57.72a62a7d-7aee-495d-be99-2a51ddb8070917
-rw-r--r--errors/127.0.0.1.2010-06-09.11-31-48.fbb0f6e6-2022-4bb1-82a2-4239c36482e217
-rw-r--r--errors/127.0.0.1.2010-06-09.11-32-13.2722bf60-e500-4ed5-9300-22246adfb09217
-rw-r--r--errors/127.0.0.1.2010-06-09.11-41-18.fa10d0e9-b72c-47fa-bb1c-a1fe91aa54a817
-rw-r--r--errors/127.0.0.1.2010-06-09.11-41-50.cfb87704-4b12-4100-9a25-442f7a81ade017
-rw-r--r--errors/127.0.0.1.2010-06-09.11-44-00.64eed127-cbb0-4d03-b3fc-2810a8b851f417
-rw-r--r--errors/127.0.0.1.2010-06-09.12-53-34.c57d0c83-2086-4213-bfba-1c95d1e17f9a17
-rw-r--r--errors/127.0.0.1.2010-06-09.12-57-57.523a1b10-c75b-48a9-a467-b35d03e750ad17
-rw-r--r--errors/127.0.0.1.2010-06-09.13-00-29.a35d0a75-b764-4ce3-84bf-6573cf63151317
-rw-r--r--errors/127.0.0.1.2010-06-09.13-02-52.9fcd3b58-1ce4-4ecb-9cf3-39126f0d04fa17
-rw-r--r--errors/127.0.0.1.2010-06-09.13-06-38.9e7f1704-78e8-4175-8a3f-eee7e748c22d17
-rw-r--r--errors/127.0.0.1.2010-06-09.13-13-55.c761e91b-5c7e-4245-ae98-cde4d80925ef17
-rw-r--r--errors/127.0.0.1.2010-06-09.13-15-14.29d3a726-0567-477c-9457-7be9c2f1883717
-rw-r--r--errors/127.0.0.1.2010-06-09.13-17-21.ff1cbd51-2ecf-4bc9-b72c-1d48ac500c0017
-rw-r--r--errors/127.0.0.1.2010-06-09.13-26-17.140316fc-2085-4d85-b497-3b50a919a3af17
-rw-r--r--errors/127.0.0.1.2010-06-10.09-29-54.72ad7c1a-7a4b-40ca-b38d-ee7aab8b797317
-rw-r--r--errors/127.0.0.1.2010-06-10.09-30-30.036bdcc1-8fda-4d61-9bc1-8dc9c16d25fd17
-rw-r--r--errors/127.0.0.1.2010-06-10.09-48-22.f4f2819c-2b39-4948-a4e4-b34b7995869917
-rw-r--r--errors/127.0.0.1.2010-06-10.09-50-00.eb0ea40d-2bbb-447a-8d53-d4934e636ad817
-rw-r--r--errors/127.0.0.1.2010-06-10.09-53-31.41777e62-1e09-4638-b057-cadf6e48352217
-rw-r--r--errors/127.0.0.1.2010-06-10.09-58-11.37b68ce0-60cf-46cd-996f-8ad0af327f8a17
-rw-r--r--errors/127.0.0.1.2010-06-10.11-24-17.884f9072-4e27-493a-b688-6a164cf84e1617
-rw-r--r--errors/127.0.0.1.2010-06-10.11-40-09.d2bfa366-2548-41e3-aff7-8a76b66e68ac17
-rw-r--r--errors/127.0.0.1.2010-06-10.11-41-16.7f7319ff-f582-4f84-b815-dbf08ac2e57117
-rw-r--r--errors/127.0.0.1.2010-06-11.09-29-18.0e1af70f-b279-4891-8c56-e7c1cd44a3c417
-rw-r--r--errors/127.0.0.1.2010-06-11.09-30-18.6e3d7c62-d84c-4e2c-a741-fa0f7686840417
-rw-r--r--errors/127.0.0.1.2010-06-15.10-59-23.4caf31af-e05f-4a66-b90c-8fac85ea279717
-rw-r--r--errors/127.0.0.1.2010-06-15.11-15-28.930b7138-35c1-45fb-b314-efe69037d65a17
-rw-r--r--errors/127.0.0.1.2010-06-15.11-15-40.b3af0fde-4ac3-42f0-9461-726a4d72185917
-rw-r--r--errors/127.0.0.1.2010-06-15.11-20-54.9058efe3-8e6d-42a0-ba03-e76397a55cb317
-rw-r--r--errors/127.0.0.1.2010-06-15.11-21-03.8189fe78-9ac1-4f8c-95a6-800da6ee74ef17
-rw-r--r--errors/127.0.0.1.2010-06-15.11-26-40.8825298a-5418-4c02-92eb-b69d915d410917
-rw-r--r--errors/127.0.0.1.2010-06-15.16-18-22.e49f5f67-6ef5-40cc-b7a7-b75fc9238d9316
-rw-r--r--errors/127.0.0.1.2010-06-15.16-20-33.7ee6e03c-40af-4774-93cb-ffe50e8b9cff16
-rw-r--r--errors/127.0.0.1.2010-06-15.16-25-34.c0fde657-1530-4eb9-8c9f-f6912813f68c16
-rw-r--r--errors/127.0.0.1.2010-06-15.16-25-54.669ae8c0-5c6b-4aa6-851b-9fea24a1149517
-rw-r--r--errors/127.0.0.1.2010-06-15.16-29-02.41d5041c-372e-425b-bbb4-db8c6f8c5e4616
-rw-r--r--errors/127.0.0.1.2010-06-15.16-36-48.c043ff98-5f0f-4e35-a438-ea190f28f05c16
-rw-r--r--errors/127.0.0.1.2010-06-15.16-46-49.0a02205d-e5f0-417b-9fd0-d026372da72616
-rw-r--r--errors/127.0.0.1.2010-06-15.16-51-02.0a2ed667-56f1-4353-8017-d36df68710fd17
-rw-r--r--errors/127.0.0.1.2010-06-15.16-55-27.f037969c-cc51-4247-8648-459c3c9808c717
-rw-r--r--errors/127.0.0.1.2010-06-15.16-58-10.5b283ebe-409e-4254-b0d9-ab3dc70d674a17
-rw-r--r--errors/127.0.0.1.2010-06-15.17-00-10.563018f1-cd5c-4f7d-b969-19d65d005b1c17
-rw-r--r--errors/127.0.0.1.2010-06-15.17-00-42.533264a6-2dc7-4477-a4e8-7c295ace2b1a17
-rw-r--r--errors/127.0.0.1.2010-06-15.17-02-01.63632b71-54a7-42a6-b090-4e205e161f4217
-rw-r--r--errors/127.0.0.1.2010-06-15.17-05-53.fe4b74d7-5662-4023-95ce-586e9bc3333217
-rw-r--r--errors/127.0.0.1.2010-06-15.17-06-56.22f1fc56-0621-4aa2-9621-00ff0553894a17
-rw-r--r--errors/127.0.0.1.2010-06-15.17-07-23.f83e43d1-73ed-4c9c-8ee6-69413af33d0317
-rw-r--r--errors/127.0.0.1.2010-06-15.17-09-41.b387bb25-9164-412e-bd91-1ef65135ee9617
-rw-r--r--errors/127.0.0.1.2010-06-15.17-10-16.50d4ec68-0005-4eea-8d8c-7b3f0634845b17
-rw-r--r--errors/127.0.0.1.2010-06-15.17-10-58.d2b352f6-4294-4583-ba1e-5c2ff8d81a2f17
-rw-r--r--errors/127.0.0.1.2010-06-15.17-11-47.c6ceaa6b-23e0-4b5d-80f5-d0ed29f23ba217
-rw-r--r--errors/127.0.0.1.2010-06-15.17-11-47.d5c501a0-e7a6-4aa2-9cc2-3a10fb7c9b5817
-rw-r--r--errors/127.0.0.1.2010-06-15.17-12-56.b3dc871a-875b-4a69-9ee4-a4d75249680817
-rw-r--r--errors/127.0.0.1.2010-06-15.17-12-56.c76b13a1-604e-413d-bd54-d3645655688817
-rw-r--r--errors/127.0.0.1.2010-06-22.17-58-24.43169241-d580-433a-9534-40fd95c8ba0e17
-rw-r--r--errors/127.0.0.1.2010-06-26.14-18-00.942dfcc0-58c1-4580-891e-a5831f65587a17
-rw-r--r--errors/127.0.0.1.2010-06-26.14-29-02.e3e135f4-5f67-4e62-a3a4-f5eeb38c06cb17
-rw-r--r--errors/127.0.0.1.2010-06-26.14-29-08.01743076-f940-47a9-a1e9-e6e3d612266817
-rw-r--r--errors/127.0.0.1.2010-06-26.14-29-11.c5ef7ec4-58fa-4c31-bd75-6e9807bad31417
-rw-r--r--errors/127.0.0.1.2010-06-26.14-29-21.2f1d3ccf-be29-4fde-9927-fe72dea2c40417
-rw-r--r--errors/127.0.0.1.2010-06-26.14-31-17.97b6af6d-b028-4416-84c3-1c5cf2e77d5517
-rw-r--r--errors/127.0.0.1.2010-07-06.11-14-07.d7c8aece-7bc3-4049-937b-30fb481f421d17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-18-26.e5bbcb96-f7a6-4440-888b-46bd1a67733617
-rw-r--r--errors/127.0.0.1.2010-07-06.21-18-53.0f21c2ca-659d-4f8c-9f39-bda12e55bad017
-rw-r--r--errors/127.0.0.1.2010-07-06.21-19-07.10b0d3ea-d4d6-4b6e-a119-db5d42150eaa17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-19-33.2df43f1a-91b2-493d-9ce8-f06efc4fe62917
-rw-r--r--errors/127.0.0.1.2010-07-06.21-19-39.c5331736-649b-4269-aec4-9c20cb7a940317
-rw-r--r--errors/127.0.0.1.2010-07-06.21-19-57.3ae15d94-8f52-438b-87d4-67899bf9f10d17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-19-58.dd1e45d8-6e4d-4b2a-a305-b68e57e5a3bb17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-19-59.c27db2ab-8227-4039-97cf-622d2eb6cc6517
-rw-r--r--errors/127.0.0.1.2010-07-06.21-24-34.fd350e5c-5e4d-447f-bb1e-3caf586f135b17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-24-36.11ba35b4-698d-4436-a189-5789431bdf6217
-rw-r--r--errors/127.0.0.1.2010-07-06.21-24-43.79d98631-a87c-4c48-9efd-037be4e90b2b17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-25-29.7040e780-9f79-4fba-8b25-9acc557d876817
-rw-r--r--errors/127.0.0.1.2010-07-06.21-25-30.cfb814ba-4b82-4e50-b49f-7ec4e67c728717
-rw-r--r--errors/127.0.0.1.2010-07-06.21-27-21.6b386041-0db0-4912-8fd5-bd00e9dd64e817
-rw-r--r--errors/127.0.0.1.2010-07-06.21-27-51.87af17a3-f8af-480e-9aec-2843976dba7517
-rw-r--r--errors/127.0.0.1.2010-07-06.21-27-52.f705d212-1d5c-4272-b3af-c9fd0a0a510417
-rw-r--r--errors/127.0.0.1.2010-07-06.21-29-15.280641a8-e44d-4076-b209-755fc429591017
-rw-r--r--errors/127.0.0.1.2010-07-06.21-29-55.314af018-1e67-47df-acb3-3d7902b5ec4f17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-30-13.f44537c8-5e74-4c67-9d77-5eeef5fd244d17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-30-42.a68356ed-8805-4d90-bc2a-c1152684b45a17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-32-55.1455d8c8-5bca-4abd-8abb-b5b6ff94644e17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-35-16.b352a050-21ae-413f-8ee9-a3ff49b4e4d917
-rw-r--r--errors/127.0.0.1.2010-07-06.21-35-17.143e16c3-1b07-4019-a4e4-9de63bca17dd17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-37-59.45e285c7-b075-47b1-91c5-8838ae416d1b17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-38-29.747e8df8-2355-4719-a6e2-550a47e1a4b017
-rw-r--r--errors/127.0.0.1.2010-07-06.21-39-15.34d2f46b-1647-4259-89e5-77c71e49db3517
-rw-r--r--errors/127.0.0.1.2010-07-06.21-39-31.754b17ce-a8b7-40a2-a3f0-5e32802de9a517
-rw-r--r--errors/127.0.0.1.2010-07-06.21-42-17.0beaf7a6-4047-4601-b12e-0eb0f18217ee17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-49-35.9f326f13-a1f9-4073-82ce-fe391cc9c5dd17
-rw-r--r--errors/127.0.0.1.2010-07-06.21-50-11.44d39e34-37d3-4d88-ba83-774ac8f10eb717
-rw-r--r--errors/127.0.0.1.2010-07-06.22-04-03.090862c3-e8a3-48e4-bbf9-01fdc1a0567f17
-rw-r--r--errors/127.0.0.1.2010-07-06.22-04-03.0b487c87-1bb7-4a1d-b926-b72f5066229a17
-rw-r--r--errors/127.0.0.1.2010-07-06.22-04-03.c19ffad3-d858-4ba6-a628-374f9db0b6e817
-rw-r--r--errors/127.0.0.1.2010-07-06.22-04-23.7bf1efca-9329-4593-9acb-1ad0264ddf4017
-rw-r--r--errors/127.0.0.1.2010-07-06.22-08-27.16d4e8f7-52a1-483c-bab6-28a7da00f03417
-rw-r--r--errors/127.0.0.1.2010-07-06.22-11-35.1992b260-0fb2-44f8-830f-fa0b4c2e921417
-rw-r--r--errors/127.0.0.1.2010-07-06.22-12-07.a7fc9de5-6508-4100-9e21-694c7eeda5b317
-rw-r--r--errors/127.0.0.1.2010-07-06.22-13-12.38c2ad64-e6e0-440c-a410-089bbee1ead517
-rw-r--r--errors/127.0.0.1.2010-07-07.10-02-13.a42ee2c8-ad53-42b6-b15a-285e49cab96a17
-rw-r--r--errors/127.0.0.1.2010-07-07.10-02-19.036914e4-3143-4280-b5d5-e6196b9d536317
-rw-r--r--errors/127.0.0.1.2010-07-07.10-02-26.adfe0044-5526-4721-bfaf-6947db2dad7217
-rw-r--r--errors/127.0.0.1.2010-07-07.10-27-50.3b1caa48-8a07-4c87-84f4-5de4fb6eb34617
-rw-r--r--errors/127.0.0.1.2010-07-07.10-27-50.c7d6778c-c551-4178-9239-b4ee1f8f036c17
-rw-r--r--errors/127.0.0.1.2010-07-07.10-28-13.70a61cbc-653e-40b1-a8b2-f649d591519417
-rw-r--r--errors/127.0.0.1.2010-07-07.10-28-34.26981abd-e292-4ae5-8570-1ca7d0427ebf17
-rw-r--r--errors/127.0.0.1.2010-07-07.10-28-36.0d76f95e-af0c-4a12-ac25-2b8477ad840017
-rw-r--r--errors/127.0.0.1.2010-07-07.10-29-11.1047f1e3-6f4e-4d34-81a0-da47047b333a17
-rw-r--r--errors/127.0.0.1.2010-07-07.10-29-47.b16a2a3e-b801-4b29-870c-98f926533de717
-rw-r--r--errors/127.0.0.1.2010-07-07.10-52-48.c6777db8-fa4b-4f55-bb6c-0d919ab0102817
-rw-r--r--errors/127.0.0.1.2010-07-07.11-18-06.99442e70-a895-43d7-9f55-c8e1faa5920217
-rw-r--r--errors/127.0.0.1.2010-07-07.11-24-37.0cac9768-5458-4dd7-947f-db23a93abe9117
-rw-r--r--errors/127.0.0.1.2010-07-07.12-18-08.67650de4-5e42-4735-aa94-1571627cca4617
-rw-r--r--errors/127.0.0.1.2010-07-07.12-26-40.e5e0f713-b02a-46c8-8963-1efefad1615c17
-rw-r--r--errors/127.0.0.1.2010-07-07.12-52-08.7e40688f-6dd8-42f3-8c57-6560c594775917
-rw-r--r--errors/127.0.0.1.2010-07-07.13-13-30.54f64633-170e-4584-adb7-c1045c5d54e817
-rw-r--r--errors/127.0.0.1.2010-07-07.13-13-31.af234347-345f-4be2-9a75-b44a29d2c73117
-rw-r--r--errors/127.0.0.1.2010-07-07.13-13-33.1817152c-4167-4003-97c8-f262f2418d4a17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-14-11.def093d0-74fd-47fc-8b61-4e97b8c7c8ad17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-14-12.13c743f7-bea2-4207-8e07-f4e8e1e63ed517
-rw-r--r--errors/127.0.0.1.2010-07-07.13-14-14.9c5968a9-752f-46f4-93d5-50656ee3b16117
-rw-r--r--errors/127.0.0.1.2010-07-07.13-15-41.0d7ba954-21a4-4a16-90d1-b78a855f77f717
-rw-r--r--errors/127.0.0.1.2010-07-07.13-17-26.107ff8c1-0237-4e17-be9e-5164ce5c084a17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-20-18.131fe760-052a-4d22-b751-acd5488237e817
-rw-r--r--errors/127.0.0.1.2010-07-07.13-28-49.6a29edd5-5891-468d-a3b1-70c27a9c80f817
-rw-r--r--errors/127.0.0.1.2010-07-07.13-28-54.73c37622-8507-4202-9e0d-ea4646a2508e17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-28-54.887bf6bc-2703-4d2c-bb0c-1fa8c4cc965717
-rw-r--r--errors/127.0.0.1.2010-07-07.13-28-55.5616978c-ffbf-4d6d-a5ed-7a3c471b954617
-rw-r--r--errors/127.0.0.1.2010-07-07.13-31-37.4fe38a35-2189-45a4-9523-2c6109aac88517
-rw-r--r--errors/127.0.0.1.2010-07-07.13-36-30.9b84432b-9342-4d75-bcc7-240878242c2c17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-37-11.ff337428-c630-4010-8da5-cd2309e00e3c17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-37-47.a78bfd0e-5201-4158-8e77-ca03ab24ccc117
-rw-r--r--errors/127.0.0.1.2010-07-07.13-38-28.50cd70b4-e7fc-4094-82e1-6032a614170317
-rw-r--r--errors/127.0.0.1.2010-07-07.13-40-20.6ffe0d95-5460-4e2c-93e2-86ead95e02cb17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-42-38.3ddb898c-d832-494c-bc25-79e75640fdbc17
-rw-r--r--errors/127.0.0.1.2010-07-07.13-43-36.dccbc715-7c4d-4e1a-8d63-13f904ad30f017
-rw-r--r--errors/127.0.0.1.2010-07-07.13-44-40.c1e96f3e-1124-4b21-b3b8-ac9dea6f23a717
-rw-r--r--errors/127.0.0.1.2010-07-07.13-44-52.3d13b8c8-4331-45e0-bfa0-b5959ab2987517
-rw-r--r--errors/127.0.0.1.2010-07-07.14-14-10.108e3849-d19a-4979-bb8f-170e1788b88e17
-rw-r--r--errors/127.0.0.1.2010-07-07.14-19-31.2b679cfa-147e-44f5-bb2c-c000d4faec5a17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-29-29.4e5b9f63-8d7c-431d-a58d-33ab2b0b203a17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-32-50.81a49f98-1a5f-4ca8-a41e-693855f5138b17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-32-50.97d2cef2-71eb-448d-83b7-90194b6973f317
-rw-r--r--errors/127.0.0.1.2010-07-07.16-32-54.31cc3ee7-07f6-44cb-9720-b478c11bf60f17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-39-27.9cdc3ed8-c90f-48a5-9340-d476134c444f17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-42-49.21f22d8c-b870-4d72-b35f-6be8c9caaeb417
-rw-r--r--errors/127.0.0.1.2010-07-07.16-42-49.5500a16a-fe80-4d2b-a2df-b94c99a58dfd17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-42-49.741b571e-4ded-49e0-9cf2-14a0b3f8e4ce17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-42-51.27384b3c-0d23-4255-b7a5-94878177932a17
-rw-r--r--errors/127.0.0.1.2010-07-07.16-42-52.cbb2f140-acf8-454d-8233-26a716b375cf17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-07-46.fde1a7c2-e75d-4a3e-b5b3-12637cc9328817
-rw-r--r--errors/127.0.0.1.2010-07-08.15-14-06.7b0ddfb6-a1e1-452d-94f3-8d62c337b7eb17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-14-07.3795a611-89e5-4715-a7c6-2b21e64b3cd417
-rw-r--r--errors/127.0.0.1.2010-07-08.15-14-29.1e5f4dc2-43ef-4b5c-9b5c-b7af6561aee817
-rw-r--r--errors/127.0.0.1.2010-07-08.15-14-55.47d15630-09c6-484b-be13-70f862f8f00517
-rw-r--r--errors/127.0.0.1.2010-07-08.15-20-04.c1fba562-e378-41c4-92df-d633a3e37b9017
-rw-r--r--errors/127.0.0.1.2010-07-08.15-25-24.de4d5065-f593-4432-b000-2684ae1aa3ed17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-27-15.de25781c-0d1f-461e-b017-7e1cc736414917
-rw-r--r--errors/127.0.0.1.2010-07-08.15-27-15.f2377554-51ca-4b7b-bca0-2fe90a07ee1017
-rw-r--r--errors/127.0.0.1.2010-07-08.15-27-28.3cfa76ce-558d-4e94-a577-5f6e506570b017
-rw-r--r--errors/127.0.0.1.2010-07-08.15-27-34.cfed5abe-608e-4b91-959d-fc7f05fec5bd17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-28-47.91eb3c05-1b3c-4528-832a-e08c2a9768e917
-rw-r--r--errors/127.0.0.1.2010-07-08.15-28-52.37aa57a6-e815-457f-a164-1a9e898de74217
-rw-r--r--errors/127.0.0.1.2010-07-08.15-28-53.87980077-8c27-4be8-8954-2da579e109fb17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-30-36.5919daf3-9557-456e-9af5-b9bf12a1e94d17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-30-53.09f70acd-83e5-4c5d-af80-b0d8d0d53acd17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-35-45.6467e2f5-f182-4dcc-b8c0-8b4c7f6ee7d317
-rw-r--r--errors/127.0.0.1.2010-07-08.15-39-18.b852155d-a09a-4eae-8418-31a0fc1a70fb17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-39-19.faf9b321-fb04-4c6c-9261-bde7c167db0617
-rw-r--r--errors/127.0.0.1.2010-07-08.15-39-34.7fbe55a2-ee87-4644-8a81-b6e33e7b56e017
-rw-r--r--errors/127.0.0.1.2010-07-08.15-39-34.ac09ca25-c8df-4b40-b165-b24092d60e4817
-rw-r--r--errors/127.0.0.1.2010-07-08.15-54-56.66078c59-2a91-4b18-bb3f-796a323f706217
-rw-r--r--errors/127.0.0.1.2010-07-08.15-57-53.5083a2b9-0669-47cc-8ca4-7de04feb491217
-rw-r--r--errors/127.0.0.1.2010-07-08.15-58-08.6dbb33a4-8930-4bdf-9b3d-9c3d40ce731a17
-rw-r--r--errors/127.0.0.1.2010-07-08.15-59-46.31011882-0f6e-4209-934b-feed78e1ea3517
-rw-r--r--errors/127.0.0.1.2010-07-08.16-16-09.e265f352-0ac3-4bc3-9018-9a15dbcb03dd17
-rw-r--r--errors/127.0.0.1.2010-07-08.16-18-37.b20c6157-e66e-40d7-bf3e-332e955a6c0717
-rw-r--r--errors/127.0.0.1.2010-07-08.16-20-00.059fb706-4580-4b2d-9ed1-59512ec9213717
-rw-r--r--errors/127.0.0.1.2010-07-08.16-20-06.c259b3f8-552b-4e9e-b2cb-8f1d2420406c17
-rw-r--r--errors/127.0.0.1.2010-07-08.16-22-24.a5292d7b-4a24-4ab2-8e3d-9f4ccc2ee84b17
-rw-r--r--errors/127.0.0.1.2010-07-08.16-30-15.2704d38b-d3cc-4e30-88c0-f94a6b5cdc9517
-rw-r--r--errors/127.0.0.1.2010-07-08.16-36-35.3758fc84-121f-4dba-b939-ba6a397aabe917
-rw-r--r--errors/127.0.0.1.2010-07-08.16-37-01.77bb5933-5db4-446a-993b-609fc26e062317
-rw-r--r--errors/127.0.0.1.2010-07-08.16-37-19.747f91b5-f072-4d32-a3de-f3d0a0a0782e17
-rw-r--r--errors/127.0.0.1.2010-07-08.16-44-35.044150aa-da5f-4580-ae29-c9f142c6741a17
-rw-r--r--errors/127.0.0.1.2010-07-13.15-36-26.6e9681c5-0910-4de3-8952-4c6edb303c1517
-rw-r--r--errors/127.0.0.1.2010-07-13.15-40-44.5519811d-d613-4ef7-8b43-f2da758adaeb17
-rw-r--r--errors/127.0.0.1.2010-07-13.16-01-48.571d5770-28f3-4258-86e5-18f34ecc8bf017
-rw-r--r--errors/127.0.0.1.2010-07-13.16-02-24.a06d170a-1f3b-4342-b594-615c26ac6c3817
-rw-r--r--errors/127.0.0.1.2010-07-13.16-43-44.ab2ccb3e-4ab0-461c-8c42-62e5531360e017
-rw-r--r--errors/127.0.0.1.2010-07-13.16-44-14.8480d4f8-4257-4061-9590-0e1a04b92bcd17
-rw-r--r--errors/127.0.0.1.2010-07-13.16-44-30.36c1dbc5-f098-4eaf-bbf3-5ba7cd8031b517
-rw-r--r--errors/127.0.0.1.2010-07-13.16-44-31.78c05431-6a0b-4dfb-ad48-fc4bbb3a376d17
-rw-r--r--errors/127.0.0.1.2010-07-13.16-44-40.288d857b-24ed-486b-97e6-b19449779e4e17
-rw-r--r--errors/127.0.0.1.2010-07-13.16-44-43.103a43f9-71d9-4768-812b-753b726fa19717
-rw-r--r--languages/es-es.py248
-rw-r--r--languages/fr-ca.py106
-rw-r--r--languages/fr-fr.py95
-rw-r--r--languages/hi-hi.py82
-rw-r--r--languages/hu-hu.py93
-rw-r--r--languages/hu.py93
-rw-r--r--languages/it-it.py75
-rw-r--r--languages/it.py107
-rw-r--r--languages/pl-pl.py81
-rw-r--r--languages/pl.py104
-rw-r--r--languages/pt-br.py78
-rw-r--r--languages/pt-pt.py76
-rw-r--r--languages/pt.py76
-rw-r--r--languages/ru-ru.py87
-rw-r--r--models/db.py50
-rw-r--r--models/db.py.18
-rw-r--r--models/db.py.bak9
-rw-r--r--models/menu.py52
-rw-r--r--sessions/127-0-0-1-17b977ab-c09a-46a4-a5d3-479063196e0587
-rw-r--r--sessions/127-0-0-1-2fc3e1b4-be47-4229-a6b3-065be030141813
-rw-r--r--sessions/127-0-0-1-31641b63-f0a4-478a-b72b-ec62f607c56597
-rw-r--r--sessions/127-0-0-1-33368913-e2d5-437e-848c-9630afa03fe613
-rw-r--r--sessions/127-0-0-1-5b53cc8d-5988-4a95-a3fb-2bfc97b0c12b94
-rw-r--r--sessions/127-0-0-1-5c75c2ab-740a-4917-98e7-68ee08593b5413
-rw-r--r--sessions/127-0-0-1-5ea3cc27-0619-489f-b5d8-01f498ca220613
-rw-r--r--sessions/127-0-0-1-67192e32-196b-4b82-9983-6ad070fe765026
-rw-r--r--sessions/127-0-0-1-7c07d1f2-c718-4fc5-a095-74a6279342a611
-rw-r--r--sessions/127-0-0-1-8ce5f553-b5e8-4c4e-ba1c-77b71bd12d5313
-rw-r--r--sessions/127-0-0-1-90ce4596-0740-4a89-a451-427611419c3d13
-rw-r--r--sessions/127-0-0-1-9e3ea9c1-5743-4a5a-baa0-196902fc7bb998
-rw-r--r--sessions/127-0-0-1-b8c059ab-c97c-4aac-a21d-750e685bb15a13
-rw-r--r--sessions/127-0-0-1-cba64c5b-ec3b-405e-9c5e-8e3d8b2b7aa311
-rw-r--r--static/background.gifbin0 -> 1205 bytes
-rw-r--r--static/base.css636
-rw-r--r--static/calendar.css1
-rw-r--r--static/calendar.js80
-rw-r--r--static/ez-plug-min.css4
-rw-r--r--static/ez-plug.css147
-rw-r--r--static/glike.css69
-rw-r--r--static/glike.css.bak0
-rw-r--r--static/header.gifbin0 -> 1008 bytes
-rw-r--r--static/jquery.js152
-rw-r--r--static/menu.gifbin0 -> 264 bytes
-rw-r--r--static/title.pngbin0 -> 10937 bytes
-rw-r--r--uploads/comment.file.81d7970cbb9e7191.547572746c65417274436f6c6f72732833292e7461.ta1
-rw-r--r--uploads/comment.file.82f54d8ce1b21807.6f63742e7461.pngbin0 -> 7010 bytes
-rw-r--r--uploads/comment.file.82f54d8ce1b21807.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.8422e8e9993e197a.547572746c65417274436f6c6f72732832292e7461.pngbin0 -> 43582 bytes
-rw-r--r--uploads/comment.file.8422e8e9993e197a.547572746c65417274436f6c6f72732832292e7461.ta1
-rw-r--r--uploads/comment.file.84504ba1b74b79db.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.86e1907a57f27ca4.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.8713cec71bc2c47e.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.871a0f417ec61c9b.636f6c6f72776865656c2e7461.ta1
-rw-r--r--uploads/comment.file.8c521e341f67938a.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.8d6af2114401515b.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.8de211ac973fc023.547572746c65417274436f6c6f72732e7461.pngbin0 -> 43582 bytes
-rw-r--r--uploads/comment.file.8de211ac973fc023.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.8e409f405dcce256.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.8e886ea0dea26d33.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.8ffcc006f7d9b671.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.90337a96e341cdab.7061747465726e2e7461.ta1
-rw-r--r--uploads/comment.file.909a0af0445403d4.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.91fdd282b0577e09.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.92a63c5d1605151b.747572746c65617274746573742e7461.pngbin0 -> 4874 bytes
-rw-r--r--uploads/comment.file.92a63c5d1605151b.747572746c65617274746573742e7461.ta1
-rw-r--r--uploads/comment.file.92da1baf2da6ae6b.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.93827d6c52f20276.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.9457e6586f80fc90.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.94947c77625ae2a0.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.961269c389d0f6b8.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.96610faa8111f42a.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.96d82c103540cce2.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.97fe971da28492b7.72616e646f6d2e7461.pngbin0 -> 15883 bytes
-rw-r--r--uploads/comment.file.97fe971da28492b7.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.98c655089b2e157d.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.9a4e0293482d1a9d.72616e646f6d2e7461.pngbin0 -> 17172 bytes
-rw-r--r--uploads/comment.file.9a4e0293482d1a9d.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.9a7b64a807371945.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.9b57eed8e9790aa2.7371756172652e7461.pngbin0 -> 6169 bytes
-rw-r--r--uploads/comment.file.9b57eed8e9790aa2.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.9d67a10e4aaad424.747572746c65617274746573742e7461.pngbin0 -> 4874 bytes
-rw-r--r--uploads/comment.file.9d67a10e4aaad424.747572746c65617274746573742e7461.ta1
-rw-r--r--uploads/comment.file.a1cb04531244e0db.7061747465726e342e7461.ta1
-rw-r--r--uploads/comment.file.a234583b81dbb1c7.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.a27fe041a9bb2ef2.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.a2e183920e6abd08.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.a2f0bc23968201d1.747572746c6561727474657374322e7461.pngbin0 -> 12933 bytes
-rw-r--r--uploads/comment.file.a2f0bc23968201d1.747572746c6561727474657374322e7461.ta1
-rw-r--r--uploads/comment.file.a362acc16a0243a3.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.a3d69f66ebacbe99.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.a3ecaf3a01807525.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.a54cd149b2c94dec.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.a5a0c1815110a050.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.a6fa8e82a3c64a3a.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.a87b52d8c16758e4.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.aaa1f397ad21e704.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.aae673c25380d9d7.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.ad291df0e3b89480.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.ad617490bd0124d9.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.af669bccfd1c980a.547572746c65417274436f6c6f72732e7461.pngbin0 -> 43582 bytes
-rw-r--r--uploads/comment.file.af669bccfd1c980a.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.b30f00228581a6a2.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.b377d772869ccbcb.547572746c65417274436f6c6f72732832292e7461.pngbin0 -> 43582 bytes
-rw-r--r--uploads/comment.file.b377d772869ccbcb.547572746c65417274436f6c6f72732832292e7461.ta1
-rw-r--r--uploads/comment.file.b4054c7c358a664c.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.b44a77af4bc940ad.747572746c6561727474657374322e7461.pngbin0 -> 12933 bytes
-rw-r--r--uploads/comment.file.b44a77af4bc940ad.747572746c6561727474657374322e7461.ta1
-rw-r--r--uploads/comment.file.b47fdec09160466c.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.b4d41b2e6a6c6dd4.547572746c65417274436f6c6f72732833292e7461.pngbin0 -> 43582 bytes
-rw-r--r--uploads/comment.file.b4d41b2e6a6c6dd4.547572746c65417274436f6c6f72732833292e7461.ta1
-rw-r--r--uploads/comment.file.b5e4828313a24ba6.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.b795f9173ebfdedb.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.b7f2a06146dcba0c.6f63742e7461.pngbin0 -> 7010 bytes
-rw-r--r--uploads/comment.file.b7f2a06146dcba0c.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.b830add106e875cb.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.b858721e9288d063.547572746c65417274436f6c6f72732e7461.ta1
-rw-r--r--uploads/comment.file.ba4675a0e85b1df7.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.bb08bc437fa46be6.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.bb52024805066709.7061747465726e2e7461.ta1
-rw-r--r--uploads/comment.file.bb7cad68c4f6cf78.7061747465726e322e7461.ta1
-rw-r--r--uploads/comment.file.bbe458e7fc45b838.72616e646f6d2e7461.ta1
-rw-r--r--uploads/comment.file.bbeda6293097768a.7061747465726e332e7461.ta1
-rw-r--r--uploads/comment.file.bcdf956a459387fe.6f63742e7461.ta1
-rw-r--r--uploads/comment.file.bcffc0b86ec366a7.7371756172652e7461.ta1
-rw-r--r--uploads/comment.file.bd638f7fa8135ef8.6f63742e7461.ta1
-rw-r--r--uploads/comment.newimage.808a861a19fa178d.7061747465726e342e706e67.pngbin0 -> 294731 bytes
-rw-r--r--uploads/comment.newimage.86b1562d4db46876.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.88fabbfc379a9c99.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.899efa6a4b074f63.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.8eff9d1bb83a51c1.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.8f995e2afe4c34da.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.910f7e9615a03bcb.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.9167bbbca0caad97.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.91d85a30ad539dc7.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.9222d6fa727c1325.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.925644106969a2f6.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.9294b7dd4b712b98.7061747465726e352e706e67.pngbin0 -> 11390 bytes
-rw-r--r--uploads/comment.newimage.9359d4958ffe58e3.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.970aa68555838b03.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.9babac2bb7cfc14c.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.9c1f47d9d06be6d7.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.a3c5e5da0b56515e.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.a49d84e150a5fb66.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.a500f746bfdcdc70.7061747465726e332e706e67.pngbin0 -> 181780 bytes
-rw-r--r--uploads/comment.newimage.a507c5ef26fa0fbc.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.a6f10ba70f75e477.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.a7fe775f92ebe11b.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.a853dd164949b8f9.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.aa542b34978ab93e.7061747465726e322e706e67.pngbin0 -> 218002 bytes
-rw-r--r--uploads/comment.newimage.ac3b57c60b470662.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.aeb94355af0dd82e.7061747465726e2e706e67.pngbin0 -> 109838 bytes
-rw-r--r--uploads/comment.newimage.af8e115276c5ddbe.636f6c6f72776865656c2e706e67.pngbin0 -> 103283 bytes
-rw-r--r--uploads/comment.newimage.b27266f434f19c29.547572746c65417274436f6c6f72732e706e67.pngbin0 -> 50496 bytes
-rw-r--r--uploads/comment.newimage.b3e4d0f0001a07d6.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.b4e1717e79409107.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.b86951a6c75b913e.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.b9bd155018fa2da2.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.bd7d50a1ab065911.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/comment.newimage.bdeb82ce001eb04a.72616e646f6d2e706e67.pngbin0 -> 9832 bytes
-rw-r--r--uploads/image.file.838f51bdacc7a5ee.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.file.8ec336050d2f1968.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.file.9d39681cf7b07e12.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.file.a11d74583031ce9b.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.file.a65380ec655637c3.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.file.b0a7b723ca312329.636f6c6f72732e7461.ta1
-rw-r--r--uploads/image.file.b776db7abedaa85f.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.file.bbed5a50205cb9a6.636f6c6f7273322e7461.ta1
-rw-r--r--uploads/image.file.beebcae39552bd52.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.file.bf08ced37b80d52e.7061747465726e2e7461.ta1
-rw-r--r--uploads/image.newimage.89e5872d246ba62d.7061747465726e2e706e67.pngbin0 -> 103110 bytes
-rw-r--r--uploads/image.newimage.8c15b9ce81f24314.7061747465726e2e706e67.pngbin0 -> 103110 bytes
-rw-r--r--uploads/image.newimage.979840aad8ca92c4.7061747465726e2e706e67.pngbin0 -> 103110 bytes
-rw-r--r--uploads/image.newimage.99038a85fdbc0f25.7061747465726e322e706e67.pngbin0 -> 95223 bytes
-rw-r--r--uploads/image.newimage.9fa7d3e5e29db916.7061747465726e2e706e67.pngbin0 -> 103110 bytes
-rw-r--r--uploads/image.newimage.a8d21af43048bb9c.7061747465726e2e706e67.pngbin0 -> 103110 bytes
-rw-r--r--uploads/image.newimage.b117d7d8603fdef0.7061747465726e2e706e67.pngbin0 -> 103110 bytes
-rw-r--r--uploads/image.newimage.b3362909ab39b2c7.636f6c6f72732e706e67.pngbin0 -> 53931 bytes
-rw-r--r--uploads/image.newimage.bd3cc8032ddc3ff0.636f6c6f72732e706e67.pngbin0 -> 53931 bytes
-rw-r--r--uploads/image.newimage.bdefee79db56d74a.7061747465726e322e706e67.pngbin0 -> 95223 bytes
-rw-r--r--views/appadmin.html198
-rw-r--r--views/default/_base.html25
-rw-r--r--views/default/_base.html.119
-rw-r--r--views/default/_base.html.bak20
-rw-r--r--views/default/adminpage.html3
-rw-r--r--views/default/image.html23
-rw-r--r--views/default/index.html55
-rw-r--r--views/default/index.html.14
-rw-r--r--views/default/index.html.bak4
-rw-r--r--views/default/submit.html4
-rw-r--r--views/default/testpage.html2
-rw-r--r--views/default/testpage.html.bak4
-rw-r--r--views/default/upload.html2
-rw-r--r--views/default/user.html20
-rw-r--r--views/generic.html18
-rw-r--r--views/generic.json11
-rw-r--r--views/generic.rss16
-rw-r--r--views/generic.xml11
-rw-r--r--views/layout.html67
-rw-r--r--views/web2py_ajax.html90
469 files changed, 8852 insertions, 0 deletions
diff --git a/ABOUT b/ABOUT
new file mode 100644
index 0000000..b160b8e
--- /dev/null
+++ b/ABOUT
@@ -0,0 +1,2 @@
+Write something about this app.
+Developed with web2py. \ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..c634946
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,2 @@
+This is a sample license. You can write here anything you want
+as long as you do not violate web2py copyright, trademark and license.
diff --git a/__init__.py b/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/__init__.py
diff --git a/cache/cache.lock b/cache/cache.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cache/cache.lock
diff --git a/cache/cache.shelve b/cache/cache.shelve
new file mode 100644
index 0000000..ce66aa6
--- /dev/null
+++ b/cache/cache.shelve
Binary files differ
diff --git a/controllers/CreateImage b/controllers/CreateImage
new file mode 160000
+Subproject 41ff529465f8901dda5aa7247219595b7822c66
diff --git a/controllers/appadmin.py b/controllers/appadmin.py
new file mode 100644
index 0000000..e3b66e0
--- /dev/null
+++ b/controllers/appadmin.py
@@ -0,0 +1,408 @@
+# -*- coding: utf-8 -*-
+
+# ##########################################################
+# ## make sure administrator is on localhost
+# ###########################################################
+
+import os
+import socket
+import datetime
+import copy
+import gluon.contenttype
+import gluon.fileutils
+
+# ## critical --- make a copy of the environment
+
+global_env = copy.copy(globals())
+global_env['datetime'] = datetime
+
+http_host = request.env.http_host.split(':')[0]
+remote_addr = request.env.remote_addr
+try:
+ hosts = (http_host, socket.gethostname(),
+ socket.gethostbyname(http_host),
+ '::1','127.0.0.1','::ffff:127.0.0.1')
+except:
+ hosts = (http_host, )
+
+if request.env.http_x_forwarded_for or request.env.wsgi_url_scheme\
+ in ['https', 'HTTPS']:
+ session.secure()
+elif (remote_addr not in hosts) and (remote_addr != "127.0.0.1"):
+ raise HTTP(200, T('appadmin is disabled because insecure channel'))
+if not gluon.fileutils.check_credentials(request):
+ redirect(URL(a='admin', c='default', f='index'))
+
+ignore_rw = True
+response.view = 'appadmin.html'
+response.menu = [[T('design'), False, URL('admin', 'default', 'design',
+ args=[request.application])], [T('db'), False,
+ URL(r=request, f='index')], [T('state'), False,
+ URL(r=request, f='state')], [T('cache'), False,
+ URL(r=request, f='ccache')]]
+
+# ##########################################################
+# ## auxiliary functions
+# ###########################################################
+
+
+def get_databases(request):
+ dbs = {}
+ for (key, value) in global_env.items():
+ cond = False
+ try:
+ cond = isinstance(value, GQLDB)
+ except:
+ cond = isinstance(value, SQLDB)
+ if cond:
+ dbs[key] = value
+ return dbs
+
+
+databases = get_databases(None)
+
+
+def eval_in_global_env(text):
+ exec ('_ret=%s' % text, {}, global_env)
+ return global_env['_ret']
+
+
+def get_database(request):
+ if request.args and request.args[0] in databases:
+ return eval_in_global_env(request.args[0])
+ else:
+ session.flash = T('invalid request')
+ redirect(URL(r=request, f='index'))
+
+
+def get_table(request):
+ db = get_database(request)
+ if len(request.args) > 1 and request.args[1] in db.tables:
+ return (db, request.args[1])
+ else:
+ session.flash = T('invalid request')
+ redirect(URL(r=request, f='index'))
+
+
+def get_query(request):
+ try:
+ return eval_in_global_env(request.vars.query)
+ except Exception:
+ return None
+
+
+def query_by_table_type(tablename,db,request=request):
+ keyed = hasattr(db[tablename],'_primarykey')
+ if keyed:
+ firstkey = db[tablename][db[tablename]._primarykey[0]]
+ cond = '>0'
+ if firstkey.type in ['string', 'text']:
+ cond = '!=""'
+ qry = '%s.%s.%s%s' % (request.args[0], request.args[1], firstkey.name, cond)
+ else:
+ qry = '%s.%s.id>0' % tuple(request.args[:2])
+ return qry
+
+
+
+# ##########################################################
+# ## list all databases and tables
+# ###########################################################
+
+
+def index():
+ return dict(databases=databases)
+
+
+# ##########################################################
+# ## insert a new record
+# ###########################################################
+
+
+def insert():
+ (db, table) = get_table(request)
+ form = SQLFORM(db[table], ignore_rw=ignore_rw)
+ if form.accepts(request.vars, session):
+ response.flash = T('new record inserted')
+ return dict(form=form,table=db[table])
+
+
+# ##########################################################
+# ## list all records in table and insert new record
+# ###########################################################
+
+
+def download():
+ import os
+ db = get_database(request)
+ return response.download(request,db)
+
+def csv():
+ import gluon.contenttype
+ response.headers['Content-Type'] = \
+ gluon.contenttype.contenttype('.csv')
+ db = get_database(request)
+ query = get_query(request)
+ if not query:
+ return None
+ response.headers['Content-disposition'] = 'attachment; filename=%s_%s.csv'\
+ % tuple(request.vars.query.split('.')[:2])
+ return str(db(query).select())
+
+
+def import_csv(table, file):
+ table.import_from_csv_file(file)
+
+def select():
+ import re
+ db = get_database(request)
+ dbname = request.args[0]
+ regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>\d+)')
+ if len(request.args)>1 and hasattr(db[request.args[1]],'_primarykey'):
+ regex = re.compile('(?P<table>\w+)\.(?P<field>\w+)=(?P<value>.+)')
+ if request.vars.query:
+ match = regex.match(request.vars.query)
+ if match:
+ request.vars.query = '%s.%s.%s==%s' % (request.args[0],
+ match.group('table'), match.group('field'),
+ match.group('value'))
+ else:
+ request.vars.query = session.last_query
+ query = get_query(request)
+ if request.vars.start:
+ start = int(request.vars.start)
+ else:
+ start = 0
+ nrows = 0
+ stop = start + 100
+ table = None
+ rows = []
+ orderby = request.vars.orderby
+ if orderby:
+ orderby = dbname + '.' + orderby
+ if orderby == session.last_orderby:
+ if orderby[0] == '~':
+ orderby = orderby[1:]
+ else:
+ orderby = '~' + orderby
+ session.last_orderby = orderby
+ session.last_query = request.vars.query
+ form = FORM(TABLE(TR(T('Query:'), '', INPUT(_style='width:400px',
+ _name='query', _value=request.vars.query or '',
+ requires=IS_NOT_EMPTY(error_message=T("Cannot be empty")))), TR(T('Update:'),
+ INPUT(_name='update_check', _type='checkbox',
+ value=False), INPUT(_style='width:400px',
+ _name='update_fields', _value=request.vars.update_fields
+ or '')), TR(T('Delete:'), INPUT(_name='delete_check',
+ _class='delete', _type='checkbox', value=False), ''),
+ TR('', '', INPUT(_type='submit', _value='submit'))),
+ _action=URL(r=request,args=request.args))
+ if request.vars.csvfile != None:
+ try:
+ import_csv(db[request.vars.table],
+ request.vars.csvfile.file)
+ response.flash = T('data uploaded')
+ except Exception, e:
+ response.flash = DIV(T('unable to parse csv file'),PRE(str(e)))
+ if form.accepts(request.vars, formname=None):
+# regex = re.compile(request.args[0] + '\.(?P<table>\w+)\.id\>0')
+ regex = re.compile(request.args[0] + '\.(?P<table>\w+)\..+')
+
+ match = regex.match(form.vars.query.strip())
+ if match:
+ table = match.group('table')
+ try:
+ nrows = db(query).count()
+ if form.vars.update_check and form.vars.update_fields:
+ db(query).update(**eval_in_global_env('dict(%s)'
+ % form.vars.update_fields))
+ response.flash = T('%s rows updated', nrows)
+ elif form.vars.delete_check:
+ db(query).delete()
+ response.flash = T('%s rows deleted', nrows)
+ nrows = db(query).count()
+ if orderby:
+ rows = db(query).select(limitby=(start, stop),
+ orderby=eval_in_global_env(orderby))
+ else:
+ rows = db(query).select(limitby=(start, stop))
+ except Exception, e:
+ (rows, nrows) = ([], 0)
+ response.flash = DIV(T('Invalid Query'),PRE(str(e)))
+ return dict(
+ form=form,
+ table=table,
+ start=start,
+ stop=stop,
+ nrows=nrows,
+ rows=rows,
+ query=request.vars.query,
+ )
+
+
+# ##########################################################
+# ## edit delete one record
+# ###########################################################
+
+
+def update():
+ (db, table) = get_table(request)
+ keyed = hasattr(db[table],'_primarykey')
+ record = None
+ if keyed:
+ key = [f for f in request.vars if f in db[table]._primarykey]
+ if key:
+ record = db(db[table][key[0]] == request.vars[key[0]]).select().first()
+ else:
+ record = db(db[table].id == request.args(2)).select().first()
+
+ if not record:
+ qry = query_by_table_type(table, db)
+ session.flash = T('record does not exist')
+ redirect(URL(r=request, f='select', args=request.args[:1],
+ vars=dict(query=qry)))
+
+ if keyed:
+ for k in db[table]._primarykey:
+ db[table][k].writable=False
+
+ form = SQLFORM(db[table], record, deletable=True, delete_label=T('Check to delete'),
+ ignore_rw=ignore_rw and not keyed,
+ linkto=URL(r=request, f='select',
+ args=request.args[:1]), upload=URL(r=request,
+ f='download', args=request.args[:1]))
+
+ if form.accepts(request.vars, session):
+ session.flash = T('done!')
+ qry = query_by_table_type(table, db)
+ redirect(URL(r=request, f='select', args=request.args[:1],
+ vars=dict(query=qry)))
+ return dict(form=form,table=db[table])
+
+
+# ##########################################################
+# ## get global variables
+# ###########################################################
+
+
+def state():
+ return dict()
+
+def ccache():
+ form = FORM(
+ P(TAG.BUTTON("Clear CACHE?", _type="submit", _name="yes", _value="yes")),
+ P(TAG.BUTTON("Clear RAM", _type="submit", _name="ram", _value="ram")),
+ P(TAG.BUTTON("Clear DISK", _type="submit", _name="disk", _value="disk")),
+ )
+
+ if form.accepts(request.vars, session):
+ clear_ram = False
+ clear_disk = False
+ session.flash = ""
+ if request.vars.yes:
+ clear_ram = clear_disk = True
+ if request.vars.ram:
+ clear_ram = True
+ if request.vars.disk:
+ clear_disk = True
+
+ if clear_ram:
+ cache.ram.clear()
+ session.flash += "Ram Cleared "
+ if clear_disk:
+ cache.disk.clear()
+ session.flash += "Disk Cleared"
+
+ redirect(URL(r=request))
+
+ try:
+ from guppy import hpy; hp=hpy()
+ except ImportError:
+ hp = False
+
+ import shelve, os, copy, time, math
+ from gluon import portalocker
+
+ ram = {
+ 'bytes': 0,
+ 'objects': 0,
+ 'hits': 0,
+ 'misses': 0,
+ 'ratio': 0,
+ 'oldest': time.time()
+ }
+ disk = copy.copy(ram)
+ total = copy.copy(ram)
+
+ for key, value in cache.ram.storage.items():
+ if isinstance(value, dict):
+ ram['hits'] = value['hit_total'] - value['misses']
+ ram['misses'] = value['misses']
+ try:
+ ram['ratio'] = ram['hits'] * 100 / value['hit_total']
+ except (KeyError, ZeroDivisionError):
+ ram['ratio'] = 0
+ else:
+ if hp:
+ ram['bytes'] += hp.iso(value[1]).size
+ ram['objects'] += hp.iso(value[1]).count
+
+ if value[0] < ram['oldest']:
+ ram['oldest'] = value[0]
+
+ locker = open(os.path.join(request.folder,
+ 'cache/cache.lock'), 'a')
+ portalocker.lock(locker, portalocker.LOCK_EX)
+ disk_storage = shelve.open(
+ os.path.join(request.folder,
+ 'cache/cache.shelve'))
+
+ for key, value in disk_storage.items():
+ if isinstance(value, dict):
+ disk['hits'] = value['hit_total'] - value['misses']
+ disk['misses'] = value['misses']
+ try:
+ disk['ratio'] = disk['hits'] * 100 / value['hit_total']
+ except (KeyError, ZeroDivisionError):
+ disk['ratio'] = 0
+ else:
+ if hp:
+ disk['bytes'] += hp.iso(value[1]).size
+ disk['objects'] += hp.iso(value[1]).count
+ if value[0] < disk['oldest']:
+ disk['oldest'] = value[0]
+
+ portalocker.unlock(locker)
+ locker.close()
+ disk_storage.close()
+
+ total['bytes'] = ram['bytes'] + disk['bytes']
+ total['objects'] = ram['objects'] + disk['objects']
+ total['hits'] = ram['hits'] + disk['hits']
+ total['misses'] = ram['misses'] + disk['misses']
+ try:
+ total['ratio'] = total['hits'] * 100 / (total['hits'] + total['misses'])
+ except (KeyError, ZeroDivisionError):
+ total['ratio'] = 0
+
+ if disk['oldest'] < ram['oldest']:
+ total['oldest'] = disk['oldest']
+ else:
+ total['oldest'] = ram['oldest']
+
+ def GetInHMS(seconds):
+ hours = math.floor(seconds / 3600)
+ seconds -= hours * 3600
+ minutes = math.floor(seconds / 60)
+ seconds -= minutes * 60
+ seconds = math.floor(seconds)
+
+ return (hours, minutes, seconds)
+
+ ram['oldest'] = GetInHMS(time.time() - ram['oldest'])
+ disk['oldest'] = GetInHMS(time.time() - disk['oldest'])
+ total['oldest'] = GetInHMS(time.time() - total['oldest'])
+
+ return dict(form=form, total=total,
+ ram=ram, disk=disk)
+
diff --git a/controllers/default.py b/controllers/default.py
new file mode 100644
index 0000000..d9f9a6d
--- /dev/null
+++ b/controllers/default.py
@@ -0,0 +1,120 @@
+import os
+
+def sort_by_views(L):
+ if len(L) <= 1: return L
+ 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 ] )
+
+def sort_by_id(L):
+ if len(L) <= 1: return L
+ 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 ] )
+
+def index():
+ sorts = ["newest", "views"]
+ if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1
+ else: page = 0
+ if "sort" in request.vars.keys(): sort = request.vars["sort"]
+ else: sort = 'newest'
+ if sort not in sorts:
+ sort = "newest"
+ if "profile" in request.vars.keys(): profile = request.vars["profile"]
+ else: profile = None
+ table = []
+ raw_images = db().select(db.image.ALL)
+ i = 0
+ row = []
+ count = 0
+ images = []
+ for image in raw_images:
+ if profile != None:
+ if image.creator == profile:
+ images.append(image)
+ else: images.append(image)
+ if sort == 'views':
+ #images = sort_by_views(images)
+ images.reverse()
+ if sort == 'newest':
+ images.sort(cmp=lambda x,y:cmp(x.id,y.id))
+ images.reverse()
+ for image in images:
+ if count >= page * 12 and page*12+12 > count:
+ if i == 4:
+ table.append(row)
+ row = []
+ i = 0
+ i += 1
+ row.append(image)
+ count += 1
+ table.append(row)
+ pages = count / 12
+ if count%12 > 0: pages += 1
+ page += 1
+ return dict(images=table, pages=pages, page=page, sort=sort, profile=profile)
+
+def upload():
+ form = SQLFORM(db.image, fields = ['title', 'file', 'newimage', 'description'])
+ if form.accepts(request.vars, session):
+ session.new_image_title = form.vars.title
+ db(db.image.title==session.new_image_title).update(creator = auth.user.username)
+ db(db.image.title==session.new_image_title).update(views = 0)
+ redirect(URL(r=request, f='index'))
+ return dict(form=form)
+
+"""@service.xmlrpc
+def upload_remote(username,password,image,ta_file,title,description):
+ logged_in = auth.login_bare(username,password)
+ if logged_in:
+ db.image.insert(file=ta_file,
+ image=image,
+ title=title,
+ description=description,
+ creator=auth.user.username,
+ views=0)"""
+
+
+
+def image():
+ images = db().select(db.image.ALL)
+ image_id = int(request.vars["image"])
+ for image in images:
+ if image.id == image_id:
+ real_image = image
+ title=real_image.title
+ if real_image == None:
+ redirect(URL(r=request, f='index'))
+ if auth.is_logged_in():
+ if auth.user.username != real_image.creator:
+ views = int(real_image.views) + 1
+ db(db.image.title==real_image.title).update(views = views)
+ form = SQLFORM(db.comment, fields = ['body'])
+ if form.accepts(request.vars, session):
+ db(db.comment.id==form.vars.id).update(author = auth.user.username)
+ db(db.comment.id==form.vars.id).update(image_id = real_image.id)
+ comments=db().select(db.comment.ALL)
+ image_comments = []
+ for comment in comments:
+ if comment.image_id == real_image.id:
+ image_comments.append(comment)
+ return dict(image = real_image, form= form,comments=image_comments)
+
+
+def testimage():
+ return db(db.image.title=="hellotest")
+
+def user():
+ return dict(form=auth())
+
+def delete():
+ images = db().select(db.image.ALL)
+ image_id = int(request.vars["id"])
+ for image in images:
+ if image.id == image_id:
+ real_image = image
+ if auth.is_logged_in():
+ if auth.user.username == real_image.creator:
+ query=(db.image.id==real_image.id)
+ db(query).delete()
+ redirect(URL(r=request, f='index'))
+
+
+def download():
+ return response.download(request, db)
diff --git a/controllers/default.py.1 b/controllers/default.py.1
new file mode 100644
index 0000000..dd10347
--- /dev/null
+++ b/controllers/default.py.1
@@ -0,0 +1,36 @@
+import os
+
+def index():
+ if len(request.args):
+ records = db(db.comment.image_id==request.args[0]).select()
+ if len(request.args) and len(records):
+ form = SQLFORM(db.comment, records[0], deletable=True)
+ else:
+ form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])
+ if form.accepts(request.vars, session):
+ response.flash = 'form accepted'
+ session.file = form.vars.file
+ redirect(URL(r=request, f='jamiesprogram'))
+ elif form.errors:
+ response.flash = 'form has errors'
+ return dict(form=form)
+
+def jamiesprogram():
+ images = db().select(db.comment.ALL)
+ for row in images:
+ db.comment.insert(file=os.system('python applications/turtle_art_images/modules/PngGenerator.py '+URL(request.application,'default','download',args=row.file)))
+ return dict()
+
+def imagelist():
+ comments = db().select(db.comment.ALL)
+ return dict(comments=comments)
+
+def adminpage():
+ db.comment.truncate()
+ redirect('index.html')
+
+def imagetemplate():
+ return dict()
+
+def download():
+ return response.download(request, db)
diff --git a/controllers/default.py.bak b/controllers/default.py.bak
new file mode 100644
index 0000000..d843133
--- /dev/null
+++ b/controllers/default.py.bak
@@ -0,0 +1,30 @@
+import os
+
+def index():
+ form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])
+ if form.accepts(request.vars, session):
+ session.new_image = form.vars.file
+ session.new_image_title = form.vars.title
+ redirect(URL(r=request, f='jamiesprogram'))
+ return dict(form=form)
+
+def jamiesprogram():
+ file_name_length = len(session.new_image)
+ os.system('python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/'+session.new_image)
+ db(db.comment.title==session.new_image_title).update(newimage ='applications/turtle_art_images/uplodates/%s.png' % session.new_image[:-3])
+ redirect(URL(r=request, f='imagelist'))
+ return dict()
+
+def imagelist():
+ comments = db().select(db.comment.ALL)
+ return dict(comments=comments)
+
+def adminpage():
+ db.comment.truncate()
+ redirect('index.html')
+
+def imagetemplate():
+ return dict()
+
+def download():
+ return response.download(request, db)
diff --git a/cron/crontab b/cron/crontab
new file mode 100644
index 0000000..6ab4ea8
--- /dev/null
+++ b/cron/crontab
@@ -0,0 +1 @@
+#crontab \ No newline at end of file
diff --git a/databases/fb87181b96a99be45f5a23f4277867ce_auth_event.table b/databases/fb87181b96a99be45f5a23f4277867ce_auth_event.table
new file mode 100644
index 0000000..4e39a3a
--- /dev/null
+++ b/databases/fb87181b96a99be45f5a23f4277867ce_auth_event.table
@@ -0,0 +1,26 @@
+(dp1
+S'origin'
+p2
+S'CHAR(512)'
+p3
+sS'client_ip'
+p4
+S'CHAR(512)'
+p5
+sS'user_id'
+p6
+S'REFERENCES auth_user(id) ON DELETE CASCADE'
+p7
+sS'description'
+p8
+S'TEXT'
+p9
+sS'time_stamp'
+p10
+S'TIMESTAMP'
+p11
+sS'id'
+p12
+S'INTEGER PRIMARY KEY AUTOINCREMENT'
+p13
+s. \ No newline at end of file
diff --git a/databases/fb87181b96a99be45f5a23f4277867ce_auth_group.table b/databases/fb87181b96a99be45f5a23f4277867ce_auth_group.table
new file mode 100644
index 0000000..d0f448f
--- /dev/null
+++ b/databases/fb87181b96a99be45f5a23f4277867ce_auth_group.table
@@ -0,0 +1,14 @@
+(dp1
+S'role'
+p2
+S'CHAR(512)'
+p3
+sS'id'
+p4
+S'INTEGER PRIMARY KEY AUTOINCREMENT'
+p5
+sS'description'
+p6
+S'TEXT'
+p7
+s. \ No newline at end of file
diff --git a/databases/fb87181b96a99be45f5a23f4277867ce_auth_membership.table b/databases/fb87181b96a99be45f5a23f4277867ce_auth_membership.table
new file mode 100644
index 0000000..c7ebb10
--- /dev/null
+++ b/databases/fb87181b96a99be45f5a23f4277867ce_auth_membership.table
@@ -0,0 +1,14 @@
+(dp1
+S'group_id'
+p2
+S'REFERENCES auth_group(id) ON DELETE CASCADE'
+p3
+sS'user_id'
+p4
+S'REFERENCES auth_user(id) ON DELETE CASCADE'
+p5
+sS'id'
+p6
+S'INTEGER PRIMARY KEY AUTOINCREMENT'
+p7
+s. \ No newline at end of file
diff --git a/databases/fb87181b96a99be45f5a23f4277867ce_auth_permission.table b/databases/fb87181b96a99be45f5a23f4277867ce_auth_permission.table
new file mode 100644
index 0000000..c9791b0
--- /dev/null
+++ b/databases/fb87181b96a99be45f5a23f4277867ce_auth_permission.table
@@ -0,0 +1,22 @@
+(dp1
+S'record_id'
+p2
+S'INTEGER'
+p3
+sS'group_id'
+p4
+S'REFERENCES auth_group(id) ON DELETE CASCADE'
+p5
+sS'table_name'
+p6
+S'CHAR(512)'
+p7
+sS'id'
+p8
+S'INTEGER PRIMARY KEY AUTOINCREMENT'
+p9
+sS'name'
+p10
+S'CHAR(512)'
+p11
+s. \ No newline at end of file
diff --git a/databases/fb87181b96a99be45f5a23f4277867ce_auth_user.table b/databases/fb87181b96a99be45f5a23f4277867ce_auth_user.table
new file mode 100644
index 0000000..a01e993
--- /dev/null
+++ b/databases/fb87181b96a99be45f5a23f4277867ce_auth_user.table
@@ -0,0 +1,22 @@
+(dp1
+S'username'
+p2
+S'CHAR(128) UNIQUE'
+p3
+sS'password'
+p4
+S'CHAR(256)'
+p5
+sS'registration_key'
+p6
+S'CHAR(128)'
+p7
+sS'id'
+p8
+S'INTEGER PRIMARY KEY AUTOINCREMENT'
+p9
+sS'email'
+p10
+S'CHAR(128) UNIQUE'
+p11
+s. \ No newline at end of file
diff --git a/databases/fb87181b96a99be45f5a23f4277867ce_comment.table b/databases/fb87181b96a99be45f5a23f4277867ce_comment.table
new file mode 100644
index 0000000..9ed83e8
--- /dev/null
+++ b/databases/fb87181b96a99be45f5a23f4277867ce_comment.table
@@ -0,0 +1,18 @@
+(dp1
+S'body'
+p2
+S'TEXT'
+p3
+sS'image_id'
+p4
+S'REFERENCES image(id) ON DELETE CASCADE'
+p5
+sS'id'
+p6
+S'INTEGER PRIMARY KEY AUTOINCREMENT'
+p7
+sS'author'
+p8
+S'CHAR(512)'
+p9
+s. \ No newline at end of file
diff --git a/databases/fb87181b96a99be45f5a23f4277867ce_image.table b/databases/fb87181b96a99be45f5a23f4277867ce_image.table
new file mode 100644
index 0000000..07353ec
--- /dev/null
+++ b/databases/fb87181b96a99be45f5a23f4277867ce_image.table
@@ -0,0 +1,34 @@
+(dp1
+S'description'
+p2
+S'TEXT'
+p3
+sS'creator'
+p4
+S'CHAR(512)'
+p5
+sS'views'
+p6
+S'CHAR(512)'
+p7
+sS'title'
+p8
+S'CHAR(512)'
+p9
+sS'image_id'
+p10
+S'CHAR(512)'
+p11
+sS'file'
+p12
+S'CHAR(512)'
+p13
+sS'newimage'
+p14
+S'CHAR(512)'
+p15
+sS'id'
+p16
+S'INTEGER PRIMARY KEY AUTOINCREMENT'
+p17
+s. \ No newline at end of file
diff --git a/databases/sql.log b/databases/sql.log
new file mode 100644
index 0000000..7a8e599
--- /dev/null
+++ b/databases/sql.log
@@ -0,0 +1,62 @@
+timestamp: 2010-07-08T16:17:34.182357
+CREATE TABLE image(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ file CHAR(512),
+ title CHAR(512),
+ image_id CHAR(512),
+ creator CHAR(512),
+ description TEXT,
+ views CHAR(512),
+ newimage CHAR(512)
+);
+success!
+timestamp: 2010-07-08T16:17:34.305771
+CREATE TABLE comment(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ image_id REFERENCES image(id) ON DELETE CASCADE,
+ author CHAR(512),
+ body TEXT
+);
+success!
+timestamp: 2010-07-08T16:17:34.388196
+CREATE TABLE auth_user(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ username CHAR(128) UNIQUE,
+ email CHAR(128) UNIQUE,
+ password CHAR(256),
+ registration_key CHAR(128)
+);
+success!
+timestamp: 2010-07-08T16:17:34.496921
+CREATE TABLE auth_group(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ role CHAR(512),
+ description TEXT
+);
+success!
+timestamp: 2010-07-08T16:17:34.600049
+CREATE TABLE auth_membership(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ user_id REFERENCES auth_user(id) ON DELETE CASCADE,
+ group_id REFERENCES auth_group(id) ON DELETE CASCADE
+);
+success!
+timestamp: 2010-07-08T16:17:34.678659
+CREATE TABLE auth_permission(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ group_id REFERENCES auth_group(id) ON DELETE CASCADE,
+ name CHAR(512),
+ table_name CHAR(512),
+ record_id INTEGER
+);
+success!
+timestamp: 2010-07-08T16:17:34.767754
+CREATE TABLE auth_event(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ time_stamp TIMESTAMP,
+ client_ip CHAR(512),
+ user_id REFERENCES auth_user(id) ON DELETE CASCADE,
+ origin CHAR(512),
+ description TEXT
+);
+success!
diff --git a/databases/storage.db b/databases/storage.db
new file mode 100644
index 0000000..c84e34a
--- /dev/null
+++ b/databases/storage.db
Binary files differ
diff --git a/errors/127.0.0.1.2010-06-08.10-29-30.a9dded01-6c75-4d19-9761-5e346879dac4 b/errors/127.0.0.1.2010-06-08.10-29-30.a9dded01-6c75-4d19-9761-5e346879dac4
new file mode 100644
index 0000000..605a19a
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.10-29-30.a9dded01-6c75-4d19-9761-5e346879dac4
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='submitted')\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='submitted')\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 8\n else:\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.10-30-57.0df069ba-69cd-4836-b262-d857b1071262 b/errors/127.0.0.1.2010-06-08.10-30-57.0df069ba-69cd-4836-b262-d857b1071262
new file mode 100644
index 0000000..59b0a83
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.10-30-57.0df069ba-69cd-4836-b262-d857b1071262
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/jamiesprogram.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n <li><a href="imagelist.html" >Images</a></li>\\n <li><a href="jamiesprogram.html">JamiesProgram</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\n\',escape=False)\nresponse.write(form)\nresponse.write(\'\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/jamiesprogram.html", line 2, in <module>\n {{=form}}\nNameError: name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.10-48-56.81e53335-045e-467e-a12d-293847e8a598 b/errors/127.0.0.1.2010-06-08.10-48-56.81e53335-045e-467e-a12d-293847e8a598
new file mode 100644
index 0000000..ba65087
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.10-48-56.81e53335-045e-467e-a12d-293847e8a598
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/models/db.py'
+p4
+sS'code'
+p5
+S'db = DAL("sqlite://storage.db")\n\ndb.define_table(\'comment\',\n Field(\'file\', \'upload\', requires=IS_NOT_EMPTY(), IS_UPLOAD_FILENAME(extension=\'ta\')),\n Field(\'title\', requires=[IS_NOT_EMPTY(), IS_NOT_IN_DB(db, \'comment.title\')]),\n Field(\'image_id\'),\n Field(\'creator\', requires=IS_NOT_EMPTY()),\n Field(\'description\', \'text\'))\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/models/db.py", line 4\n Field(\'file\', \'upload\', requires=IS_NOT_EMPTY(), IS_UPLOAD_FILENAME(extension=\'ta\')),\nSyntaxError: non-keyword arg after keyword arg\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.11-22-35.7f7de9ca-aa01-4bcc-b220-19645284efab b/errors/127.0.0.1.2010-06-08.11-22-35.7f7de9ca-aa01-4bcc-b220-19645284efab
new file mode 100644
index 0000000..da99f8e
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.11-22-35.7f7de9ca-aa01-4bcc-b220-19645284efab
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='jamiesprogram'))\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='jamiesprogram'))\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator ' + db.comment.file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 34, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17, in jamiesprogram\n os.system(\'python PngGenerator \' + db.comment.file)\nTypeError: cannot concatenate \'str\' and \'Field\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.11-28-40.04741190-0b12-44e0-b35a-3a90d45bf99d b/errors/127.0.0.1.2010-06-08.11-28-40.04741190-0b12-44e0-b35a-3a90d45bf99d
new file mode 100644
index 0000000..6d413aa
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.11-28-40.04741190-0b12-44e0-b35a-3a90d45bf99d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='jamiesprogram'))\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='jamiesprogram'))\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator URL(request.application,'default','download',args=db.comment.title'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17\n os.system(\'python PngGenerator URL(request.application,\'default\',\'download\',args=db.comment.title\'))\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.11-29-11.c5b311da-e66b-462d-a2e0-c93d522b4d54 b/errors/127.0.0.1.2010-06-08.11-29-11.c5b311da-e66b-462d-a2e0-c93d522b4d54
new file mode 100644
index 0000000..2bdeaa2
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.11-29-11.c5b311da-e66b-462d-a2e0-c93d522b4d54
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='jamiesprogram'))\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='jamiesprogram'))\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator ' + URL(request.application,'default','download',args=db.comment.title'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17\n os.system(\'python PngGenerator \' + URL(request.application,\'default\',\'download\',args=db.comment.title\'))\n ^\nSyntaxError: EOL while scanning string literal\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.11-37-10.e61d028b-9f3b-4663-890c-0fd6f63402b1 b/errors/127.0.0.1.2010-06-08.11-37-10.e61d028b-9f3b-4663-890c-0fd6f63402b1
new file mode 100644
index 0000000..bec9a01
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.11-37-10.e61d028b-9f3b-4663-890c-0fd6f63402b1
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='jamiesprogram'))\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='jamiesprogram'))\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator ' + URL(request.application,'default','download',args=db.comment.title))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n remove(applications.turtle_art_image.uploads)\n mkdir(applications.turtle_art_image.uploads)\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(adminpage)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 36, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 26, in adminpage\n remove(applications.turtle_art_image.uploads)\nNameError: global name \'remove\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.11-38-54.6768324a-18a4-48f1-a02f-5c8e9f6e2ffa b/errors/127.0.0.1.2010-06-08.11-38-54.6768324a-18a4-48f1-a02f-5c8e9f6e2ffa
new file mode 100644
index 0000000..41d22c6
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.11-38-54.6768324a-18a4-48f1-a02f-5c8e9f6e2ffa
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='jamiesprogram'))\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='jamiesprogram'))\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator ' + URL(request.application,'default','download',args=db.comment.title))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n os.remove(applications.turtle_art_image.uploads)\n os.mkdir(applications.turtle_art_image.uploads)\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(adminpage)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 36, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 26, in adminpage\n os.remove(applications.turtle_art_image.uploads)\nNameError: global name \'applications\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.11-42-41.d4d22c6d-150e-440c-a8b7-51dcf0e3cb24 b/errors/127.0.0.1.2010-06-08.11-42-41.d4d22c6d-150e-440c-a8b7-51dcf0e3cb24
new file mode 100644
index 0000000..78a899d
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.11-42-41.d4d22c6d-150e-440c-a8b7-51dcf0e3cb24
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='jamiesprogram'))\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='jamiesprogram'))\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator ' + URL(request.application,'default','download',args=db.comment.title))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n os.remove(../uploads)\n os.mkdir(/uploads)\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 26\n os.remove(../uploads)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.11-42-58.4c2324a1-10fe-40e4-859c-783d9aceeaf5 b/errors/127.0.0.1.2010-06-08.11-42-58.4c2324a1-10fe-40e4-859c-783d9aceeaf5
new file mode 100644
index 0000000..104f33c
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.11-42-58.4c2324a1-10fe-40e4-859c-783d9aceeaf5
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True, linkto=URL(r=request, f='jamiesprogram'))\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'], linkto=URL(r=request, f='jamiesprogram'))\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator ' + URL(request.application,'default','download',args=db.comment.title))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n os.remove(/../uploads)\n os.mkdir(/uploads)\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 26\n os.remove(/../uploads)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.12-10-33.378c03b1-be2d-4d54-8e03-7edec5219851 b/errors/127.0.0.1.2010-06-08.12-10-33.378c03b1-be2d-4d54-8e03-7edec5219851
new file mode 100644
index 0000000..533d3dd
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.12-10-33.378c03b1-be2d-4d54-8e03-7edec5219851
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n <li><a href="imagelist.html" >Images</a></li>\\n <li><a href="jamiesprogram.html">JamiesProgram</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\n<form action="jamiesprogram">\\n\',escape=False)\nresponse.write(form)\nresponse.write(\'\\n</form>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/index.html", line 2, in <module>\n <form action="jamiesprogram">\nNameError: name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.12-18-45.0ea0d17c-5fac-4a31-944d-39b71dce7cd6 b/errors/127.0.0.1.2010-06-08.12-18-45.0ea0d17c-5fac-4a31-944d-39b71dce7cd6
new file mode 100644
index 0000000..bb6a74e
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.12-18-45.0ea0d17c-5fac-4a31-944d-39b71dce7cd6
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n form = SQLFORM(db.comment, \n return dict()\n\ndef submit():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(submit)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 5\n return dict()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.12-39-37.69eebaf7-05e8-4972-a066-978858eae420 b/errors/127.0.0.1.2010-06-08.12-39-37.69eebaf7-05e8-4972-a066-978858eae420
new file mode 100644
index 0000000..e89a07d
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.12-39-37.69eebaf7-05e8-4972-a066-978858eae420
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+form.vars.file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 34, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17, in jamiesprogram\n os.system(\'python PngGenerator \'+form.vars.file)\nNameError: global name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.13-19-46.0608226e-8fe4-4648-8243-979753e1906e b/errors/127.0.0.1.2010-06-08.13-19-46.0608226e-8fe4-4648-8243-979753e1906e
new file mode 100644
index 0000000..e89a07d
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.13-19-46.0608226e-8fe4-4648-8243-979753e1906e
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+form.vars.file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 34, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17, in jamiesprogram\n os.system(\'python PngGenerator \'+form.vars.file)\nNameError: global name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.13-21-08.684ba333-a4e9-4d32-9862-ad634800041a b/errors/127.0.0.1.2010-06-08.13-21-08.684ba333-a4e9-4d32-9862-ad634800041a
new file mode 100644
index 0000000..e865b29
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.13-21-08.684ba333-a4e9-4d32-9862-ad634800041a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n session.image_file = form.vars.file\n os.system('python PngGenerator '+session.image_file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 35, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17, in jamiesprogram\n session.image_file = form.vars.file\nNameError: global name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.13-41-00.b4927283-c878-4114-931b-c76a4b8ac828 b/errors/127.0.0.1.2010-06-08.13-41-00.b4927283-c878-4114-931b-c76a4b8ac828
new file mode 100644
index 0000000..e865b29
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.13-41-00.b4927283-c878-4114-931b-c76a4b8ac828
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n session.image_file = form.vars.file\n os.system('python PngGenerator '+session.image_file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 35, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17, in jamiesprogram\n session.image_file = form.vars.file\nNameError: global name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.13-46-53.0715089b-3ec0-48dc-89c2-c2dd55033836 b/errors/127.0.0.1.2010-06-08.13-46-53.0715089b-3ec0-48dc-89c2-c2dd55033836
new file mode 100644
index 0000000..e865b29
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.13-46-53.0715089b-3ec0-48dc-89c2-c2dd55033836
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n session.image_file = form.vars.file\n os.system('python PngGenerator '+session.image_file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 35, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17, in jamiesprogram\n session.image_file = form.vars.file\nNameError: global name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-01-13.44e230ac-6a33-4cbe-9048-629acfb4407a b/errors/127.0.0.1.2010-06-08.14-01-13.44e230ac-6a33-4cbe-9048-629acfb4407a
new file mode 100644
index 0000000..e865b29
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-01-13.44e230ac-6a33-4cbe-9048-629acfb4407a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n session.image_file = form.vars.file\n os.system('python PngGenerator '+session.image_file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 35, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 17, in jamiesprogram\n session.image_file = form.vars.file\nNameError: global name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-38-37.9c9a0779-9984-48c3-a397-42363f2107c6 b/errors/127.0.0.1.2010-06-08.14-38-37.9c9a0779-9984-48c3-a397-42363f2107c6
new file mode 100644
index 0000000..38a5403
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-38-37.9c9a0779-9984-48c3-a397-42363f2107c6
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator +'URL(request.application,'default','download',args=row.file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 23\n os.system(\'python PngGenerator +\'URL(request.application,\'default\',\'download\',args=row.file)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-39-04.18bd17ab-b51e-4246-9216-a0bde332a660 b/errors/127.0.0.1.2010-06-08.14-39-04.18bd17ab-b51e-4246-9216-a0bde332a660
new file mode 100644
index 0000000..e463b46
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-39-04.18bd17ab-b51e-4246-9216-a0bde332a660
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=row.file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 24\n return dict()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-39-34.bf860900-564c-476e-8324-3bb546251a85 b/errors/127.0.0.1.2010-06-08.14-39-34.bf860900-564c-476e-8324-3bb546251a85
new file mode 100644
index 0000000..5f37a7e
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-39-34.bf860900-564c-476e-8324-3bb546251a85
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=row.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 23, in jamiesprogram\n os.system(\'python PngGenerator \'+URL(request.application,\'default\',\'download\',args=row.file))\nNameError: global name \'row\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-40-08.6c1d47a6-7ece-40ac-8d1e-4dce7531e85a b/errors/127.0.0.1.2010-06-08.14-40-08.6c1d47a6-7ece-40ac-8d1e-4dce7531e85a
new file mode 100644
index 0000000..a0a0aba
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-40-08.6c1d47a6-7ece-40ac-8d1e-4dce7531e85a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 23, in jamiesprogram\n os.system(\'python PngGenerator \'+URL(request.application,\'default\',\'download\',args=comment.file))\nNameError: global name \'comment\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-52-32.17d9ae99-22fc-493e-a070-d8ab68d2e1b4 b/errors/127.0.0.1.2010-06-08.14-52-32.17d9ae99-22fc-493e-a070-d8ab68d2e1b4
new file mode 100644
index 0000000..417e1c3
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-52-32.17d9ae99-22fc-493e-a070-d8ab68d2e1b4
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 38, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.a0770985fc7c7edf.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-52-32.4829b99b-c00c-4f95-b5fb-749e352eac5d b/errors/127.0.0.1.2010-06-08.14-52-32.4829b99b-c00c-4f95-b5fb-749e352eac5d
new file mode 100644
index 0000000..6f72779
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-52-32.4829b99b-c00c-4f95-b5fb-749e352eac5d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 38, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.a2808727c73b30b8.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-52-32.7e58f9bb-af77-4293-ac31-7360885d12c2 b/errors/127.0.0.1.2010-06-08.14-52-32.7e58f9bb-af77-4293-ac31-7360885d12c2
new file mode 100644
index 0000000..ffaa5a6
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-52-32.7e58f9bb-af77-4293-ac31-7360885d12c2
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 38, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.af4e1bfe942c4acc.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-52-32.fbbfe1e5-7294-434b-8780-13fc5708da62 b/errors/127.0.0.1.2010-06-08.14-52-32.fbbfe1e5-7294-434b-8780-13fc5708da62
new file mode 100644
index 0000000..500ed0d
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-52-32.fbbfe1e5-7294-434b-8780-13fc5708da62
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 38, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.9d827481c4bcf49c.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-09.32b1c1bc-bd65-4eb5-a177-f19d418bb393 b/errors/127.0.0.1.2010-06-08.14-54-09.32b1c1bc-bd65-4eb5-a177-f19d418bb393
new file mode 100644
index 0000000..0478526
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-09.32b1c1bc-bd65-4eb5-a177-f19d418bb393
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.a2808727c73b30b8.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-09.9693a11a-6863-4021-b6c7-a461052d36d3 b/errors/127.0.0.1.2010-06-08.14-54-09.9693a11a-6863-4021-b6c7-a461052d36d3
new file mode 100644
index 0000000..3afe93f
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-09.9693a11a-6863-4021-b6c7-a461052d36d3
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.af4e1bfe942c4acc.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-09.b1346402-5514-4402-ac35-9bdc86f69f9a b/errors/127.0.0.1.2010-06-08.14-54-09.b1346402-5514-4402-ac35-9bdc86f69f9a
new file mode 100644
index 0000000..b0424f8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-09.b1346402-5514-4402-ac35-9bdc86f69f9a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.a0770985fc7c7edf.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-09.fc7cfcd7-8422-4ddf-9a41-4729502c16c6 b/errors/127.0.0.1.2010-06-08.14-54-09.fc7cfcd7-8422-4ddf-9a41-4729502c16c6
new file mode 100644
index 0000000..e9099b0
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-09.fc7cfcd7-8422-4ddf-9a41-4729502c16c6
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.9d827481c4bcf49c.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-43.35e8817b-e95f-44f0-b402-0f9f4e80d716 b/errors/127.0.0.1.2010-06-08.14-54-43.35e8817b-e95f-44f0-b402-0f9f4e80d716
new file mode 100644
index 0000000..3afe93f
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-43.35e8817b-e95f-44f0-b402-0f9f4e80d716
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.af4e1bfe942c4acc.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-43.42d59d33-f2e7-4989-9fb8-2db49afc4b4d b/errors/127.0.0.1.2010-06-08.14-54-43.42d59d33-f2e7-4989-9fb8-2db49afc4b4d
new file mode 100644
index 0000000..e9099b0
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-43.42d59d33-f2e7-4989-9fb8-2db49afc4b4d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.9d827481c4bcf49c.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-43.7889853c-d2a9-4abc-a658-94b9fb62c32f b/errors/127.0.0.1.2010-06-08.14-54-43.7889853c-d2a9-4abc-a658-94b9fb62c32f
new file mode 100644
index 0000000..b0424f8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-43.7889853c-d2a9-4abc-a658-94b9fb62c32f
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.a0770985fc7c7edf.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-08.14-54-43.dc7a1d48-777d-4fe9-9cea-e9eb4826b322 b/errors/127.0.0.1.2010-06-08.14-54-43.dc7a1d48-777d-4fe9-9cea-e9eb4826b322
new file mode 100644
index 0000000..0478526
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-08.14-54-43.dc7a1d48-777d-4fe9-9cea-e9eb4826b322
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n else:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 39, in download\n return response.download(request, db)\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 2731, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/acrowe/lib/python/web2py/applications/turtle_art_images/databases/../uploads/comment.file.a2808727c73b30b8.747572746c65617274746573742e7461.ta\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.09-39-19.f1920252-2cc7-4ee4-8bd8-bd86c024f527 b/errors/127.0.0.1.2010-06-09.09-39-19.f1920252-2cc7-4ee4-8bd8-bd86c024f527
new file mode 100644
index 0000000..96e26c1
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.09-39-19.f1920252-2cc7-4ee4-8bd8-bd86c024f527
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n elif session.converting == False:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form, session.converting = True)\n else:\n redirect('testpage.html')\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 21\n return dict(form=form, session.converting = True)\nSyntaxError: keyword can\'t be an expression\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.09-44-11.e4847df3-f891-411e-8531-0c1cd43dc420 b/errors/127.0.0.1.2010-06-09.09-44-11.e4847df3-f891-411e-8531-0c1cd43dc420
new file mode 100644
index 0000000..c6102db
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.09-44-11.e4847df3-f891-411e-8531-0c1cd43dc420
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n elif session.converting == False:\n for row in newta:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=row.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n else:\n redirect('testpage.html')\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 45, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 9, in index\n for row in newta:\nUnboundLocalError: local variable \'newta\' referenced before assignment\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.10-57-47.367a5bd2-636b-4bf0-a867-566eded35d93 b/errors/127.0.0.1.2010-06-09.10-57-47.367a5bd2-636b-4bf0-a867-566eded35d93
new file mode 100644
index 0000000..dbbbd79
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.10-57-47.367a5bd2-636b-4bf0-a867-566eded35d93
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.testmodul\n\nsession.converting = False\n\ndef index():\n if session.converting == True:\n redirect('jamiesprogram.html')\n elif session.converting == False:\n newta = db().select(db.comment.ALL)\n for row in newta:\n os.system('python PngGenerator '+URL(request.application,'default','download',args=row.file))\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n else:\n redirect('testpage.html')\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 2, in <module>\n import applications.turtle_art_images.modules.testmodul\nImportError: No module named testmodul\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-00-01.e8028dc9-ce76-4952-a24f-a329e09025e2 b/errors/127.0.0.1.2010-06-09.11-00-01.e8028dc9-ce76-4952-a24f-a329e09025e2
new file mode 100644
index 0000000..b24d2f0
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-00-01.e8028dc9-ce76-4952-a24f-a329e09025e2
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\nsession.converting = False\n\ndef index():\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n else:\n redirect('testpage.html')\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 21\n else:\n ^\nIndentationError: unindent does not match any outer indentation level\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-00-27.cc34298b-82b1-42da-a5b6-9686f7352493 b/errors/127.0.0.1.2010-06-09.11-00-27.cc34298b-82b1-42da-a5b6-9686f7352493
new file mode 100644
index 0000000..0bef9c8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-00-27.cc34298b-82b1-42da-a5b6-9686f7352493
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\nsession.converting = False\n\ndef index():\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n PngGenerator.TurtleMain(db.comment.file)\nNameError: global name \'PngGenerator\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-01-59.86cc9dce-a4d0-4d3c-a6e2-d9723ef415cd b/errors/127.0.0.1.2010-06-09.11-01-59.86cc9dce-a4d0-4d3c-a6e2-d9723ef415cd
new file mode 100644
index 0000000..6d5e20b
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-01-59.86cc9dce-a4d0-4d3c-a6e2-d9723ef415cd
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\nsession.converting = False\n\ndef index():\n import applications.turtle_art_images.modules.PngGenerator\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 8, in index\n PngGenerator.TurtleMain(db.comment.file)\nNameError: global name \'PngGenerator\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-06-55.3799546a-1dff-48ec-a692-463214db9a57 b/errors/127.0.0.1.2010-06-09.11-06-55.3799546a-1dff-48ec-a692-463214db9a57
new file mode 100644
index 0000000..5002877
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-06-55.3799546a-1dff-48ec-a692-463214db9a57
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport PngGenerator\n\nsession.converting = False\n\ndef index():\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 2, in <module>\n import PngGenerator\nImportError: No module named PngGenerator\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-07-31.e9849899-c980-4b99-978b-7e4f9d1789ae b/errors/127.0.0.1.2010-06-09.11-07-31.e9849899-c980-4b99-978b-7e4f9d1789ae
new file mode 100644
index 0000000..5002877
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-07-31.e9849899-c980-4b99-978b-7e4f9d1789ae
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport PngGenerator\n\nsession.converting = False\n\ndef index():\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 2, in <module>\n import PngGenerator\nImportError: No module named PngGenerator\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-13-47.7b3410b2-81ca-4139-a61f-bcdd854d8cc9 b/errors/127.0.0.1.2010-06-09.11-13-47.7b3410b2-81ca-4139-a61f-bcdd854d8cc9
new file mode 100644
index 0000000..0bef9c8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-13-47.7b3410b2-81ca-4139-a61f-bcdd854d8cc9
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\nsession.converting = False\n\ndef index():\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n PngGenerator.TurtleMain(db.comment.file)\nNameError: global name \'PngGenerator\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-18-17.022ce195-a519-4702-a51a-319bffbefe5d b/errors/127.0.0.1.2010-06-09.11-18-17.022ce195-a519-4702-a51a-319bffbefe5d
new file mode 100644
index 0000000..0bef9c8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-18-17.022ce195-a519-4702-a51a-319bffbefe5d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\nsession.converting = False\n\ndef index():\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n PngGenerator.TurtleMain(db.comment.file)\nNameError: global name \'PngGenerator\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-18-55.8a80bce6-882e-4316-a22a-2dbdf30350ce b/errors/127.0.0.1.2010-06-09.11-18-55.8a80bce6-882e-4316-a22a-2dbdf30350ce
new file mode 100644
index 0000000..5ab42ae
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-18-55.8a80bce6-882e-4316-a22a-2dbdf30350ce
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n import applications.turtle_art_images.modules.PngGenerator\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n PngGenerator.TurtleMain(db.comment.file)\nNameError: global name \'PngGenerator\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-19-58.6b69840e-d0f0-458c-b963-9b84849cffaa b/errors/127.0.0.1.2010-06-09.11-19-58.6b69840e-d0f0-458c-b963-9b84849cffaa
new file mode 100644
index 0000000..5ab42ae
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-19-58.6b69840e-d0f0-458c-b963-9b84849cffaa
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n import applications.turtle_art_images.modules.PngGenerator\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n PngGenerator.TurtleMain(db.comment.file)\nNameError: global name \'PngGenerator\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-20-20.7e0e0756-5441-4605-bb18-36e029e08598 b/errors/127.0.0.1.2010-06-09.11-20-20.7e0e0756-5441-4605-bb18-36e029e08598
new file mode 100644
index 0000000..18f70be
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-20-20.7e0e0756-5441-4605-bb18-36e029e08598
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n import applications.turtle_art_images.modules.PngGenerato\n PngGenerator.TurtleMain(db.comment.file)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n import applications.turtle_art_images.modules.PngGenerato\nImportError: No module named PngGenerato\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-21-54.374a4d2f-c9d2-4b09-bd30-9261e01049dd b/errors/127.0.0.1.2010-06-09.11-21-54.374a4d2f-c9d2-4b09-bd30-9261e01049dd
new file mode 100644
index 0000000..baa9d2f
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-21-54.374a4d2f-c9d2-4b09-bd30-9261e01049dd
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n import applications.turtle_art_images.modules.testmodule\n testmodule.testfunc(25)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n testmodule.testfunc(25)\nNameError: global name \'testmodule\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-22-41.c435fc7a-38e0-4828-a06e-621f94db7bb0 b/errors/127.0.0.1.2010-06-09.11-22-41.c435fc7a-38e0-4828-a06e-621f94db7bb0
new file mode 100644
index 0000000..f229823
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-22-41.c435fc7a-38e0-4828-a06e-621f94db7bb0
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\nsession.converting = False\n\ndef index():\n from applications.turtle_art_images.modules.testmodule import testfunc\n testmodule.testfunc(25)\n session.converting = True\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n newta = db().select(db.comment.ALL)\n return dict(form=form, newta=newta)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 40, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n testmodule.testfunc(25)\nNameError: global name \'testmodule\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-29-17.b89909c8-0381-4505-a74c-7f2ea463edee b/errors/127.0.0.1.2010-06-09.11-29-17.b89909c8-0381-4505-a74c-7f2ea463edee
new file mode 100644
index 0000000..82e23ff
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-29-17.b89909c8-0381-4505-a74c-7f2ea463edee
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain.__init__(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n TurtleMain.__init__(newta)\nNameError: global name \'TurtleMain\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-29-43.e213d434-5001-4a9e-a320-b5aca5f2150d b/errors/127.0.0.1.2010-06-09.11-29-43.e213d434-5001-4a9e-a320-b5aca5f2150d
new file mode 100644
index 0000000..5834e08
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-29-43.e213d434-5001-4a9e-a320-b5aca5f2150d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\ndef index():\n import applications.turtle_art_images.modules.PngGenerator\n newta = db().select(db.comment.file)\n TurtleMain.__init__(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 38, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 7, in index\n TurtleMain.__init__(newta)\nNameError: global name \'TurtleMain\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-30-16.7016b708-8872-4d47-ac2a-001279d39eea b/errors/127.0.0.1.2010-06-09.11-30-16.7016b708-8872-4d47-ac2a-001279d39eea
new file mode 100644
index 0000000..7c3f425
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-30-16.7016b708-8872-4d47-ac2a-001279d39eea
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain.__init__(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 2\n from applications.turtle_art_images.modules.PngGenerator TurtleMain\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-30-35.d947a73d-b877-4b24-a659-a771d3fe3322 b/errors/127.0.0.1.2010-06-09.11-30-35.d947a73d-b877-4b24-a659-a771d3fe3322
new file mode 100644
index 0000000..52d3e6c
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-30-35.d947a73d-b877-4b24-a659-a771d3fe3322
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator import TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain.__init__(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n TurtleMain.__init__(newta)\nTypeError: unbound method __init__() must be called with TurtleMain instance as first argument (got Rows instance instead)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-30-57.72a62a7d-7aee-495d-be99-2a51ddb80709 b/errors/127.0.0.1.2010-06-09.11-30-57.72a62a7d-7aee-495d-be99-2a51ddb80709
new file mode 100644
index 0000000..52d3e6c
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-30-57.72a62a7d-7aee-495d-be99-2a51ddb80709
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator import TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain.__init__(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n TurtleMain.__init__(newta)\nTypeError: unbound method __init__() must be called with TurtleMain instance as first argument (got Rows instance instead)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-31-48.fbb0f6e6-2022-4bb1-82a2-4239c36482e2 b/errors/127.0.0.1.2010-06-09.11-31-48.fbb0f6e6-2022-4bb1-82a2-4239c36482e2
new file mode 100644
index 0000000..02b4719
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-31-48.fbb0f6e6-2022-4bb1-82a2-4239c36482e2
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator import TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n __init__.TurtleMain(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n __init__.TurtleMain(newta)\nNameError: global name \'__init__\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-32-13.2722bf60-e500-4ed5-9300-22246adfb092 b/errors/127.0.0.1.2010-06-09.11-32-13.2722bf60-e500-4ed5-9300-22246adfb092
new file mode 100644
index 0000000..0708bc8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-32-13.2722bf60-e500-4ed5-9300-22246adfb092
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator import TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n TurtleMain(newta)\nTypeError: __init__() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-41-18.fa10d0e9-b72c-47fa-bb1c-a1fe91aa54a8 b/errors/127.0.0.1.2010-06-09.11-41-18.fa10d0e9-b72c-47fa-bb1c-a1fe91aa54a8
new file mode 100644
index 0000000..0708bc8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-41-18.fa10d0e9-b72c-47fa-bb1c-a1fe91aa54a8
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator import TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain(newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n TurtleMain(newta)\nTypeError: __init__() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-41-50.cfb87704-4b12-4100-9a25-442f7a81ade0 b/errors/127.0.0.1.2010-06-09.11-41-50.cfb87704-4b12-4100-9a25-442f7a81ade0
new file mode 100644
index 0000000..0bfa3d5
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-41-50.cfb87704-4b12-4100-9a25-442f7a81ade0
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator import TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain()\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n TurtleMain()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/modules/PngGenerator.py", line 52, in __init__\n if self.file[-3:] != ".ta": raise Exception("argument is not a TurtleArt file")\nException: argument is not a TurtleArt file\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.11-44-00.64eed127-cbb0-4d03-b3fc-2810a8b851f4 b/errors/127.0.0.1.2010-06-09.11-44-00.64eed127-cbb0-4d03-b3fc-2810a8b851f4
new file mode 100644
index 0000000..0bfa3d5
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.11-44-00.64eed127-cbb0-4d03-b3fc-2810a8b851f4
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nfrom applications.turtle_art_images.modules.PngGenerator import TurtleMain\n\ndef index():\n newta = db().select(db.comment.file)\n TurtleMain()\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 6, in index\n TurtleMain()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/modules/PngGenerator.py", line 52, in __init__\n if self.file[-3:] != ".ta": raise Exception("argument is not a TurtleArt file")\nException: argument is not a TurtleArt file\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.12-53-34.c57d0c83-2086-4213-bfba-1c95d1e17f9a b/errors/127.0.0.1.2010-06-09.12-53-34.c57d0c83-2086-4213-bfba-1c95d1e17f9a
new file mode 100644
index 0000000..ffbaa8a
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.12-53-34.c57d0c83-2086-4213-bfba-1c95d1e17f9a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n newta = db().select(db.comment.file)\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 36, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 5, in index\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py \'+newta)\nTypeError: cannot concatenate \'str\' and \'Rows\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.12-57-57.523a1b10-c75b-48a9-a467-b35d03e750ad b/errors/127.0.0.1.2010-06-09.12-57-57.523a1b10-c75b-48a9-a467-b35d03e750ad
new file mode 100644
index 0000000..33e9e1d
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.12-57-57.523a1b10-c75b-48a9-a467-b35d03e750ad
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n newta = db(db.comment.title == form.vars.title).select()\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 36, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 4, in index\n newta = db(db.comment.title == form.vars.title).select()\nUnboundLocalError: local variable \'form\' referenced before assignment\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.13-00-29.a35d0a75-b764-4ce3-84bf-6573cf631513 b/errors/127.0.0.1.2010-06-09.13-00-29.a35d0a75-b764-4ce3-84bf-6573cf631513
new file mode 100644
index 0000000..757660a
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.13-00-29.a35d0a75-b764-4ce3-84bf-6573cf631513
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n newta = db().select(db.comment.ALL)\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 36, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 5, in index\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py \'+newta)\nTypeError: cannot concatenate \'str\' and \'Rows\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.13-02-52.9fcd3b58-1ce4-4ecb-9cf3-39126f0d04fa b/errors/127.0.0.1.2010-06-09.13-02-52.9fcd3b58-1ce4-4ecb-9cf3-39126f0d04fa
new file mode 100644
index 0000000..1ad8803
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.13-02-52.9fcd3b58-1ce4-4ecb-9cf3-39126f0d04fa
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n newta = URL(request.application,'default','download',args=db.comment[0].file)\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+newta)\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 36, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 4, in index\n newta = URL(request.application,\'default\',\'download\',args=db.comment[0].file)\nAttributeError: \'NoneType\' object has no attribute \'file\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.13-06-38.9e7f1704-78e8-4175-8a3f-eee7e748c22d b/errors/127.0.0.1.2010-06-09.13-06-38.9e7f1704-78e8-4175-8a3f-eee7e748c22d
new file mode 100644
index 0000000..e4cd0f9
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.13-06-38.9e7f1704-78e8-4175-8a3f-eee7e748c22d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n elif form.errors:\n response.flash = 'form has errors'\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+form.vars.file)\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python PngGenerator '+URL(request.application,'default','download',args=db.comment.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 35, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 14, in index\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py \'+form.vars.file)\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.13-13-55.c761e91b-5c7e-4245-ae98-cde4d80925ef b/errors/127.0.0.1.2010-06-09.13-13-55.c761e91b-5c7e-4245-ae98-cde4d80925ef
new file mode 100644
index 0000000..dfc398f
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.13-13-55.c761e91b-5c7e-4245-ae98-cde4d80925ef
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+form.vars.file\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 19\n return dict()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.13-15-14.29d3a726-0567-477c-9457-7be9c2f18837 b/errors/127.0.0.1.2010-06-09.13-15-14.29d3a726-0567-477c-9457-7be9c2f18837
new file mode 100644
index 0000000..4509352
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.13-15-14.29d3a726-0567-477c-9457-7be9c2f18837
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+form.vars.file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 35, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 18, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py \'+form.vars.file)\nNameError: global name \'form\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.13-17-21.ff1cbd51-2ecf-4bc9-b72c-1d48ac500c00 b/errors/127.0.0.1.2010-06-09.13-17-21.ff1cbd51-2ecf-4bc9-b72c-1d48ac500c00
new file mode 100644
index 0000000..dab2a17
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.13-17-21.ff1cbd51-2ecf-4bc9-b72c-1d48ac500c00
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.file = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n os.system('python applications/turtle_art_images/modules/PngGenerator.py '+session.file)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 36, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 19, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py \'+session.file)\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-09.13-26-17.140316fc-2085-4d85-b497-3b50a919a3af b/errors/127.0.0.1.2010-06-09.13-26-17.140316fc-2085-4d85-b497-3b50a919a3af
new file mode 100644
index 0000000..c4406a3
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-09.13-26-17.140316fc-2085-4d85-b497-3b50a919a3af
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.file = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n images = db().select(db.comment.ALL)\n for row in images:\n db.comment.insert(file=os.system('python applications/turtle_art_images/modules/PngGenerator.py '+URL(request.application,'default','download',args=row.file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(adminpage)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 22\n return dict()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.09-29-54.72ad7c1a-7a4b-40ca-b38d-ee7aab8b7973 b/errors/127.0.0.1.2010-06-10.09-29-54.72ad7c1a-7a4b-40ca-b38d-ee7aab8b7973
new file mode 100644
index 0000000..afc1d23
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.09-29-54.72ad7c1a-7a4b-40ca-b38d-ee7aab8b7973
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.image_file = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n db.comment.insert(file=os.system('python applications/turtle_art_images/modules/PngGenerator.py '+session.image_file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 20\n return dict()\n ^\nIndentationError: unindent does not match any outer indentation level\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.09-30-30.036bdcc1-8fda-4d61-9bc1-8dc9c16d25fd b/errors/127.0.0.1.2010-06-10.09-30-30.036bdcc1-8fda-4d61-9bc1-8dc9c16d25fd
new file mode 100644
index 0000000..afc1d23
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.09-30-30.036bdcc1-8fda-4d61-9bc1-8dc9c16d25fd
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.image_file = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n db.comment.insert(file=os.system('python applications/turtle_art_images/modules/PngGenerator.py '+session.image_file))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 20\n return dict()\n ^\nIndentationError: unindent does not match any outer indentation level\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.09-48-22.f4f2819c-2b39-4948-a4e4-b34b79958699 b/errors/127.0.0.1.2010-06-10.09-48-22.f4f2819c-2b39-4948-a4e4-b34b79958699
new file mode 100644
index 0000000..34ff3aa
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.09-48-22.f4f2819c-2b39-4948-a4e4-b34b79958699
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.new_image_id = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.file == URL(request.application,'default','download',args=session.new_image_id).select())\n db.comment.insert(file=os.system('python applications/turtle_art_images/modules/PngGenerator.py '+new_image))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 19, in jamiesprogram\n new_image = db(db.comment.file == URL(request.application,\'default\',\'download\',args=session.new_image_id).select())\nAttributeError: \'str\' object has no attribute \'select\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.09-50-00.eb0ea40d-2bbb-447a-8d53-d4934e636ad8 b/errors/127.0.0.1.2010-06-10.09-50-00.eb0ea40d-2bbb-447a-8d53-d4934e636ad8
new file mode 100644
index 0000000..c59d514
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.09-50-00.eb0ea40d-2bbb-447a-8d53-d4934e636ad8
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.new_image_id = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.file == URL(request.application,'default','download',args=session.new_image_id)).select()\n db.comment.insert(file=os.system('python applications/turtle_art_images/modules/PngGenerator.py '+new_image))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 20, in jamiesprogram\n db.comment.insert(file=os.system(\'python applications/turtle_art_images/modules/PngGenerator.py \'+new_image))\nTypeError: cannot concatenate \'str\' and \'Rows\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.09-53-31.41777e62-1e09-4638-b057-cadf6e483522 b/errors/127.0.0.1.2010-06-10.09-53-31.41777e62-1e09-4638-b057-cadf6e483522
new file mode 100644
index 0000000..d28d174
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.09-53-31.41777e62-1e09-4638-b057-cadf6e483522
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.new_image_id = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.file == URL(request.application,'default','download',args=session.new_image_id)).select()\n os.system('python applications/turtle_art_images/modules/PngGenerator '+new_image)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 20, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator \'+new_image)\nTypeError: cannot concatenate \'str\' and \'Rows\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.09-58-11.37b68ce0-60cf-46cd-996f-8ad0af327f8a b/errors/127.0.0.1.2010-06-10.09-58-11.37b68ce0-60cf-46cd-996f-8ad0af327f8a
new file mode 100644
index 0000000..7f3d9d6
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.09-58-11.37b68ce0-60cf-46cd-996f-8ad0af327f8a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\nimport applications.turtle_art_images.modules.PngGenerator\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.file == URL(request.application,'default','download',args=session.new_image_id)).select()\n os.system('python applications/turtle_art_images/modules/PngGenerator '+new_image)\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 20, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator \'+new_image)\nTypeError: cannot concatenate \'str\' and \'Rows\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.11-24-17.884f9072-4e27-493a-b688-6a164cf84e16 b/errors/127.0.0.1.2010-06-10.11-24-17.884f9072-4e27-493a-b688-6a164cf84e16
new file mode 100644
index 0000000..2dd58e0
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.11-24-17.884f9072-4e27-493a-b688-6a164cf84e16
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.new_image = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.file == URL(request.application,'default','download',args=session.new_image)).select()\n os.system('python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/'+session.new_image')\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 20\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+session.new_image\')\n ^\nSyntaxError: EOL while scanning string literal\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.11-40-09.d2bfa366-2548-41e3-aff7-8a76b66e68ac b/errors/127.0.0.1.2010-06-10.11-40-09.d2bfa366-2548-41e3-aff7-8a76b66e68ac
new file mode 100644
index 0000000..e5c6dd6
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.11-40-09.d2bfa366-2548-41e3-aff7-8a76b66e68ac
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.new_image = form.vars.file\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.file == URL(request.application,'default','download',args=session.new_image)).select()\n db.comment.insert(image=os.system('python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/'+session.new_image))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 37, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 20, in jamiesprogram\n db.comment.insert(image=os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+session.new_image))\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 1929, in insert\n query = self._insert(**fields)\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 1897, in _insert\n % repr(invalid_fieldnames)\nSyntaxError: invalid field names: [\'image\']\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-10.11-41-16.7f7319ff-f582-4f84-b815-dbf08ac2e571 b/errors/127.0.0.1.2010-06-10.11-41-16.7f7319ff-f582-4f84-b815-dbf08ac2e571
new file mode 100644
index 0000000..f3a4042
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-10.11-41-16.7f7319ff-f582-4f84-b815-dbf08ac2e571
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/models/db.py'
+p4
+sS'code'
+p5
+S'db = DAL("sqlite://storage.db")\n\ndb.define_table(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\n Field(\'image_id\'),\n Field(\'creator\', requires=IS_NOT_EMPTY(error_message="You must include your name")),\n Field(\'description\', \'text\')\n Field(\'image\'))\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/models/db.py", line 9\n Field(\'image\'))\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-11.09-29-18.0e1af70f-b279-4891-8c56-e7c1cd44a3c4 b/errors/127.0.0.1.2010-06-11.09-29-18.0e1af70f-b279-4891-8c56-e7c1cd44a3c4
new file mode 100644
index 0000000..1fd7b2a
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-11.09-29-18.0e1af70f-b279-4891-8c56-e7c1cd44a3c4
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.new_image = form.vars.file\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n file_name_length = len(session.new_image)\n print session.new_image\n print file_name_length\n os.system('python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/'+session.new_image)\n db().insert(newimage=os.system('applications/turtle_art_images/uploads/'+session.new_image[0:(file_name_length-2)]+'png'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 41, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 24, in jamiesprogram\n db().insert(newimage=os.system(\'applications/turtle_art_images/uploads/\'+session.new_image[0:(file_name_length-2)]+\'png\'))\nAttributeError: \'Set\' object has no attribute \'insert\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-11.09-30-18.6e3d7c62-d84c-4e2c-a741-fa0f76868404 b/errors/127.0.0.1.2010-06-11.09-30-18.6e3d7c62-d84c-4e2c-a741-fa0f76868404
new file mode 100644
index 0000000..acbf867
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-11.09-30-18.6e3d7c62-d84c-4e2c-a741-fa0f76868404
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n if len(request.args):\n records = db(db.comment.image_id==request.args[0]).select()\n if len(request.args) and len(records):\n form = SQLFORM(db.comment, records[0], deletable=True)\n else:\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n response.flash = 'form accepted'\n session.new_image = form.vars.file\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f='jamiesprogram')) \n elif form.errors:\n response.flash = 'form has errors'\n return dict(form=form)\n\ndef jamiesprogram():\n file_name_length = len(session.new_image)\n print session.new_image\n print file_name_length\n os.system('python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/'+session.new_image)\ndb.comment.insert(newimage=os.system('applications/turtle_art_images/uploads/'+session.new_image[0:(file_name_length-2)]+'png'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 25\n return dict()\n ^\nIndentationError: unexpected indent\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.10-59-23.4caf31af-e05f-4a66-b90c-8fac85ea2797 b/errors/127.0.0.1.2010-06-15.10-59-23.4caf31af-e05f-4a66-b90c-8fac85ea2797
new file mode 100644
index 0000000..1377453
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.10-59-23.4caf31af-e05f-4a66-b90c-8fac85ea2797
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n session.new_image = form.vars.file\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f='jamiesprogram')) \n return dict(form=form)\n\ndef jamiesprogram():\n file_name_length = len(session.new_image)\n os.system('python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/'+session.new_image)\n db(db.comment.title==session.new_image_title).update(newimage ='applications/turtle_art_images/uplodates/%s.png' % session.new_image[:-3])\n redirect(URL(r=request, f='imagelist'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n\ndef imagetemplate():\n session.viewed_image_title = row.title\n return dict()\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(imagetemplate)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 33, in <module>\n File "/home/acrowe/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/controllers/default.py", line 27, in imagetemplate\n session.viewed_image_title = row.title\nNameError: global name \'row\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.11-15-28.930b7138-35c1-45fb-b314-efe69037d65a b/errors/127.0.0.1.2010-06-15.11-15-28.930b7138-35c1-45fb-b314-efe69037d65a
new file mode 100644
index 0000000..337e720
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.11-15-28.930b7138-35c1-45fb-b314-efe69037d65a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n <li><a href="imagelist.html" >Images</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\nviewed_image = db(db.comment.title == request.vars.viewed_image_title).select()\\n<center>\\n<img width="400px"\\n src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=viewed_image))\nresponse.write(\'" />\\n</center>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html", line 2, in <module>\n viewed_image = db(db.comment.title == request.vars.viewed_image_title).select()\nNameError: name \'viewed_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.11-15-40.b3af0fde-4ac3-42f0-9461-726a4d721859 b/errors/127.0.0.1.2010-06-15.11-15-40.b3af0fde-4ac3-42f0-9461-726a4d721859
new file mode 100644
index 0000000..337e720
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.11-15-40.b3af0fde-4ac3-42f0-9461-726a4d721859
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n <li><a href="imagelist.html" >Images</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\nviewed_image = db(db.comment.title == request.vars.viewed_image_title).select()\\n<center>\\n<img width="400px"\\n src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=viewed_image))\nresponse.write(\'" />\\n</center>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html", line 2, in <module>\n viewed_image = db(db.comment.title == request.vars.viewed_image_title).select()\nNameError: name \'viewed_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.11-20-54.9058efe3-8e6d-42a0-ba03-e76397a55cb3 b/errors/127.0.0.1.2010-06-15.11-20-54.9058efe3-8e6d-42a0-ba03-e76397a55cb3
new file mode 100644
index 0000000..115ced4
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.11-20-54.9058efe3-8e6d-42a0-ba03-e76397a55cb3
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n <li><a href="imagelist.html" >Images</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\nviewed_image = db(db.comment.title == session.viewed_image_title).select()\\n<center>\\n<img width="400px"\\n src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=viewed_image))\nresponse.write(\'" />\\n</center>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html", line 2, in <module>\n viewed_image = db(db.comment.title == session.viewed_image_title).select()\nNameError: name \'viewed_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.11-21-03.8189fe78-9ac1-4f8c-95a6-800da6ee74ef b/errors/127.0.0.1.2010-06-15.11-21-03.8189fe78-9ac1-4f8c-95a6-800da6ee74ef
new file mode 100644
index 0000000..115ced4
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.11-21-03.8189fe78-9ac1-4f8c-95a6-800da6ee74ef
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n <li><a href="imagelist.html" >Images</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\nviewed_image = db(db.comment.title == session.viewed_image_title).select()\\n<center>\\n<img width="400px"\\n src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=viewed_image))\nresponse.write(\'" />\\n</center>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagetemplate.html", line 2, in <module>\n viewed_image = db(db.comment.title == session.viewed_image_title).select()\nNameError: name \'viewed_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.11-26-40.8825298a-5418-4c02-92eb-b69d915d4109 b/errors/127.0.0.1.2010-06-15.11-26-40.8825298a-5418-4c02-92eb-b69d915d4109
new file mode 100644
index 0000000..82091d2
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.11-26-40.8825298a-5418-4c02-92eb-b69d915d4109
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagelist.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n <li><a href="imagelist.html" >Images</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\n<h1>Submissions</h1>\\n <table>\\n <tr>\\n <th>Title</th>\\n <th>Author</th>\\n <th>Description</th>\\n <th>Image</th>\\n </tr>\\n <tr>\\n \',escape=False)\nfor row in comments:\n response.write(\'\\n <td>\',escape=False)\n response.write(row.title)\n response.write(\'</td>\\n <td>\',escape=False)\n response.write(row.creator)\n response.write(\'</td>\\n <td>\',escape=False)\n response.write(row.description)\n response.write(\'</td>\\n <td><img width="100px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=row.image))\n response.write(\'" onclick="this.src=\\\'\',escape=False)\n response.write(URL(r=request, f=\'download\', args=row.image))\n response.write(\'\\\';this.height=400;this.width=300" ondblclick="this.src=\\\'\',escape=False)\n response.write(URL(r=request, f=\'download\', args=row.image))\n response.write(\'\\\';this.height=200;this.width=150" /></td>\\n </tr>\\n \',escape=False)\n pass\nresponse.write(\'\\n </table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/acrowe/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/acrowe/lib/python/web2py/applications/turtle_art_images/views/default/imagelist.html", line 10, in <module>\n <tr>\n File "/home/acrowe/lib/python/web2py/gluon/sql.py", line 665, in __getattr__\n return dict.__getitem__(self,key)\nKeyError: \'image\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-18-22.e49f5f67-6ef5-40cc-b7a7-b75fc9238d93 b/errors/127.0.0.1.2010-06-15.16-18-22.e49f5f67-6ef5-40cc-b7a7-b75fc9238d93
new file mode 100644
index 0000000..ffca768
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-18-22.e49f5f67-6ef5-40cc-b7a7-b75fc9238d93
@@ -0,0 +1,16 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'Framework'
+p4
+sS'code'
+p5
+S''
+sS'traceback'
+p6
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/main.py", line 407, in wsgibase\n session._try_store_on_disk(request, response)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 375, in _try_store_on_disk\n cPickle.dump(dict(self), response.session_file)\n File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex\n raise TypeError, "can\'t pickle %s objects" % base.__name__\nTypeError: can\'t pickle file objects\n'
+p7
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-20-33.7ee6e03c-40af-4774-93cb-ffe50e8b9cff b/errors/127.0.0.1.2010-06-15.16-20-33.7ee6e03c-40af-4774-93cb-ffe50e8b9cff
new file mode 100644
index 0000000..ffca768
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-20-33.7ee6e03c-40af-4774-93cb-ffe50e8b9cff
@@ -0,0 +1,16 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'Framework'
+p4
+sS'code'
+p5
+S''
+sS'traceback'
+p6
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/main.py", line 407, in wsgibase\n session._try_store_on_disk(request, response)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 375, in _try_store_on_disk\n cPickle.dump(dict(self), response.session_file)\n File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex\n raise TypeError, "can\'t pickle %s objects" % base.__name__\nTypeError: can\'t pickle file objects\n'
+p7
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-25-34.c0fde657-1530-4eb9-8c9f-f6912813f68c b/errors/127.0.0.1.2010-06-15.16-25-34.c0fde657-1530-4eb9-8c9f-f6912813f68c
new file mode 100644
index 0000000..ffca768
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-25-34.c0fde657-1530-4eb9-8c9f-f6912813f68c
@@ -0,0 +1,16 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'Framework'
+p4
+sS'code'
+p5
+S''
+sS'traceback'
+p6
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/main.py", line 407, in wsgibase\n session._try_store_on_disk(request, response)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 375, in _try_store_on_disk\n cPickle.dump(dict(self), response.session_file)\n File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex\n raise TypeError, "can\'t pickle %s objects" % base.__name__\nTypeError: can\'t pickle file objects\n'
+p7
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-25-54.669ae8c0-5c6b-4aa6-851b-9fea24a11495 b/errors/127.0.0.1.2010-06-15.16-25-54.669ae8c0-5c6b-4aa6-851b-9fea24a11495
new file mode 100644
index 0000000..7f3d572
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-25-54.669ae8c0-5c6b-4aa6-851b-9fea24a11495
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S"import os\n\ndef index():\n form = SQLFORM(db.comment, fields = ['title', 'file', 'creator', 'description'])\n if form.accepts(request.vars, session):\n session.new_image = form.vars.file\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f='jamiesprogram')) \n return dict(form=form)\n\ndef jamiesprogram():\n file_name_length = len(session.new_image)\n os.system('python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/'+session.new_image)\n db(db.comment.title==session.new_image_title).update(newimage ='applications/turtle_art_images/uplodates/%s.png' % session.new_image[:-3])\n redirect(URL(r=request, f='imagelist'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef adminpage():\n db.comment.truncate()\n redirect('index.html')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n"
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 29, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 12, in jamiesprogram\n file_name_length = len(session.new_image)\nTypeError: object of type \'NoneType\' has no len()\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-29-02.41d5041c-372e-425b-bbb4-db8c6f8c5e46 b/errors/127.0.0.1.2010-06-15.16-29-02.41d5041c-372e-425b-bbb4-db8c6f8c5e46
new file mode 100644
index 0000000..ffca768
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-29-02.41d5041c-372e-425b-bbb4-db8c6f8c5e46
@@ -0,0 +1,16 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'Framework'
+p4
+sS'code'
+p5
+S''
+sS'traceback'
+p6
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/main.py", line 407, in wsgibase\n session._try_store_on_disk(request, response)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 375, in _try_store_on_disk\n cPickle.dump(dict(self), response.session_file)\n File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex\n raise TypeError, "can\'t pickle %s objects" % base.__name__\nTypeError: can\'t pickle file objects\n'
+p7
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-36-48.c043ff98-5f0f-4e35-a438-ea190f28f05c b/errors/127.0.0.1.2010-06-15.16-36-48.c043ff98-5f0f-4e35-a438-ea190f28f05c
new file mode 100644
index 0000000..ffca768
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-36-48.c043ff98-5f0f-4e35-a438-ea190f28f05c
@@ -0,0 +1,16 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'Framework'
+p4
+sS'code'
+p5
+S''
+sS'traceback'
+p6
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/main.py", line 407, in wsgibase\n session._try_store_on_disk(request, response)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 375, in _try_store_on_disk\n cPickle.dump(dict(self), response.session_file)\n File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex\n raise TypeError, "can\'t pickle %s objects" % base.__name__\nTypeError: can\'t pickle file objects\n'
+p7
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-46-49.0a02205d-e5f0-417b-9fd0-d026372da726 b/errors/127.0.0.1.2010-06-15.16-46-49.0a02205d-e5f0-417b-9fd0-d026372da726
new file mode 100644
index 0000000..ffca768
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-46-49.0a02205d-e5f0-417b-9fd0-d026372da726
@@ -0,0 +1,16 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'Framework'
+p4
+sS'code'
+p5
+S''
+sS'traceback'
+p6
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/main.py", line 407, in wsgibase\n session._try_store_on_disk(request, response)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 375, in _try_store_on_disk\n cPickle.dump(dict(self), response.session_file)\n File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex\n raise TypeError, "can\'t pickle %s objects" % base.__name__\nTypeError: can\'t pickle file objects\n'
+p7
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-51-02.0a2ed667-56f1-4353-8017-d36df68710fd b/errors/127.0.0.1.2010-06-15.16-51-02.0a2ed667-56f1-4353-8017-d36df68710fd
new file mode 100644
index 0000000..6b36471
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-51-02.0a2ed667-56f1-4353-8017-d36df68710fd
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.title==session.new_image_title).file\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\tdb(db.comment.title=="hellotest").update(description = "hello")\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 31, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 11, in jamiesprogram\n new_image = db(db.comment.title==session.new_image_title).file\nAttributeError: \'Set\' object has no attribute \'file\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-55-27.f037969c-cc51-4247-8648-459c3c9808c7 b/errors/127.0.0.1.2010-06-15.16-55-27.f037969c-cc51-4247-8648-459c3c9808c7
new file mode 100644
index 0000000..e369a05
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-55-27.f037969c-cc51-4247-8648-459c3c9808c7
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n new_image = db(db.comment.title==session.new_image_title)[\'file\']\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 11, in jamiesprogram\n new_image = db(db.comment.title==session.new_image_title)[\'file\']\nTypeError: \'Set\' object is unsubscriptable\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.16-58-10.5b283ebe-409e-4254-b0d9-ab3dc70d674a b/errors/127.0.0.1.2010-06-15.16-58-10.5b283ebe-409e-4254-b0d9-ab3dc70d674a
new file mode 100644
index 0000000..eaef4a6
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.16-58-10.5b283ebe-409e-4254-b0d9-ab3dc70d674a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n print db(db.comment.title==session.new_image_title)\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 12, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\nNameError: global name \'new_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-00-10.563018f1-cd5c-4f7d-b969-19d65d005b1c b/errors/127.0.0.1.2010-06-15.17-00-10.563018f1-cd5c-4f7d-b969-19d65d005b1c
new file mode 100644
index 0000000..48c8431
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-00-10.563018f1-cd5c-4f7d-b969-19d65d005b1c
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n print db(db.comment.title==session.new_image_title).select()\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 12, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\nNameError: global name \'new_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-00-42.533264a6-2dc7-4477-a4e8-7c295ace2b1a b/errors/127.0.0.1.2010-06-15.17-00-42.533264a6-2dc7-4477-a4e8-7c295ace2b1a
new file mode 100644
index 0000000..2184cdd
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-00-42.533264a6-2dc7-4477-a4e8-7c295ace2b1a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n print db(db.comment.title==session.new_image_title).select().file\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 11, in jamiesprogram\n print db(db.comment.title==session.new_image_title).select().file\nAttributeError: \'Rows\' object has no attribute \'file\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-02-01.63632b71-54a7-42a6-b090-4e205e161f42 b/errors/127.0.0.1.2010-06-15.17-02-01.63632b71-54a7-42a6-b090-4e205e161f42
new file mode 100644
index 0000000..f5b0b38
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-02-01.63632b71-54a7-42a6-b090-4e205e161f42
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select()\n print newfile\n print type(newfile)\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\nNameError: global name \'new_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-05-53.fe4b74d7-5662-4023-95ce-586e9bc33332 b/errors/127.0.0.1.2010-06-15.17-05-53.fe4b74d7-5662-4023-95ce-586e9bc33332
new file mode 100644
index 0000000..3e354bd
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-05-53.fe4b74d7-5662-4023-95ce-586e9bc33332
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select()\n print newfile\n print help(type(newfile))\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\nNameError: global name \'new_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-06-56.22f1fc56-0621-4aa2-9621-00ff0553894a b/errors/127.0.0.1.2010-06-15.17-06-56.22f1fc56-0621-4aa2-9621-00ff0553894a
new file mode 100644
index 0000000..e64615d
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-06-56.22f1fc56-0621-4aa2-9621-00ff0553894a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n print newfile\n print help(type(newfile))\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\nNameError: global name \'new_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-07-23.f83e43d1-73ed-4c9c-8ee6-69413af33d03 b/errors/127.0.0.1.2010-06-15.17-07-23.f83e43d1-73ed-4c9c-8ee6-69413af33d03
new file mode 100644
index 0000000..6e43484
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-07-23.f83e43d1-73ed-4c9c-8ee6-69413af33d03
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()[file]\n print newfile\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 33, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 11, in jamiesprogram\n newfile = db(db.comment.title==session.new_image_title).select().first()[file]\n File "/home/dreich/lib/python/web2py/gluon/sql.py", line 659, in __getitem__\n return dict.__getitem__(self, key)\nKeyError: "<type \'file\'>"\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-09-41.b387bb25-9164-412e-bd91-1ef65135ee96 b/errors/127.0.0.1.2010-06-15.17-09-41.b387bb25-9164-412e-bd91-1ef65135ee96
new file mode 100644
index 0000000..e64615d
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-09-41.b387bb25-9164-412e-bd91-1ef65135ee96
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n print newfile\n print help(type(newfile))\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\nNameError: global name \'new_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-10-16.50d4ec68-0005-4eea-8d8c-7b3f0634845b b/errors/127.0.0.1.2010-06-15.17-10-16.50d4ec68-0005-4eea-8d8c-7b3f0634845b
new file mode 100644
index 0000000..c0abc46
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-10-16.50d4ec68-0005-4eea-8d8c-7b3f0634845b
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n newfile = newfile.file\n print newfile\n print help(type(newfile))\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 35, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 15, in jamiesprogram\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\nNameError: global name \'new_image\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-10-58.d2b352f6-4294-4583-ba1e-5c2ff8d81a2f b/errors/127.0.0.1.2010-06-15.17-10-58.d2b352f6-4294-4583-ba1e-5c2ff8d81a2f
new file mode 100644
index 0000000..42c60fa
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-10-58.d2b352f6-4294-4583-ba1e-5c2ff8d81a2f
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n new_image = newfile.file\n print newfile\n os.system(\'python applications/turtle_art_images/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtle_art_images/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in download\n return response.download(request, db)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/dreich/lib/python/web2py/gluon/sql.py", line 2725, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/dreich/lib/python/web2py/applications/turtlesite/databases/../uploads/comment.file.9457e6586f80fc90.7371756172652e7461.png\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-11-47.c6ceaa6b-23e0-4b5d-80f5-d0ed29f23ba2 b/errors/127.0.0.1.2010-06-15.17-11-47.c6ceaa6b-23e0-4b5d-80f5-d0ed29f23ba2
new file mode 100644
index 0000000..b71c3ff
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-11-47.c6ceaa6b-23e0-4b5d-80f5-d0ed29f23ba2
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n new_image = newfile.file\n print newfile\n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in download\n return response.download(request, db)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/dreich/lib/python/web2py/gluon/sql.py", line 2725, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/dreich/lib/python/web2py/applications/turtlesite/databases/../uploads/comment.file.a5a0c1815110a050.6f63742e7461.png\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-11-47.d5c501a0-e7a6-4aa2-9cc2-3a10fb7c9b58 b/errors/127.0.0.1.2010-06-15.17-11-47.d5c501a0-e7a6-4aa2-9cc2-3a10fb7c9b58
new file mode 100644
index 0000000..649bd46
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-11-47.d5c501a0-e7a6-4aa2-9cc2-3a10fb7c9b58
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n new_image = newfile.file\n print newfile\n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtle_art_images/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in download\n return response.download(request, db)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/dreich/lib/python/web2py/gluon/sql.py", line 2725, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/dreich/lib/python/web2py/applications/turtlesite/databases/../uploads/comment.file.9457e6586f80fc90.7371756172652e7461.png\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-12-56.b3dc871a-875b-4a69-9ee4-a4d752496808 b/errors/127.0.0.1.2010-06-15.17-12-56.b3dc871a-875b-4a69-9ee4-a4d752496808
new file mode 100644
index 0000000..0cd161e
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-12-56.b3dc871a-875b-4a69-9ee4-a4d752496808
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n new_image = newfile.file\n print newfile\n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in download\n return response.download(request, db)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/dreich/lib/python/web2py/gluon/sql.py", line 2725, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/dreich/lib/python/web2py/applications/turtlesite/databases/../uploads/comment.file.a5a0c1815110a050.6f63742e7461.png\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-15.17-12-56.c76b13a1-604e-413d-bd54-d36456556888 b/errors/127.0.0.1.2010-06-15.17-12-56.c76b13a1-604e-413d-bd54-d36456556888
new file mode 100644
index 0000000..30232f8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-15.17-12-56.c76b13a1-604e-413d-bd54-d36456556888
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n new_image = newfile.file\n print newfile\n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(download)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/dreich/lib/python/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 34, in <module>\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/dreich/lib/python/web2py/applications/turtlesite/controllers/default.py", line 32, in download\n return response.download(request, db)\n File "/home/dreich/lib/python/web2py/gluon/globals.py", line 195, in download\n (filename, stream) = field.retrieve(name)\n File "/home/dreich/lib/python/web2py/gluon/sql.py", line 2725, in retrieve\n return (filename, open(os.path.join(path, name), \'rb\'))\nIOError: [Errno 2] No such file or directory: \'/home/dreich/lib/python/web2py/applications/turtlesite/databases/../uploads/comment.file.9457e6586f80fc90.7371756172652e7461.png\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-22.17-58-24.43169241-d580-433a-9534-40fd95c8ba0e b/errors/127.0.0.1.2010-06-22.17-58-24.43169241-d580-433a-9534-40fd95c8ba0e
new file mode 100644
index 0000000..30cafe8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-22.17-58-24.43169241-d580-433a-9534-40fd95c8ba0e
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n import pdb\n pdb.set_trace()\n new_image = newfile.file\n print newfile\n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 36, in <module>\n File "/home/jboisture/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n new_image = newfile.file\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n new_image = newfile.file\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
diff --git a/errors/127.0.0.1.2010-06-26.14-18-00.942dfcc0-58c1-4580-891e-a5831f65587a b/errors/127.0.0.1.2010-06-26.14-18-00.942dfcc0-58c1-4580-891e-a5831f65587a
new file mode 100644
index 0000000..30cafe8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-26.14-18-00.942dfcc0-58c1-4580-891e-a5831f65587a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n import pdb\n pdb.set_trace()\n new_image = newfile.file\n print newfile\n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 36, in <module>\n File "/home/jboisture/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n new_image = newfile.file\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 14, in jamiesprogram\n new_image = newfile.file\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
diff --git a/errors/127.0.0.1.2010-06-26.14-29-02.e3e135f4-5f67-4e62-a3a4-f5eeb38c06cb b/errors/127.0.0.1.2010-06-26.14-29-02.e3e135f4-5f67-4e62-a3a4-f5eeb38c06cb
new file mode 100644
index 0000000..68b76e8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-26.14-29-02.e3e135f4-5f67-4e62-a3a4-f5eeb38c06cb
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n print db(db.comment.title=="test").select()[0][\'file\']\n print newfile.title\n import pdb\n pdb.set)trace()\n new_image = newfile.file\n print newfile\n \n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 15\n pdb.set)trace()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-26.14-29-08.01743076-f940-47a9-a1e9-e6e3d6122668 b/errors/127.0.0.1.2010-06-26.14-29-08.01743076-f940-47a9-a1e9-e6e3d6122668
new file mode 100644
index 0000000..68b76e8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-26.14-29-08.01743076-f940-47a9-a1e9-e6e3d6122668
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n print db(db.comment.title=="test").select()[0][\'file\']\n print newfile.title\n import pdb\n pdb.set)trace()\n new_image = newfile.file\n print newfile\n \n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 15\n pdb.set)trace()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-26.14-29-11.c5ef7ec4-58fa-4c31-bd75-6e9807bad314 b/errors/127.0.0.1.2010-06-26.14-29-11.c5ef7ec4-58fa-4c31-bd75-6e9807bad314
new file mode 100644
index 0000000..68b76e8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-26.14-29-11.c5ef7ec4-58fa-4c31-bd75-6e9807bad314
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n print db(db.comment.title=="test").select()[0][\'file\']\n print newfile.title\n import pdb\n pdb.set)trace()\n new_image = newfile.file\n print newfile\n \n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 15\n pdb.set)trace()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-26.14-29-21.2f1d3ccf-be29-4fde-9927-fe72dea2c404 b/errors/127.0.0.1.2010-06-26.14-29-21.2f1d3ccf-be29-4fde-9927-fe72dea2c404
new file mode 100644
index 0000000..68b76e8
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-26.14-29-21.2f1d3ccf-be29-4fde-9927-fe72dea2c404
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n print db(db.comment.title=="test").select()[0][\'file\']\n print newfile.title\n import pdb\n pdb.set)trace()\n new_image = newfile.file\n print newfile\n \n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 15\n pdb.set)trace()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-06-26.14-31-17.97b6af6d-b028-4416-84c3-1c5cf2e77d55 b/errors/127.0.0.1.2010-06-26.14-31-17.97b6af6d-b028-4416-84c3-1c5cf2e77d55
new file mode 100644
index 0000000..8846c4a
--- /dev/null
+++ b/errors/127.0.0.1.2010-06-26.14-31-17.97b6af6d-b028-4416-84c3-1c5cf2e77d55
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'jamiesprogram\')) \n return dict(form=form)\n\ndef jamiesprogram():\n newfile = db(db.comment.title==session.new_image_title).select().first()\n print db(db.comment.title=="test").select()[0][\'file\']\n print newfile.title\n import pdb\n pdb.set_trace()\n new_image = newfile.file\n print newfile\n \n os.system(\'python applications/turtlesite/modules/PngGenerator.py applications/turtlesite/uploads/\'+new_image)\n db(db.comment.title==session.new_image_title).update(newimage =\'applications/turtlesite/uplodates/%s.png\' % new_image[:-3])\n redirect(URL(r=request, f=\'imagelist\'))\n return dict()\n \ndef imagelist():\n comments = db().select(db.comment.ALL)\n return dict(comments=comments)\n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(jamiesprogram)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 39, in <module>\n File "/home/jboisture/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 16, in jamiesprogram\n new_image = newfile.file\n File "/home/jboisture/web2py/applications/turtlesite/controllers/default.py", line 16, in jamiesprogram\n new_image = newfile.file\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
diff --git a/errors/127.0.0.1.2010-07-06.11-14-07.d7c8aece-7bc3-4049-937b-30fb481f421d b/errors/127.0.0.1.2010-07-06.11-14-07.d7c8aece-7bc3-4049-937b-30fb481f421d
new file mode 100644
index 0000000..03e39bc
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.11-14-07.d7c8aece-7bc3-4049-937b-30fb481f421d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py'
+p4
+sS'code'
+p5
+S'from gluon.contrib.gq import GQLDB\ndb=GQLDB()\nsession.connect(request,response,db=db)\n\n\ndb.define_table(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\'))\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 1, in <module>\n from gluon.contrib.gq import GQLDB\nImportError: No module named gq\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-18-26.e5bbcb96-f7a6-4440-888b-46bd1a677336 b/errors/127.0.0.1.2010-07-06.21-18-26.e5bbcb96-f7a6-4440-888b-46bd1a677336
new file mode 100644
index 0000000..d626576
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-18-26.e5bbcb96-f7a6-4440-888b-46bd1a677336
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n for comment in comments:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n table.append(row)\n import pdb\n pdb.set_trace()\n return dict(comments=table)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'imagelist\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/controllers/default.py", line 46, in <module>\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/controllers/default.py", line 18, in index\n return dict(comments=table)\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/controllers/default.py", line 18, in index\n return dict(comments=table)\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
diff --git a/errors/127.0.0.1.2010-07-06.21-18-53.0f21c2ca-659d-4f8c-9f39-bda12e55bad0 b/errors/127.0.0.1.2010-07-06.21-18-53.0f21c2ca-659d-4f8c-9f39-bda12e55bad0
new file mode 100644
index 0000000..11a8c5c
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-18-53.0f21c2ca-659d-4f8c-9f39-bda12e55bad0
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\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\n\n# before\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 25\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-19-07.10b0d3ea-d4d6-4b6e-a119-db5d42150eaa b/errors/127.0.0.1.2010-07-06.21-19-07.10b0d3ea-d4d6-4b6e-a119-db5d42150eaa
new file mode 100644
index 0000000..11a8c5c
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-19-07.10b0d3ea-d4d6-4b6e-a119-db5d42150eaa
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\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\n\n# before\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 25\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-19-33.2df43f1a-91b2-493d-9ce8-f06efc4fe629 b/errors/127.0.0.1.2010-07-06.21-19-33.2df43f1a-91b2-493d-9ce8-f06efc4fe629
new file mode 100644
index 0000000..0609fe6
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-19-33.2df43f1a-91b2-493d-9ce8-f06efc4fe629
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 25\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-19-39.c5331736-649b-4269-aec4-9c20cb7a9403 b/errors/127.0.0.1.2010-07-06.21-19-39.c5331736-649b-4269-aec4-9c20cb7a9403
new file mode 100644
index 0000000..0609fe6
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-19-39.c5331736-649b-4269-aec4-9c20cb7a9403
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 25\n IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-19-57.3ae15d94-8f52-438b-87d4-67899bf9f10d b/errors/127.0.0.1.2010-07-06.21-19-57.3ae15d94-8f52-438b-87d4-67899bf9f10d
new file mode 100644
index 0000000..2aa1717
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-19-57.3ae15d94-8f52-438b-87d4-67899bf9f10d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\n#auth_table.user_name.requires = \\\n# IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', #error_message="User name is already taken")])\n#auth_table.password.requires = [IS_STRONG(), CRYPT()]\n#auth_table.email.requires = [\n# IS_EMAIL(error_message=auth.messages.invalid_email),\n# IS_NOT_IN_DB(db, auth_table.email)]\n#auth.settings.table_user = auth_table\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 15, in <module>\n auth.settings.table_user_name,\nNameError: name \'auth\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-19-58.dd1e45d8-6e4d-4b2a-a305-b68e57e5a3bb b/errors/127.0.0.1.2010-07-06.21-19-58.dd1e45d8-6e4d-4b2a-a305-b68e57e5a3bb
new file mode 100644
index 0000000..2aa1717
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-19-58.dd1e45d8-6e4d-4b2a-a305-b68e57e5a3bb
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\n#auth_table.user_name.requires = \\\n# IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', #error_message="User name is already taken")])\n#auth_table.password.requires = [IS_STRONG(), CRYPT()]\n#auth_table.email.requires = [\n# IS_EMAIL(error_message=auth.messages.invalid_email),\n# IS_NOT_IN_DB(db, auth_table.email)]\n#auth.settings.table_user = auth_table\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 15, in <module>\n auth.settings.table_user_name,\nNameError: name \'auth\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-19-59.c27db2ab-8227-4039-97cf-622d2eb6cc65 b/errors/127.0.0.1.2010-07-06.21-19-59.c27db2ab-8227-4039-97cf-622d2eb6cc65
new file mode 100644
index 0000000..2aa1717
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-19-59.c27db2ab-8227-4039-97cf-622d2eb6cc65
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\n#auth_table.user_name.requires = \\\n# IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', #error_message="User name is already taken")])\n#auth_table.password.requires = [IS_STRONG(), CRYPT()]\n#auth_table.email.requires = [\n# IS_EMAIL(error_message=auth.messages.invalid_email),\n# IS_NOT_IN_DB(db, auth_table.email)]\n#auth.settings.table_user = auth_table\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 178, in restricted\n exec ccode in environment\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 15, in <module>\n auth.settings.table_user_name,\nNameError: name \'auth\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-24-34.fd350e5c-5e4d-447f-bb1e-3caf586f135b b/errors/127.0.0.1.2010-07-06.21-24-34.fd350e5c-5e4d-447f-bb1e-3caf586f135b
new file mode 100644
index 0000000..a6c432d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-24-34.fd350e5c-5e4d-447f-bb1e-3caf586f135b
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-24-36.11ba35b4-698d-4436-a189-5789431bdf62 b/errors/127.0.0.1.2010-07-06.21-24-36.11ba35b4-698d-4436-a189-5789431bdf62
new file mode 100644
index 0000000..a6c432d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-24-36.11ba35b4-698d-4436-a189-5789431bdf62
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-24-43.79d98631-a87c-4c48-9efd-037be4e90b2b b/errors/127.0.0.1.2010-07-06.21-24-43.79d98631-a87c-4c48-9efd-037be4e90b2b
new file mode 100644
index 0000000..a6c432d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-24-43.79d98631-a87c-4c48-9efd-037be4e90b2b
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-25-29.7040e780-9f79-4fba-8b25-9acc557d8768 b/errors/127.0.0.1.2010-07-06.21-25-29.7040e780-9f79-4fba-8b25-9acc557d8768
new file mode 100644
index 0000000..a6c432d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-25-29.7040e780-9f79-4fba-8b25-9acc557d8768
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-25-30.cfb814ba-4b82-4e50-b49f-7ec4e67c7287 b/errors/127.0.0.1.2010-07-06.21-25-30.cfb814ba-4b82-4e50-b49f-7ec4e67c7287
new file mode 100644
index 0000000..a6c432d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-25-30.cfb814ba-4b82-4e50-b49f-7ec4e67c7287
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/google_appengine/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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/google_appengine/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/google_appengine/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-27-21.6b386041-0db0-4912-8fd5-bd00e9dd64e8 b/errors/127.0.0.1.2010-07-06.21-27-21.6b386041-0db0-4912-8fd5-bd00e9dd64e8
new file mode 100644
index 0000000..b357fc1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-27-21.6b386041-0db0-4912-8fd5-bd00e9dd64e8
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-27-51.87af17a3-f8af-480e-9aec-2843976dba75 b/errors/127.0.0.1.2010-07-06.21-27-51.87af17a3-f8af-480e-9aec-2843976dba75
new file mode 100644
index 0000000..b357fc1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-27-51.87af17a3-f8af-480e-9aec-2843976dba75
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-27-52.f705d212-1d5c-4272-b3af-c9fd0a0a5104 b/errors/127.0.0.1.2010-07-06.21-27-52.f705d212-1d5c-4272-b3af-c9fd0a0a5104
new file mode 100644
index 0000000..b357fc1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-27-52.f705d212-1d5c-4272-b3af-c9fd0a0a5104
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\n\nauth_table.user_name.requires = \\\n [IS_NOT_EMPTY(error_message=auth.messages.is_empty, IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")])]\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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py", line 16\n Field(\'user_name\', length=128 requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-29-15.280641a8-e44d-4076-b209-755fc4295910 b/errors/127.0.0.1.2010-07-06.21-29-15.280641a8-e44d-4076-b209-755fc4295910
new file mode 100644
index 0000000..5abee74
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-29-15.280641a8-e44d-4076-b209-755fc4295910
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128, requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\nauth.settings.table_user = auth_table\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 15, in <module>\n auth.settings.table_user_name,\nNameError: name \'auth\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-29-55.314af018-1e67-47df-acb3-3d7902b5ec4f b/errors/127.0.0.1.2010-07-06.21-29-55.314af018-1e67-47df-acb3-3d7902b5ec4f
new file mode 100644
index 0000000..64f1246
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-29-55.314af018-1e67-47df-acb3-3d7902b5ec4f
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\nauth = Auth(globals(),db)\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128, requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\nauth.settings.table_user = auth_table\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 13, in <module>\n auth = Auth(globals(),db)\nNameError: name \'Auth\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-30-13.f44537c8-5e74-4c67-9d77-5eeef5fd244d b/errors/127.0.0.1.2010-07-06.21-30-13.f44537c8-5e74-4c67-9d77-5eeef5fd244d
new file mode 100644
index 0000000..64f1246
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-30-13.f44537c8-5e74-4c67-9d77-5eeef5fd244d
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\nauth = Auth(globals(),db)\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128, requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\nauth.settings.table_user = auth_table\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 13, in <module>\n auth = Auth(globals(),db)\nNameError: name \'Auth\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-30-42.a68356ed-8805-4d90-bc2a-c1152684b45a b/errors/127.0.0.1.2010-07-06.21-30-42.a68356ed-8805-4d90-bc2a-c1152684b45a
new file mode 100644
index 0000000..adc43d8
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-30-42.a68356ed-8805-4d90-bc2a-c1152684b45a
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\nfrom gluon.tools import Auth\nauth = Auth(globals(),db)\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128, requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\nauth.settings.table_user = auth_table\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 <module>\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, auth_table.email)]),\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-32-55.1455d8c8-5bca-4abd-8abb-b5b6ff94644e b/errors/127.0.0.1.2010-07-06.21-32-55.1455d8c8-5bca-4abd-8abb-b5b6ff94644e
new file mode 100644
index 0000000..fe63151
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-32-55.1455d8c8-5bca-4abd-8abb-b5b6ff94644e
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\nfrom gluon.tools import Auth\nauth = Auth(globals(),db)\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128, requires = [IS_NOT_EMPTY(error_message=auth.messages.is_empty), IS_NOT_IN_DB(db, \'auth_table.user_name\', error_message="User name is already taken")]),\n Field(\'email\', length=128, unique=True, requires = [IS_EMAIL(error_message=auth.messages.invalid_email), IS_NOT_IN_DB(db, \'auth_table.email\')]),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\', requires = [IS_STRONG(), CRYPT()]),\n Field(\'registration_key\', length=128,\n writable=False, readable=False))\n\nauth.settings.table_user = auth_table\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 22, in <module>\n writable=False, readable=False))\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table auth_user already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-35-16.b352a050-21ae-413f-8ee9-a3ff49b4e4d9 b/errors/127.0.0.1.2010-07-06.21-35-16.b352a050-21ae-413f-8ee9-a3ff49b4e4d9
new file mode 100644
index 0000000..971997d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-35-16.b352a050-21ae-413f-8ee9-a3ff49b4e4d9
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\nfrom gluon.tools import Auth\nauth = Auth(globals(),db)\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128, writable=False, readable=False))\n\nauth.settings.table_user = auth_table\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 21, in <module>\n Field(\'registration_key\', length=128, writable=False, readable=False))\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table auth_user already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-35-17.143e16c3-1b07-4019-a4e4-9de63bca17dd b/errors/127.0.0.1.2010-07-06.21-35-17.143e16c3-1b07-4019-a4e4-9de63bca17dd
new file mode 100644
index 0000000..971997d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-35-17.143e16c3-1b07-4019-a4e4-9de63bca17dd
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\nfrom gluon.tools import Auth\nauth = Auth(globals(),db)\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'user_name\', length=128),\n Field(\'email\', length=128, unique=True),\n Field(\'password\', \'password\', length=256,\n readable=False, label=\'Password\'),\n Field(\'registration_key\', length=128, writable=False, readable=False))\n\nauth.settings.table_user = auth_table\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 21, in <module>\n Field(\'registration_key\', length=128, writable=False, readable=False))\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table auth_user already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-37-59.45e285c7-b075-47b1-91c5-8838ae416d1b b/errors/127.0.0.1.2010-07-06.21-37-59.45e285c7-b075-47b1-91c5-8838ae416d1b
new file mode 100644
index 0000000..22041d1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-37-59.45e285c7-b075-47b1-91c5-8838ae416d1b
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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="),\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\n\nauth_table.username.requires = 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\n\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py", line 17\n Field(\'username\', length=128, default="),\n ^\nSyntaxError: EOL while scanning string literal\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-38-29.747e8df8-2355-4719-a6e2-550a47e1a4b0 b/errors/127.0.0.1.2010-07-06.21-38-29.747e8df8-2355-4719-a6e2-550a47e1a4b0
new file mode 100644
index 0000000..d4069b1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-38-29.747e8df8-2355-4719-a6e2-550a47e1a4b0
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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=""),\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\n\nauth_table.username.requires = 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\n\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 22, in <module>\n writable=False, readable=False))\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table auth_user already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-39-15.34d2f46b-1647-4259-89e5-77c71e49db35 b/errors/127.0.0.1.2010-07-06.21-39-15.34d2f46b-1647-4259-89e5-77c71e49db35
new file mode 100644
index 0000000..2462794
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-39-15.34d2f46b-1647-4259-89e5-77c71e49db35
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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=""),\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\n\nauth_table.username.requires = 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 22, in <module>\n writable=False, readable=False))\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table auth_user already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-39-31.754b17ce-a8b7-40a2-a3f0-5e32802de9a5 b/errors/127.0.0.1.2010-07-06.21-39-31.754b17ce-a8b7-40a2-a3f0-5e32802de9a5
new file mode 100644
index 0000000..42e6674
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-39-31.754b17ce-a8b7-40a2-a3f0-5e32802de9a5
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\nfrom gluon.tools import Auth\nauth = Auth(globals(),db)\nauth.define_tables()\nauth_table = db.define_table(\n auth.settings.table_user_name,\n Field(\'username\', length=128, default=""),\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\n\nauth_table.username.requires = 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\n\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 15, in <module>\n auth.define_tables()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1059, in define_tables\n format=\'%(first_name)s %(last_name)s (%(id)s)\')\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table auth_user already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-42-17.0beaf7a6-4047-4601-b12e-0eb0f18217ee b/errors/127.0.0.1.2010-07-06.21-42-17.0beaf7a6-4047-4601-b12e-0eb0f18217ee
new file mode 100644
index 0000000..9286595
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-42-17.0beaf7a6-4047-4601-b12e-0eb0f18217ee
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = 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 22, in <module>\n writable=False, readable=False))\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table auth_user already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.21-49-35.9f326f13-a1f9-4073-82ce-fe391cc9c5dd b/errors/127.0.0.1.2010-07-06.21-49-35.9f326f13-a1f9-4073-82ce-fe391cc9c5dd
new file mode 100644
index 0000000..565ea08
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-49-35.9f326f13-a1f9-4073-82ce-fe391cc9c5dd
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n for comment in comments:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n table.append(row)\n return dict(comments=table)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'imagelist\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n import pdb\n pdb.set_trace()\n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 47, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 37, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 37, in user\n return dict(form=auth())\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
diff --git a/errors/127.0.0.1.2010-07-06.21-50-11.44d39e34-37d3-4d88-ba83-774ac8f10eb7 b/errors/127.0.0.1.2010-07-06.21-50-11.44d39e34-37d3-4d88-ba83-774ac8f10eb7
new file mode 100644
index 0000000..cd66655
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.21-50-11.44d39e34-37d3-4d88-ba83-774ac8f10eb7
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n for comment in comments:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n table.append(row)\n return dict(comments=table)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'imagelist\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n import pdb\n pdb.set_trace()\n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 47, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 37, in user\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 37, in user\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
diff --git a/errors/127.0.0.1.2010-07-06.22-04-03.090862c3-e8a3-48e4-bbf9-01fdc1a0567f b/errors/127.0.0.1.2010-07-06.22-04-03.090862c3-e8a3-48e4-bbf9-01fdc1a0567f
new file mode 100644
index 0000000..44a13e2
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-04-03.090862c3-e8a3-48e4-bbf9-01fdc1a0567f
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in()\nresponse.write(\'<li>\',escape=False)\nresponse.write(auth.user.username+": ")\nresponse.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\nif not auth.is_logged_in()\nresponse.write(\'<li><a href="user.html">log in</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\n<h1>Submissions</h1>\\n <table border = 20>\\n \',escape=False)\nfor row in comments:\n response.write(\'\\n <tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n </tr>\\n </table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 2\n if auth.is_logged_in()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.22-04-03.0b487c87-1bb7-4a1d-b926-b72f5066229a b/errors/127.0.0.1.2010-07-06.22-04-03.0b487c87-1bb7-4a1d-b926-b72f5066229a
new file mode 100644
index 0000000..05d26b4
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-04-03.0b487c87-1bb7-4a1d-b926-b72f5066229a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n for comment in comments:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n table.append(row)\n return dict(comments=table)\n\ndef upload():\n import pdb\n pdb.set_trace()\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'creator\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(upload)\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/controllers/default.py", line 47, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 21, in upload\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'creator\', \'description\'])\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 21, in upload\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'creator\', \'description\'])\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
diff --git a/errors/127.0.0.1.2010-07-06.22-04-03.c19ffad3-d858-4ba6-a628-374f9db0b6e8 b/errors/127.0.0.1.2010-07-06.22-04-03.c19ffad3-d858-4ba6-a628-374f9db0b6e8
new file mode 100644
index 0000000..44a13e2
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-04-03.c19ffad3-d858-4ba6-a628-374f9db0b6e8
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in()\nresponse.write(\'<li>\',escape=False)\nresponse.write(auth.user.username+": ")\nresponse.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\nif not auth.is_logged_in()\nresponse.write(\'<li><a href="user.html">log in</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\n<h1>Submissions</h1>\\n <table border = 20>\\n \',escape=False)\nfor row in comments:\n response.write(\'\\n <tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n </tr>\\n </table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 2\n if auth.is_logged_in()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.22-04-23.7bf1efca-9329-4593-9acb-1ad0264ddf40 b/errors/127.0.0.1.2010-07-06.22-04-23.7bf1efca-9329-4593-9acb-1ad0264ddf40
new file mode 100644
index 0000000..44a13e2
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-04-23.7bf1efca-9329-4593-9acb-1ad0264ddf40
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in()\nresponse.write(\'<li>\',escape=False)\nresponse.write(auth.user.username+": ")\nresponse.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\nif not auth.is_logged_in()\nresponse.write(\'<li><a href="user.html">log in</a></li>\\n </ul>\\n </div>\\n <div id=\\\'bodycontent\\\'>\\n \\n<h1>Submissions</h1>\\n <table border = 20>\\n \',escape=False)\nfor row in comments:\n response.write(\'\\n <tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n </tr>\\n </table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 2\n if auth.is_logged_in()\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.22-08-27.16d4e8f7-52a1-483c-bab6-28a7da00f034 b/errors/127.0.0.1.2010-07-06.22-08-27.16d4e8f7-52a1-483c-bab6-28a7da00f034
new file mode 100644
index 0000000..8341ac1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-08-27.16d4e8f7-52a1-483c-bab6-28a7da00f034
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n if not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\n response.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\n response.write( comment.title)\n response.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'">\\n<p>\',escape=False)\n response.write( "author: " + comment.creator)\n response.write(\'</p>\\n<a href="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.file))\n response.write(\'"> Download TA file</a>\\n<p>\',escape=False)\n response.write( "description: " + comment.description)\n response.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 14, in <module>\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.22-11-35.1992b260-0fb2-44f8-830f-fa0b4c2e9214 b/errors/127.0.0.1.2010-07-06.22-11-35.1992b260-0fb2-44f8-830f-fa0b4c2e9214
new file mode 100644
index 0000000..8341ac1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-11-35.1992b260-0fb2-44f8-830f-fa0b4c2e9214
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n if not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\n response.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\n response.write( comment.title)\n response.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'">\\n<p>\',escape=False)\n response.write( "author: " + comment.creator)\n response.write(\'</p>\\n<a href="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.file))\n response.write(\'"> Download TA file</a>\\n<p>\',escape=False)\n response.write( "description: " + comment.description)\n response.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 14, in <module>\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.22-12-07.a7fc9de5-6508-4100-9e21-694c7eeda5b3 b/errors/127.0.0.1.2010-07-06.22-12-07.a7fc9de5-6508-4100-9e21-694c7eeda5b3
new file mode 100644
index 0000000..8341ac1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-12-07.a7fc9de5-6508-4100-9e21-694c7eeda5b3
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n if not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\n response.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\n response.write( comment.title)\n response.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'">\\n<p>\',escape=False)\n response.write( "author: " + comment.creator)\n response.write(\'</p>\\n<a href="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.file))\n response.write(\'"> Download TA file</a>\\n<p>\',escape=False)\n response.write( "description: " + comment.description)\n response.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 14, in <module>\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-06.22-13-12.38c2ad64-e6e0-440c-a410-089bbee1ead5 b/errors/127.0.0.1.2010-07-06.22-13-12.38c2ad64-e6e0-440c-a410-089bbee1ead5
new file mode 100644
index 0000000..8341ac1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-06.22-13-12.38c2ad64-e6e0-440c-a410-089bbee1ead5
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n if not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\n response.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\n response.write( comment.title)\n response.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'">\\n<p>\',escape=False)\n response.write( "author: " + comment.creator)\n response.write(\'</p>\\n<a href="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.file))\n response.write(\'"> Download TA file</a>\\n<p>\',escape=False)\n response.write( "description: " + comment.description)\n response.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 14, in <module>\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-02-13.a42ee2c8-ad53-42b6-b15a-285e49cab96a b/errors/127.0.0.1.2010-07-07.10-02-13.a42ee2c8-ad53-42b6-b15a-285e49cab96a
new file mode 100644
index 0000000..3a44249
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-02-13.a42ee2c8-ad53-42b6-b15a-285e49cab96a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( comment.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.newimage))\nresponse.write(\'">\\n<p>\',escape=False)\nresponse.write( "author: " + comment.creator)\nresponse.write(\'</p>\\n<a href="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.file))\nresponse.write(\'"> Download TA file</a>\\n<p>\',escape=False)\nresponse.write( "description: " + comment.description)\nresponse.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 16, in <module>\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-02-19.036914e4-3143-4280-b5d5-e6196b9d5363 b/errors/127.0.0.1.2010-07-07.10-02-19.036914e4-3143-4280-b5d5-e6196b9d5363
new file mode 100644
index 0000000..3a44249
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-02-19.036914e4-3143-4280-b5d5-e6196b9d5363
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( comment.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.newimage))\nresponse.write(\'">\\n<p>\',escape=False)\nresponse.write( "author: " + comment.creator)\nresponse.write(\'</p>\\n<a href="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.file))\nresponse.write(\'"> Download TA file</a>\\n<p>\',escape=False)\nresponse.write( "description: " + comment.description)\nresponse.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 16, in <module>\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-02-26.adfe0044-5526-4721-bfaf-6947db2dad72 b/errors/127.0.0.1.2010-07-07.10-02-26.adfe0044-5526-4721-bfaf-6947db2dad72
new file mode 100644
index 0000000..3a44249
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-02-26.adfe0044-5526-4721-bfaf-6947db2dad72
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( comment.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.newimage))\nresponse.write(\'">\\n<p>\',escape=False)\nresponse.write( "author: " + comment.creator)\nresponse.write(\'</p>\\n<a href="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.file))\nresponse.write(\'"> Download TA file</a>\\n<p>\',escape=False)\nresponse.write( "description: " + comment.description)\nresponse.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 16, in <module>\nTypeError: cannot concatenate \'str\' and \'NoneType\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-27-50.3b1caa48-8a07-4c87-84f4-5de4fb6eb346 b/errors/127.0.0.1.2010-07-07.10-27-50.3b1caa48-8a07-4c87-84f4-5de4fb6eb346
new file mode 100644
index 0000000..9ab650d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-27-50.3b1caa48-8a07-4c87-84f4-5de4fb6eb346
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="user/logout">Log Out</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>Submissions</h1>\\n ",escape=False)\nfor row in comments:\n response.write(\'\\n <table><tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n <center>\\n <ul>\\n \',escape=False)\n for count in range(pages)\n response.write(\'<li><a href = \',escape=False)\n response.write("index.html?page="+str(count+1)>{{=count+1)\n response.write(\'</li>\',escape=False)\n pass\nresponse.write(\'\\n </tr></table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 22\n for count in range(pages)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-27-50.c7d6778c-c551-4178-9239-b4ee1f8f036c b/errors/127.0.0.1.2010-07-07.10-27-50.c7d6778c-c551-4178-9239-b4ee1f8f036c
new file mode 100644
index 0000000..1f378db
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-27-50.c7d6778c-c551-4178-9239-b4ee1f8f036c
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n import pdb\n pdb.set_trace()\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n for comment in comments:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n table.append(row)\n return dict(comments=table)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\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/controllers/default.py", line 49, in <module>\n redirect(\'index.html\')\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n table = []\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n table = []\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
diff --git a/errors/127.0.0.1.2010-07-07.10-28-13.70a61cbc-653e-40b1-a8b2-f649d5915194 b/errors/127.0.0.1.2010-07-07.10-28-13.70a61cbc-653e-40b1-a8b2-f649d5915194
new file mode 100644
index 0000000..9ab650d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-28-13.70a61cbc-653e-40b1-a8b2-f649d5915194
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="user/logout">Log Out</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>Submissions</h1>\\n ",escape=False)\nfor row in comments:\n response.write(\'\\n <table><tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n <center>\\n <ul>\\n \',escape=False)\n for count in range(pages)\n response.write(\'<li><a href = \',escape=False)\n response.write("index.html?page="+str(count+1)>{{=count+1)\n response.write(\'</li>\',escape=False)\n pass\nresponse.write(\'\\n </tr></table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 22\n for count in range(pages)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-28-34.26981abd-e292-4ae5-8570-1ca7d0427ebf b/errors/127.0.0.1.2010-07-07.10-28-34.26981abd-e292-4ae5-8570-1ca7d0427ebf
new file mode 100644
index 0000000..ebd7998
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-28-34.26981abd-e292-4ae5-8570-1ca7d0427ebf
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="user/logout">Log Out</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>Submissions</h1>\\n ",escape=False)\nfor row in comments:\n response.write(\'\\n <table><tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n <center>\\n <ul>\\n \',escape=False)\n for count in range(pages):\n response.write(\'<li><a href = \',escape=False)\n response.write("index.html?page="+str(count+1)>{{=count+1)\n response.write(\'</li>\',escape=False)\n pass\n response.write(\'\\n </tr></table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 24\n response.write("index.html?page="+str(count+1)>{{=count+1)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-28-36.0d76f95e-af0c-4a12-ac25-2b8477ad8400 b/errors/127.0.0.1.2010-07-07.10-28-36.0d76f95e-af0c-4a12-ac25-2b8477ad8400
new file mode 100644
index 0000000..ebd7998
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-28-36.0d76f95e-af0c-4a12-ac25-2b8477ad8400
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="user/logout">Log Out</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>Submissions</h1>\\n ",escape=False)\nfor row in comments:\n response.write(\'\\n <table><tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n <center>\\n <ul>\\n \',escape=False)\n for count in range(pages):\n response.write(\'<li><a href = \',escape=False)\n response.write("index.html?page="+str(count+1)>{{=count+1)\n response.write(\'</li>\',escape=False)\n pass\n response.write(\'\\n </tr></table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 24\n response.write("index.html?page="+str(count+1)>{{=count+1)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-29-11.1047f1e3-6f4e-4d34-81a0-da47047b333a b/errors/127.0.0.1.2010-07-07.10-29-11.1047f1e3-6f4e-4d34-81a0-da47047b333a
new file mode 100644
index 0000000..7888f63
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-29-11.1047f1e3-6f4e-4d34-81a0-da47047b333a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="user/logout">Log Out</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>Submissions</h1>\\n ",escape=False)\nfor row in comments:\n response.write(\'\\n <table><tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n <center>\\n <ul>\\n \',escape=False)\n for count in range(pages):\n response.write(\'<li><a href = \',escape=False)\n response.write("index.html?page="+str(count+1)>{{=str(count+1))\n response.write(\'</li>\',escape=False)\n pass\n response.write(\'\\n </tr></table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 24\n response.write("index.html?page="+str(count+1)>{{=str(count+1))\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-29-47.b16a2a3e-b801-4b29-870c-98f926533de7 b/errors/127.0.0.1.2010-07-07.10-29-47.b16a2a3e-b801-4b29-870c-98f926533de7
new file mode 100644
index 0000000..b51f8ac
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-29-47.b16a2a3e-b801-4b29-870c-98f926533de7
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'<li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li><li><a href="user/logout">Log Out</li><li><a href="upload.html" >New Image</a></li><li><a href="adminpage.html" >Clear All</a></li>\',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'<li><a href="user.html">log in</a></li>\',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>Submissions</h1>\\n ",escape=False)\nfor row in comments:\n response.write(\'\\n <table><tr>\\n \',escape=False)\n for comment in row:\n response.write(\'<td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'><img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\',escape=False)\n pass\n response.write(\'\\n <center>\\n <ul>\\n \',escape=False)\n for count in range(pages):\n response.write(\'<li><a href = \',escape=False)\n response.write("index.html?page="+str(count+1)>{{=str(count+1))\n response.write(\'</a></li>\',escape=False)\n pass\n response.write(\'\\n </tr></table>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html", line 24\n response.write("index.html?page="+str(count+1)>{{=str(count+1))\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.10-52-48.c6777db8-fa4b-4f55-bb6c-0d919ab01028 b/errors/127.0.0.1.2010-07-07.10-52-48.c6777db8-fa4b-4f55-bb6c-0d919ab01028
new file mode 100644
index 0000000..bc7dbf4
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.10-52-48.c6777db8-fa4b-4f55-bb6c-0d919ab01028
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/index.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n <li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li>\\n <li><a href="user/logout">Log Out</li>\\n <li><a href="upload.html" >New Image</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'\\n <li><a href="user.html">log in</a></li>\\n \',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>Submissions</h1>\\n ",escape=False)\nfor row in comments:\n response.write(\'\\n <table><tr>\\n \',escape=False)\n for comment in row:\n response.write(\'\\n <td><a href = \',escape=False)\n response.write("/turtlesite/default/image.html?title="+comment.title)\n response.write(\'>\\n <img width="250px" src="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.newimage))\n response.write(\'" \\n onclick="ajax(\\\'ajaxwiki_onclick\\\',[\\\'text\\\'],\\\'html\\\')"/></a></td>\\n \',escape=False)\n pass\n response.write(\'\\n </tr></table>\\n \',escape=False)\n pass\nresponse.write(\'\\n<center>\\n<ul id="navlist">\\n\',escape=False)\nfor count in range(pages):\n response.write(\'\\n \',escape=False)\n if count != page:\n response.write(\'\\n <li><a href = \',escape=False)\n response.write("index.html?page="+str(count+1))\n response.write(\'>\',escape=False)\n response.write( str(count+1))\n response.write(\'</a></li>\\n \',escape=False)\n pass\n response.write(\'\\n \',escape=False)\nelse:\n response.write(\'\\n <li>\',escape=False)\n response.write(string(count +1))\n response.write(\'</li>\\n \',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\npass\nresponse.write(\'\\n</ul>\\n</center>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/index.html", line 36, in <module>\nNameError: name \'string\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.11-18-06.99442e70-a895-43d7-9f55-c8e1faa59202 b/errors/127.0.0.1.2010-07-07.11-18-06.99442e70-a895-43d7-9f55-c8e1faa59202
new file mode 100644
index 0000000..b8de772
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.11-18-06.99442e70-a895-43d7-9f55-c8e1faa59202
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if len(request.vars)==0: page = 0\n else: page = int(request.vars["page"]) - 1\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\n if count > page * 12 and page*12+13 > count:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n import pdb\n pdb.set_trace()\n user = request.vars["user"]\n if len(request.vars)==1: page = 0\n else: page = int(request.vars["page"]) - 1\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\n if count > page * 12 and page*12+13 > count:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(profile)\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/controllers/default.py", line 81, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 29, in profile\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 29, in profile\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\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
diff --git a/errors/127.0.0.1.2010-07-07.11-24-37.0cac9768-5458-4dd7-947f-db23a93abe91 b/errors/127.0.0.1.2010-07-07.11-24-37.0cac9768-5458-4dd7-947f-db23a93abe91
new file mode 100644
index 0000000..e94dfd5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.11-24-37.0cac9768-5458-4dd7-947f-db23a93abe91
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\n if count > page * 12 and page*12+13 > count:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator != user: comments.remove(comment)\n i = 0\n row = []\n count = 0\n for comment in comments:\n if count > page * 12 and page*12+13 > count:\n if i == 4:\n table.append(row)\n row = []\n i = 0\n i += 1\n row.append(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(profile)\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/controllers/default.py", line 82, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 34, in profile\n if comment.creator != user: comments.remove(comment)\nAttributeError: \'Rows\' object has no attribute \'remove\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.12-18-08.67650de4-5e42-4735-aa94-1571627cca46 b/errors/127.0.0.1.2010-07-07.12-18-08.67650de4-5e42-4735-aa94-1571627cca46
new file mode 100644
index 0000000..fc2e643
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.12-18-08.67650de4-5e42-4735-aa94-1571627cca46
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user: user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comment = db(db.comment.title==request.vars["title"]).select().first()\n import pdb\n pdb.set_trace()\n return dict(comment = comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(image)\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/controllers/default.py", line 87, in <module>\n return response.download(request, db)\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 70, in image\n import pdb\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 70, in image\n import pdb\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
diff --git a/errors/127.0.0.1.2010-07-07.12-26-40.e5e0f713-b02a-46c8-8963-1efefad1615c b/errors/127.0.0.1.2010-07-07.12-26-40.e5e0f713-b02a-46c8-8963-1efefad1615c
new file mode 100644
index 0000000..de64ee0
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.12-26-40.e5e0f713-b02a-46c8-8963-1efefad1615c
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n print request.vars["title"]\n for comment in comments:\n if comment.title == request.vars["title"].replace(\'&\',\' \'):\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(image)\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/controllers/default.py", line 91, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 74, in image\n return dict(comment = real_comment)\nUnboundLocalError: local variable \'real_comment\' referenced before assignment\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.12-52-08.7e40688f-6dd8-42f3-8c57-6560c5947759 b/errors/127.0.0.1.2010-07-07.12-52-08.7e40688f-6dd8-42f3-8c57-6560c5947759
new file mode 100644
index 0000000..d9a6dc5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.12-52-08.7e40688f-6dd8-42f3-8c57-6560c5947759
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-13-30.54f64633-170e-4584-adb7-c1045c5d54e8 b/errors/127.0.0.1.2010-07-07.13-13-30.54f64633-170e-4584-adb7-c1045c5d54e8
new file mode 100644
index 0000000..8d14436
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-13-30.54f64633-170e-4584-adb7-c1045c5d54e8
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on 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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on word"), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-13-31.af234347-345f-4be2-9a75-b44a29d2c731 b/errors/127.0.0.1.2010-07-07.13-13-31.af234347-345f-4be2-9a75-b44a29d2c731
new file mode 100644
index 0000000..8d14436
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-13-31.af234347-345f-4be2-9a75-b44a29d2c731
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on 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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on word"), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-13-33.1817152c-4167-4003-97c8-f262f2418d4a b/errors/127.0.0.1.2010-07-07.13-13-33.1817152c-4167-4003-97c8-f262f2418d4a
new file mode 100644
index 0000000..8d14436
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-13-33.1817152c-4167-4003-97c8-f262f2418d4a
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on 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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on word"), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-14-11.def093d0-74fd-47fc-8b61-4e97b8c7c8ad b/errors/127.0.0.1.2010-07-07.13-14-11.def093d0-74fd-47fc-8b61-4e97b8c7c8ad
new file mode 100644
index 0000000..8d14436
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-14-11.def093d0-74fd-47fc-8b61-4e97b8c7c8ad
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on 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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on word"), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-14-12.13c743f7-bea2-4207-8e07-f4e8e1e63ed5 b/errors/127.0.0.1.2010-07-07.13-14-12.13c743f7-bea2-4207-8e07-f4e8e1e63ed5
new file mode 100644
index 0000000..8d14436
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-14-12.13c743f7-bea2-4207-8e07-f4e8e1e63ed5
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on 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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on word"), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-14-14.9c5968a9-752f-46f4-93d5-50656ee3b161 b/errors/127.0.0.1.2010-07-07.13-14-14.9c5968a9-752f-46f4-93d5-50656ee3b161
new file mode 100644
index 0000000..8d14436
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-14-14.9c5968a9-752f-46f4-93d5-50656ee3b161
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on 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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message="Username must be on word"), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-15-41.0d7ba954-21a4-4a16-90d1-b78a855f77f7 b/errors/127.0.0.1.2010-07-07.13-15-41.0d7ba954-21a4-4a16-90d1-b78a855f77f7
new file mode 100644
index 0000000..f1d378d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-15-41.0d7ba954-21a4-4a16-90d1-b78a855f77f7
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.count(\'\') == 0, error_message="Username must be on 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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\'\') == 0, error_message="Username must be on word"), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-17-26.107ff8c1-0237-4e17-be9e-5164ce5c084a b/errors/127.0.0.1.2010-07-07.13-17-26.107ff8c1-0237-4e17-be9e-5164ce5c084a
new file mode 100644
index 0000000..d9a6dc5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-17-26.107ff8c1-0237-4e17-be9e-5164ce5c084a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-20-18.131fe760-052a-4d22-b751-acd5488237e8 b/errors/127.0.0.1.2010-07-07.13-20-18.131fe760-052a-4d22-b751-acd5488237e8
new file mode 100644
index 0000000..d9a6dc5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-20-18.131fe760-052a-4d22-b751-acd5488237e8
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-28-49.6a29edd5-5891-468d-a3b1-70c27a9c80f8 b/errors/127.0.0.1.2010-07-07.13-28-49.6a29edd5-5891-468d-a3b1-70c27a9c80f8
new file mode 100644
index 0000000..d55cab5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-28-49.6a29edd5-5891-468d-a3b1-70c27a9c80f8
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n import pdb\n pdb.set_trace()\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\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/controllers/default.py", line 94, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\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
diff --git a/errors/127.0.0.1.2010-07-07.13-28-54.73c37622-8507-4202-9e0d-ea4646a2508e b/errors/127.0.0.1.2010-07-07.13-28-54.73c37622-8507-4202-9e0d-ea4646a2508e
new file mode 100644
index 0000000..d55cab5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-28-54.73c37622-8507-4202-9e0d-ea4646a2508e
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n import pdb\n pdb.set_trace()\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\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/controllers/default.py", line 94, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\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
diff --git a/errors/127.0.0.1.2010-07-07.13-28-54.887bf6bc-2703-4d2c-bb0c-1fa8c4cc9657 b/errors/127.0.0.1.2010-07-07.13-28-54.887bf6bc-2703-4d2c-bb0c-1fa8c4cc9657
new file mode 100644
index 0000000..545b93c
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-28-54.887bf6bc-2703-4d2c-bb0c-1fa8c4cc9657
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n import pdb\n pdb.set_trace()\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 94, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-28-55.5616978c-ffbf-4d6d-a5ed-7a3c471b9546 b/errors/127.0.0.1.2010-07-07.13-28-55.5616978c-ffbf-4d6d-a5ed-7a3c471b9546
new file mode 100644
index 0000000..d55cab5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-28-55.5616978c-ffbf-4d6d-a5ed-7a3c471b9546
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n import pdb\n pdb.set_trace()\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\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/controllers/default.py", line 94, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 6, in index\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\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
diff --git a/errors/127.0.0.1.2010-07-07.13-31-37.4fe38a35-2189-45a4-9523-2c6109aac885 b/errors/127.0.0.1.2010-07-07.13-31-37.4fe38a35-2189-45a4-9523-2c6109aac885
new file mode 100644
index 0000000..d9a6dc5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-31-37.4fe38a35-2189-45a4-9523-2c6109aac885
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-36-30.9b84432b-9342-4d75-bcc7-240878242c2c b/errors/127.0.0.1.2010-07-07.13-36-30.9b84432b-9342-4d75-bcc7-240878242c2c
new file mode 100644
index 0000000..fdb8ab2
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-36-30.9b84432b-9342-4d75-bcc7-240878242c2c
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1\nSyntaxError: can\'t assign to function call (<string>, line 1)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-37-11.ff337428-c630-4010-8da5-cd2309e00e3c b/errors/127.0.0.1.2010-07-07.13-37-11.ff337428-c630-4010-8da5-cd2309e00e3c
new file mode 100644
index 0000000..5988bd1
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-37-11.ff337428-c630-4010-8da5-cd2309e00e3c
@@ -0,0 +1,17 @@
+(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(\'comment\',\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, \'comment.title\', error_message="Title is already taken")]),\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")]))\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\n\nauth_table.username.requires = [IS_EXPR(auth_table.username.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 25, in <module>\n auth_table.username.requires = [IS_EXPR(auth_table.username.count(\' \') == 0, error_message=\'username must be one word\'), IS_NOT_IN_DB(db, auth_table.username)]\nTypeError: count() takes exactly 1 argument (2 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-37-47.a78bfd0e-5201-4158-8e77-ca03ab24ccc1 b/errors/127.0.0.1.2010-07-07.13-37-47.a78bfd0e-5201-4158-8e77-ca03ab24ccc1
new file mode 100644
index 0000000..cfb432d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-37-47.a78bfd0e-5201-4158-8e77-ca03ab24ccc1
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\nTypeError: cannot concatenate \'str\' and \'bool\' objects\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-38-28.50cd70b4-e7fc-4094-82e1-6032a6141703 b/errors/127.0.0.1.2010-07-07.13-38-28.50cd70b4-e7fc-4094-82e1-6032a6141703
new file mode 100644
index 0000000..d9a6dc5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-38-28.50cd70b4-e7fc-4094-82e1-6032a6141703
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-40-20.6ffe0d95-5460-4e2c-93e2-86ead95e02cb b/errors/127.0.0.1.2010-07-07.13-40-20.6ffe0d95-5460-4e2c-93e2-86ead95e02cb
new file mode 100644
index 0000000..d9a6dc5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-40-20.6ffe0d95-5460-4e2c-93e2-86ead95e02cb
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-42-38.3ddb898c-d832-494c-bc25-79e75640fdbc b/errors/127.0.0.1.2010-07-07.13-42-38.3ddb898c-d832-494c-bc25-79e75640fdbc
new file mode 100644
index 0000000..d9a6dc5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-42-38.3ddb898c-d832-494c-bc25-79e75640fdbc
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nNameError: name \'auth_table\' is not defined\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-43-36.dccbc715-7c4d-4e1a-8d63-13f904ad30f0 b/errors/127.0.0.1.2010-07-07.13-43-36.dccbc715-7c4d-4e1a-8d63-13f904ad30f0
new file mode 100644
index 0000000..501ee72
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-43-36.dccbc715-7c4d-4e1a-8d63-13f904ad30f0
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nTypeError: count() takes at least 1 argument (0 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-44-40.c1e96f3e-1124-4b21-b3b8-ac9dea6f23a7 b/errors/127.0.0.1.2010-07-07.13-44-40.c1e96f3e-1124-4b21-b3b8-ac9dea6f23a7
new file mode 100644
index 0000000..4028e43
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-44-40.c1e96f3e-1124-4b21-b3b8-ac9dea6f23a7
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1\n __ret__=str(value).count(,) == 0\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.13-44-52.3d13b8c8-4331-45e0-bfa0-b5959ab29875 b/errors/127.0.0.1.2010-07-07.13-44-52.3d13b8c8-4331-45e0-bfa0-b5959ab29875
new file mode 100644
index 0000000..501ee72
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.13-44-52.3d13b8c8-4331-45e0-bfa0-b5959ab29875
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(user)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 82, in user\n return dict(form=auth())\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 966, in __call__\n return self.register()\n File "/home/jboisture/Desktop/web2py/gluon/tools.py", line 1502, in register\n onvalidation=onvalidation):\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 876, in accepts\n onvalidation,\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1452, in accepts\n status = self._traverse(status)\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 480, in _traverse\n newstatus = c._traverse(status) and newstatus\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 487, in _traverse\n newstatus = self._validate()\n File "/home/jboisture/Desktop/web2py/gluon/html.py", line 1245, in _validate\n (value, errors) = validator(value)\n File "/home/jboisture/Desktop/web2py/gluon/validators.py", line 156, in __call__\n exec \'__ret__=\' + self.expression in environment\n File "<string>", line 1, in <module>\nTypeError: count() takes at least 1 argument (0 given)\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.14-14-10.108e3849-d19a-4979-bb8f-170e1788b88e b/errors/127.0.0.1.2010-07-07.14-14-10.108e3849-d19a-4979-bb8f-170e1788b88e
new file mode 100644
index 0000000..9ccb051
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.14-14-10.108e3849-d19a-4979-bb8f-170e1788b88e
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'new Image\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n db.comment.truncate()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(upload)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 59, in upload\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'new Image\', \'description\'])\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 617, in __init__\n field = self.table[fieldname]\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 1592, in __getitem__\n return dict.__getitem__(self, str(key))\nKeyError: \'new Image\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.14-19-31.2b679cfa-147e-44f5-bb2c-c000d4faec5a b/errors/127.0.0.1.2010-07-07.14-19-31.2b679cfa-147e-44f5-bb2c-c000d4faec5a
new file mode 100644
index 0000000..5162b8d
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.14-19-31.2b679cfa-147e-44f5-bb2c-c000d4faec5a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n print table\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n import pdb\n pdb.set_trace()\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(adminpage)\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/controllers/default.py", line 93, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 88, in adminpage\n redirect(\'index.html\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 88, in adminpage\n redirect(\'index.html\')\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
diff --git a/errors/127.0.0.1.2010-07-07.16-29-29.4e5b9f63-8d7c-431d-a58d-33ab2b0b203a b/errors/127.0.0.1.2010-07-07.16-29-29.4e5b9f63-8d7c-431d-a58d-33ab2b0b203a
new file mode 100644
index 0000000..03654d0
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-29-29.4e5b9f63-8d7c-431d-a58d-33ab2b0b203a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n <li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li>\\n <li><a href="user/logout">Log Out</li>\\n <li><a href="upload.html" >New Image</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'\\n <li><a href="user.html">log in</a></li>\\n \',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( comment.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.newimage))\nresponse.write(\'">\\n\',escape=False)\nif comment.creator == auth.user.username:\n response.write(\'<a href=\',escape=False)\n response.write("delete?title="+str(comment.title).replace(\' \',\'*\'))\n response.write(\'>delete image</a>\\n<p>\',escape=False)\n response.write( "author: ")\n response.write(\'<a href=\',escape=False)\n response.write( "profile?user=" +comment.creator)\n response.write(\'>\',escape=False)\n response.write(comment.creator)\n response.write(\' </a></p>\\n<a href="\',escape=False)\n response.write(URL(r=request, f=\'download\', args=comment.file))\n response.write(\'"> Download TA file</a>\\n<p>\',escape=False)\n response.write( "description: " + comment.description)\n response.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 16, in <module>\nAttributeError: \'NoneType\' object has no attribute \'username\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.16-32-50.81a49f98-1a5f-4ca8-a41e-693855f5138b b/errors/127.0.0.1.2010-07-07.16-32-50.81a49f98-1a5f-4ca8-a41e-693855f5138b
new file mode 100644
index 0000000..3e2e5f7
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-32-50.81a49f98-1a5f-4ca8-a41e-693855f5138b
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n print auth.user.username\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n import pdb\n pdb.set_trace()\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n print title\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\t\n\ndef adminpage():\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(image)\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/controllers/default.py", line 92, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 70, in image\n print title\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 70, in image\n print title\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
diff --git a/errors/127.0.0.1.2010-07-07.16-32-50.97d2cef2-71eb-448d-83b7-90194b6973f3 b/errors/127.0.0.1.2010-07-07.16-32-50.97d2cef2-71eb-448d-83b7-90194b6973f3
new file mode 100644
index 0000000..3bb3bd4
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-32-50.97d2cef2-71eb-448d-83b7-90194b6973f3
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n <li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li>\\n <li><a href="user/logout">Log Out</li>\\n <li><a href="upload.html" >New Image</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'\\n <li><a href="user.html">log in</a></li>\\n \',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( comment.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.newimage))\nresponse.write(\'">\\n\',escape=False)\nif auth.is_logged_in:\n response.write(\'\\n \',escape=False)\n if comment.creator == auth.user.username:\n response.write(\'\\n <a href=\',escape=False)\n response.write("delete?title="+str(comment.title).replace(\' \',\'*\'))\n response.write(\'>delete image</a>\\n \',escape=False)\n pass\n response.write(\'\\n \',escape=False)\n pass\nresponse.write(\'\\n<p>\',escape=False)\nresponse.write( "author: ")\nresponse.write(\'<a href=\',escape=False)\nresponse.write( "profile?user=" +comment.creator)\nresponse.write(\'>\',escape=False)\nresponse.write(comment.creator)\nresponse.write(\' </a></p>\\n<a href="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.file))\nresponse.write(\'"> Download TA file</a>\\n<p>\',escape=False)\nresponse.write( "description: " + comment.description)\nresponse.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 18, in <module>\nAttributeError: \'NoneType\' object has no attribute \'username\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.16-32-54.31cc3ee7-07f6-44cb-9720-b478c11bf60f b/errors/127.0.0.1.2010-07-07.16-32-54.31cc3ee7-07f6-44cb-9720-b478c11bf60f
new file mode 100644
index 0000000..3bb3bd4
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-32-54.31cc3ee7-07f6-44cb-9720-b478c11bf60f
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n <li>\',escape=False)\n response.write(auth.user.username+": ")\n response.write(\'</li>\\n <li><a href="user/logout">Log Out</li>\\n <li><a href="upload.html" >New Image</a></li>\\n <li><a href="adminpage.html" >Clear All</a></li>\\n \',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'\\n <li><a href="user.html">log in</a></li>\\n \',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( comment.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.newimage))\nresponse.write(\'">\\n\',escape=False)\nif auth.is_logged_in:\n response.write(\'\\n \',escape=False)\n if comment.creator == auth.user.username:\n response.write(\'\\n <a href=\',escape=False)\n response.write("delete?title="+str(comment.title).replace(\' \',\'*\'))\n response.write(\'>delete image</a>\\n \',escape=False)\n pass\n response.write(\'\\n \',escape=False)\n pass\nresponse.write(\'\\n<p>\',escape=False)\nresponse.write( "author: ")\nresponse.write(\'<a href=\',escape=False)\nresponse.write( "profile?user=" +comment.creator)\nresponse.write(\'>\',escape=False)\nresponse.write(comment.creator)\nresponse.write(\' </a></p>\\n<a href="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=comment.file))\nresponse.write(\'"> Download TA file</a>\\n<p>\',escape=False)\nresponse.write( "description: " + comment.description)\nresponse.write(\'</p>\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 18, in <module>\nAttributeError: \'NoneType\' object has no attribute \'username\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.16-39-27.9cdc3ed8-c90f-48a5-9340-d476134c444f b/errors/127.0.0.1.2010-07-07.16-39-27.9cdc3ed8-c90f-48a5-9340-d476134c444f
new file mode 100644
index 0000000..e56bafc
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-39-27.9cdc3ed8-c90f-48a5-9340-d476134c444f
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n if auth.is_logged_in():\n if auth.user.username == real_comment.creator:\n db(real_comment).delete()\n redirect(URL(r=request, f=\'index\')) \n \n\t\n\ndef adminpage():\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(delete)\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/controllers/default.py", line 100, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 89, in delete\n db(real_comment).delete()\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 3253, in delete\n query = self._delete()\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 3244, in _delete\n \'Set: unable to determine what to delete\'\nSyntaxError: Set: unable to determine what to delete\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.16-42-49.21f22d8c-b870-4d72-b35f-6be8c9caaeb4 b/errors/127.0.0.1.2010-07-07.16-42-49.21f22d8c-b870-4d72-b35f-6be8c9caaeb4
new file mode 100644
index 0000000..7c93995
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-42-49.21f22d8c-b870-4d72-b35f-6be8c9caaeb4
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n import pdb\n pdb.set_trace()\n #if auth.is_logged_in():\n #if auth.user.username == real_comment.creator:\n #query=(db.comment.key=id)\n #db(real_comment).delete()\n redirect(URL(r=request, f=\'index\')) \n \n\t\n\ndef adminpage():\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(delete)\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/controllers/default.py", line 103, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 93, in delete\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 93, in delete\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
diff --git a/errors/127.0.0.1.2010-07-07.16-42-49.5500a16a-fe80-4d2b-a2df-b94c99a58dfd b/errors/127.0.0.1.2010-07-07.16-42-49.5500a16a-fe80-4d2b-a2df-b94c99a58dfd
new file mode 100644
index 0000000..7ce36f5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-42-49.5500a16a-fe80-4d2b-a2df-b94c99a58dfd
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n if auth.is_logged_in():\n if auth.user.username == real_comment.creator:\n query=(db.comment.id=real_comment.id)\n db(query).delete()\n redirect(URL(r=request, f=\'index\')) \n \n\t\n\ndef adminpage():\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(image)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 89\n query=(db.comment.id=real_comment.id)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.16-42-49.741b571e-4ded-49e0-9cf2-14a0b3f8e4ce b/errors/127.0.0.1.2010-07-07.16-42-49.741b571e-4ded-49e0-9cf2-14a0b3f8e4ce
new file mode 100644
index 0000000..e358c61
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-42-49.741b571e-4ded-49e0-9cf2-14a0b3f8e4ce
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n if auth.is_logged_in():\n if auth.user.username == real_comment.creator:\n query=(db.comment.id=real_comment.id)\n db(query).delete()\n redirect(URL(r=request, f=\'index\')) \n \n\t\n\ndef adminpage():\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(delete)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 89\n query=(db.comment.id=real_comment.id)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.16-42-51.27384b3c-0d23-4255-b7a5-94878177932a b/errors/127.0.0.1.2010-07-07.16-42-51.27384b3c-0d23-4255-b7a5-94878177932a
new file mode 100644
index 0000000..7ce36f5
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-42-51.27384b3c-0d23-4255-b7a5-94878177932a
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n if auth.is_logged_in():\n if auth.user.username == real_comment.creator:\n query=(db.comment.id=real_comment.id)\n db(query).delete()\n redirect(URL(r=request, f=\'index\')) \n \n\t\n\ndef adminpage():\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(image)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 89\n query=(db.comment.id=real_comment.id)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-07.16-42-52.cbb2f140-acf8-454d-8233-26a716b375cf b/errors/127.0.0.1.2010-07-07.16-42-52.cbb2f140-acf8-454d-8233-26a716b375cf
new file mode 100644
index 0000000..bc9b4c7
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-07.16-42-52.cbb2f140-acf8-454d-8233-26a716b375cf
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n comments = db().select(db.comment.ALL)\n i = 0\n row = []\n count = 0\n for comment in comments:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n comments = db().select(db.comment.ALL)\n for comment in comments:\n if comment.creator == user:\n print user, comment.creator\n user_pics.append(comment)\n i = 0\n row = []\n count = 0\n print page\n for comment in user_pics:\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(comment)\n count += 1\n table.append(row)\n pages = count / 12\n if count%12 > 0: pages += 1\n page += 1\n return dict(comments=table, pages=pages, page=page, user=user)\n\ndef upload():\n form = SQLFORM(db.comment, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.comment.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n return dict(comment = real_comment)\n \n \ndef testimage():\n\treturn db(db.comment.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n comments = db().select(db.comment.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for comment in comments:\n if comment.title == title:\n real_comment = comment\n if auth.is_logged_in():\n if auth.user.username == real_comment.creator:\n query=(db.comment.id=real_comment.id)\n db(query).delete()\n redirect(URL(r=request, f=\'index\')) \n \n\t\n\ndef adminpage():\n redirect(\'index.html\')\n \ndef download():\n return response.download(request, db)\n\nresponse._vars=response._caller(index)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 89\n query=(db.comment.id=real_comment.id)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-07-46.fde1a7c2-e75d-4a3e-b5b3-12637cc93288 b/errors/127.0.0.1.2010-07-08.15-07-46.fde1a7c2-e75d-4a3e-b5b3-12637cc93288
new file mode 100644
index 0000000..c9c8b6e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-07-46.fde1a7c2-e75d-4a3e-b5b3-12637cc93288
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\n form = SQLFORM(db.image, fields = [\'comment\'])\n if form.accepts(request.vars, session):\n session.image_id = real_image.image_id\n\n return dict(image = real_image, form= form)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 102, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 73, in image\n form = SQLFORM(db.image, fields = [\'comment\'])\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 617, in __init__\n field = self.table[fieldname]\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 1592, in __getitem__\n return dict.__getitem__(self, str(key))\nKeyError: \'comment\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-14-06.7b0ddfb6-a1e1-452d-94f3-8d62c337b7eb b/errors/127.0.0.1.2010-07-08.15-14-06.7b0ddfb6-a1e1-452d-94f3-8d62c337b7eb
new file mode 100644
index 0000000..7b3c72e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-14-06.7b0ddfb6-a1e1-452d-94f3-8d62c337b7eb
@@ -0,0 +1,17 @@
+(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 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py", line 17\n Field(\'author\'),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-14-07.3795a611-89e5-4715-a7c6-2b21e64b3cd4 b/errors/127.0.0.1.2010-07-08.15-14-07.3795a611-89e5-4715-a7c6-2b21e64b3cd4
new file mode 100644
index 0000000..7b3c72e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-14-07.3795a611-89e5-4715-a7c6-2b21e64b3cd4
@@ -0,0 +1,17 @@
+(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 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/models/db.py", line 17\n Field(\'author\'),\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-14-29.1e5f4dc2-43ef-4b5c-9b5c-b7af6561aee8 b/errors/127.0.0.1.2010-07-08.15-14-29.1e5f4dc2-43ef-4b5c-9b5c-b7af6561aee8
new file mode 100644
index 0000000..550cda3
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-14-29.1e5f4dc2-43ef-4b5c-9b5c-b7af6561aee8
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\n form = SQLFORM(db.image, fields = [\'body\'])\n if form.accepts(request.vars, session):\n import pdb\n pdb.set_trace()\n db(db.comment.==session.new_image_title).update(creator = auth.user.username)\n session.image_id = real_image.image_id\n\n return dict(image = real_image, form= form)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(index)\n'
+p6
+sS'traceback'
+p7
+S'Traceback (most recent call last):\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 176, in restricted\n ccode = compile2(code,layer)\n File "/home/jboisture/Desktop/web2py/gluon/restricted.py", line 163, in compile2\n return compile(code.rstrip().replace(\'\\r\\n\',\'\\n\')+\'\\n\', layer, \'exec\')\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 77\n db(db.comment.==session.new_image_title).update(creator = auth.user.username)\n ^\nSyntaxError: invalid syntax\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-14-55.47d15630-09c6-484b-be13-70f862f8f005 b/errors/127.0.0.1.2010-07-08.15-14-55.47d15630-09c6-484b-be13-70f862f8f005
new file mode 100644
index 0000000..c57b550
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-14-55.47d15630-09c6-484b-be13-70f862f8f005
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\n form = SQLFORM(db.image, fields = [\'body\'])\n if form.accepts(request.vars, session):\n import pdb\n pdb.set_trace()\n db(db.comment.comment_id==session.new_image_title).update(creator = auth.user.username)\n session.image_id = real_image.image_id\n\n return dict(image = real_image, form= form)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 105, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 73, in image\n form = SQLFORM(db.image, fields = [\'body\'])\n File "/home/jboisture/Desktop/web2py/gluon/sqlhtml.py", line 617, in __init__\n field = self.table[fieldname]\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 1592, in __getitem__\n return dict.__getitem__(self, str(key))\nKeyError: \'body\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-20-04.c1fba562-e378-41c4-92df-d633a3e37b90 b/errors/127.0.0.1.2010-07-08.15-20-04.c1fba562-e378-41c4-92df-d633a3e37b90
new file mode 100644
index 0000000..060a1d9
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-20-04.c1fba562-e378-41c4-92df-d633a3e37b90
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\n form = SQLFORM(db.comment, fields = [\'body\'])\n if form.accepts(request.vars, session):\n import pdb\n pdb.set_trace()\n db(db.comment.comment_id==session.new_image_title).update(creator = auth.user.username)\n session.image_id = real_image.image_id\n\n return dict(image = real_image, form= form)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 105, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 77, in image\n db(db.comment.comment_id==session.new_image_title).update(creator = auth.user.username)\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 3302, in update\n query = self._update(**update_fields)\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 3294, in _update\n update_fields.items()])\n File "/home/jboisture/Desktop/web2py/gluon/sql.py", line 1592, in __getitem__\n return dict.__getitem__(self, str(key))\nKeyError: \'creator\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-25-24.de4d5065-f593-4432-b000-2684ae1aa3ed b/errors/127.0.0.1.2010-07-08.15-25-24.de4d5065-f593-4432-b000-2684ae1aa3ed
new file mode 100644
index 0000000..ccb6a77
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-25-24.de4d5065-f593-4432-b000-2684ae1aa3ed
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n <li><a href=\',escape=False)\n response.write("profile?user="+auth.user.username)\n response.write(\'>\',escape=False)\n response.write(auth.user.username)\n response.write(\'</a>: </li>\\n <li><a href="user/logout">Log Out</li>\\n <li><a href="upload.html" >New Image</a></li>\\n \',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'\\n <li><a href="user.html">log in</a></li>\\n \',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( image.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=image.newimage))\nresponse.write(\'">\\n<br>\\n\',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n \',escape=False)\n if image.creator == auth.user.username:\n response.write(\'\\n <a href=\',escape=False)\n response.write("delete?title="+str(image.title).replace(\' \',\'*\'))\n response.write(\'>delete image</a>\\n \',escape=False)\n pass\n response.write(\'\\n \',escape=False)\n pass\nresponse.write(\'\\n<p>\',escape=False)\nresponse.write( "author: ")\nresponse.write(\'<a href=\',escape=False)\nresponse.write( "profile?user=" +image.creator)\nresponse.write(\'>\',escape=False)\nresponse.write(image.creator)\nresponse.write(\' </a></p>\\n<a href="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=image.file))\nresponse.write(\'"> Download TA file</a>\\n<p>\',escape=False)\nresponse.write( "description: " + image.description)\nresponse.write(\'</p>\\n\',escape=False)\nfor comment in comments:\n response.write(\'\\n \',escape=False)\n response.write(comment.author + ": " + comment.body)\n response.write(\'\\n \',escape=False)\n pass\nresponse.write(\'\\n\',escape=False)\nresponse.write(form)\nresponse.write(\'\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 40, in <module>\nTypeError: unsupported operand type(s) for +: \'NoneType\' and \'str\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-27-15.de25781c-0d1f-461e-b017-7e1cc7364149 b/errors/127.0.0.1.2010-07-08.15-27-15.de25781c-0d1f-461e-b017-7e1cc7364149
new file mode 100644
index 0000000..15c308b
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-27-15.de25781c-0d1f-461e-b017-7e1cc7364149
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\n form = SQLFORM(db.comment, fields = [\'body\'])\n if form.accepts(request.vars, session):\n db(db.comment.comment_id==form.vars.id).update(author = auth.user.username)\n db(db.comment.comment_id==form.vars.id).update(image_id = real_image.image_id)\n comments=db().select(db.comment.ALL)\n image_comments = []\n for comment in comments:\n if comment.image_id == real_image.image_id:\n image_comments.append(comment)\n import pdb\n pdb.set_trace()\n return dict(image = real_image, form= form,comments=image_comments)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 109, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\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
diff --git a/errors/127.0.0.1.2010-07-08.15-27-15.f2377554-51ca-4b7b-bca0-2fe90a07ee10 b/errors/127.0.0.1.2010-07-08.15-27-15.f2377554-51ca-4b7b-bca0-2fe90a07ee10
new file mode 100644
index 0000000..2ea7c9e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-27-15.f2377554-51ca-4b7b-bca0-2fe90a07ee10
@@ -0,0 +1,17 @@
+(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 <module>\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table comment already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-27-28.3cfa76ce-558d-4e94-a577-5f6e506570b0 b/errors/127.0.0.1.2010-07-08.15-27-28.3cfa76ce-558d-4e94-a577-5f6e506570b0
new file mode 100644
index 0000000..2ea7c9e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-27-28.3cfa76ce-558d-4e94-a577-5f6e506570b0
@@ -0,0 +1,17 @@
+(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 <module>\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table comment already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-27-34.cfed5abe-608e-4b91-959d-fc7f05fec5bd b/errors/127.0.0.1.2010-07-08.15-27-34.cfed5abe-608e-4b91-959d-fc7f05fec5bd
new file mode 100644
index 0000000..2ea7c9e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-27-34.cfed5abe-608e-4b91-959d-fc7f05fec5bd
@@ -0,0 +1,17 @@
+(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 <module>\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table comment already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-28-47.91eb3c05-1b3c-4528-832a-e08c2a9768e9 b/errors/127.0.0.1.2010-07-08.15-28-47.91eb3c05-1b3c-4528-832a-e08c2a9768e9
new file mode 100644
index 0000000..2ea7c9e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-28-47.91eb3c05-1b3c-4528-832a-e08c2a9768e9
@@ -0,0 +1,17 @@
+(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 <module>\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table comment already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-28-52.37aa57a6-e815-457f-a164-1a9e898de742 b/errors/127.0.0.1.2010-07-08.15-28-52.37aa57a6-e815-457f-a164-1a9e898de742
new file mode 100644
index 0000000..2ea7c9e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-28-52.37aa57a6-e815-457f-a164-1a9e898de742
@@ -0,0 +1,17 @@
+(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 <module>\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table comment already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-28-53.87980077-8c27-4be8-8954-2da579e109fb b/errors/127.0.0.1.2010-07-08.15-28-53.87980077-8c27-4be8-8954-2da579e109fb
new file mode 100644
index 0000000..2ea7c9e
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-28-53.87980077-8c27-4be8-8954-2da579e109fb
@@ -0,0 +1,17 @@
+(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 <module>\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 <lambda>\n self._execute = lambda *a, **b: self._cursor.execute(*a, **b)\nOperationalError: table comment already exists\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-30-36.5919daf3-9557-456e-9af5-b9bf12a1e94d b/errors/127.0.0.1.2010-07-08.15-30-36.5919daf3-9557-456e-9af5-b9bf12a1e94d
new file mode 100644
index 0000000..f9d051c
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-30-36.5919daf3-9557-456e-9af5-b9bf12a1e94d
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\n form = SQLFORM(db.comment, fields = [\'body\'])\n if form.accepts(request.vars, session):\n db(db.comment.comment_id==form.vars.id).update(author = auth.user.username)\n db(db.comment.comment_id==form.vars.id).update(image_id = real_image.image_id)\n comments=db().select(db.comment.ALL)\n image_comments = []\n for comment in comments:\n if comment.image_id == real_image.image_id:\n image_comments.append(comment)\n import pdb\n pdb.set_trace()\n return dict(image = real_image, form= form,comments=image_comments)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 109, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\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
diff --git a/errors/127.0.0.1.2010-07-08.15-30-53.09f70acd-83e5-4c5d-af80-b0d8d0d53acd b/errors/127.0.0.1.2010-07-08.15-30-53.09f70acd-83e5-4c5d-af80-b0d8d0d53acd
new file mode 100644
index 0000000..ccb6a77
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-30-53.09f70acd-83e5-4c5d-af80-b0d8d0d53acd
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/views/default/image.html'
+p4
+sS'code'
+p5
+S'response.write(\'<html>\\n <link rel="stylesheet" href="../static/glike.css" type="text/css" />\\n <head>\\n <title>Turtle Art Image Database</title>\\n </head>\\n <body>\\n <div id="header">\\n <h1><a href="index.html" >Home</a></h1>\\n <ul>\\n \',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n <li><a href=\',escape=False)\n response.write("profile?user="+auth.user.username)\n response.write(\'>\',escape=False)\n response.write(auth.user.username)\n response.write(\'</a>: </li>\\n <li><a href="user/logout">Log Out</li>\\n <li><a href="upload.html" >New Image</a></li>\\n \',escape=False)\n pass\nresponse.write(\'\\n \',escape=False)\nif not auth.is_logged_in():\n response.write(\'\\n <li><a href="user.html">log in</a></li>\\n \',escape=False)\n pass\nresponse.write("\\n </ul>\\n </div>\\n <div id=\'bodycontent\'>\\n \\n<h1>",escape=False)\nresponse.write( image.title)\nresponse.write(\'</h1>\\n<img width="1000px"src="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=image.newimage))\nresponse.write(\'">\\n<br>\\n\',escape=False)\nif auth.is_logged_in():\n response.write(\'\\n \',escape=False)\n if image.creator == auth.user.username:\n response.write(\'\\n <a href=\',escape=False)\n response.write("delete?title="+str(image.title).replace(\' \',\'*\'))\n response.write(\'>delete image</a>\\n \',escape=False)\n pass\n response.write(\'\\n \',escape=False)\n pass\nresponse.write(\'\\n<p>\',escape=False)\nresponse.write( "author: ")\nresponse.write(\'<a href=\',escape=False)\nresponse.write( "profile?user=" +image.creator)\nresponse.write(\'>\',escape=False)\nresponse.write(image.creator)\nresponse.write(\' </a></p>\\n<a href="\',escape=False)\nresponse.write(URL(r=request, f=\'download\', args=image.file))\nresponse.write(\'"> Download TA file</a>\\n<p>\',escape=False)\nresponse.write( "description: " + image.description)\nresponse.write(\'</p>\\n\',escape=False)\nfor comment in comments:\n response.write(\'\\n \',escape=False)\n response.write(comment.author + ": " + comment.body)\n response.write(\'\\n \',escape=False)\n pass\nresponse.write(\'\\n\',escape=False)\nresponse.write(form)\nresponse.write(\'\\n\\n </div>\\n </body>\\n </style>\\n</html>\\n\',escape=False)'
+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/views/default/image.html", line 40, in <module>\nTypeError: unsupported operand type(s) for +: \'NoneType\' and \'str\'\n'
+p8
+s. \ No newline at end of file
diff --git a/errors/127.0.0.1.2010-07-08.15-35-45.6467e2f5-f182-4dcc-b8c0-8b4c7f6ee7d3 b/errors/127.0.0.1.2010-07-08.15-35-45.6467e2f5-f182-4dcc-b8c0-8b4c7f6ee7d3
new file mode 100644
index 0000000..f9d051c
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-35-45.6467e2f5-f182-4dcc-b8c0-8b4c7f6ee7d3
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\n form = SQLFORM(db.comment, fields = [\'body\'])\n if form.accepts(request.vars, session):\n db(db.comment.comment_id==form.vars.id).update(author = auth.user.username)\n db(db.comment.comment_id==form.vars.id).update(image_id = real_image.image_id)\n comments=db().select(db.comment.ALL)\n image_comments = []\n for comment in comments:\n if comment.image_id == real_image.image_id:\n image_comments.append(comment)\n import pdb\n pdb.set_trace()\n return dict(image = real_image, form= form,comments=image_comments)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 109, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\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
diff --git a/errors/127.0.0.1.2010-07-08.15-39-18.b852155d-a09a-4eae-8418-31a0fc1a70fb b/errors/127.0.0.1.2010-07-08.15-39-18.b852155d-a09a-4eae-8418-31a0fc1a70fb
new file mode 100644
index 0000000..a949572
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-39-18.b852155d-a09a-4eae-8418-31a0fc1a70fb
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\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.image_id)\n comments=db().select(db.comment.ALL)\n image_comments = []\n for comment in comments:\n if comment.image_id == real_image.image_id:\n image_comments.append(comment)\n import pdb\n pdb.set_trace()\n return dict(image = real_image, form= form,comments=image_comments)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 109, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\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
diff --git a/errors/127.0.0.1.2010-07-08.15-39-19.faf9b321-fb04-4c6c-9261-bde7c167db06 b/errors/127.0.0.1.2010-07-08.15-39-19.faf9b321-fb04-4c6c-9261-bde7c167db06
new file mode 100644
index 0000000..9603eab
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-39-19.faf9b321-fb04-4c6c-9261-bde7c167db06
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\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 import pdb\n pdb.set_trace()\n return dict(image = real_image, form= form,comments=image_comments)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 109, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\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
diff --git a/errors/127.0.0.1.2010-07-08.15-39-34.7fbe55a2-ee87-4644-8a81-b6e33e7b56e0 b/errors/127.0.0.1.2010-07-08.15-39-34.7fbe55a2-ee87-4644-8a81-b6e33e7b56e0
new file mode 100644
index 0000000..9603eab
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-39-34.7fbe55a2-ee87-4644-8a81-b6e33e7b56e0
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\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, user=user)\n\ndef upload():\n form = SQLFORM(db.image, fields = [\'title\', \'file\', \'newimage\', \'description\'])\n if form.accepts(request.vars, session):\n session.new_image_title = form.vars.title\n db(db.image.title==session.new_image_title).update(creator = auth.user.username)\n redirect(URL(r=request, f=\'index\')) \n return dict(form=form)\n\n\ndef image():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\n real_image = image\n if auth.is_logged_in():\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 import pdb\n pdb.set_trace()\n return dict(image = real_image, form= form,comments=image_comments)\n \n \ndef testimage():\n\treturn db(db.image.title=="hellotest")\n\ndef user(): \n return dict(form=auth())\n\ndef delete():\n images = db().select(db.image.ALL)\n title = request.vars["title"].replace(\'*\',\' \')\n for image in images:\n if image.title == title:\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\nresponse._vars=response._caller(image)\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/controllers/default.py", line 109, in <module>\n File "/home/jboisture/Desktop/web2py/gluon/globals.py", line 96, in <lambda>\n self._caller = lambda f: f()\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\n File "/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py", line 84, in image\n return dict(image = real_image, form= form,comments=image_comments)\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
diff --git a/errors/127.0.0.1.2010-07-08.15-39-34.ac09ca25-c8df-4b40-b165-b24092d60e48 b/errors/127.0.0.1.2010-07-08.15-39-34.ac09ca25-c8df-4b40-b165-b24092d60e48
new file mode 100644
index 0000000..9603eab
--- /dev/null
+++ b/errors/127.0.0.1.2010-07-08.15-39-34.ac09ca25-c8df-4b40-b165-b24092d60e48
@@ -0,0 +1,17 @@
+(dp1
+S'output'
+p2
+S''
+sS'layer'
+p3
+S'/home/jboisture/Desktop/web2py/applications/turtlesite/controllers/default.py'
+p4
+sS'code'
+p5
+S'import os\n\ndef index():\n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n images = db().select(db.image.ALL)\n i = 0\n row = []\n count = 0\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)\n\ndef profile():\n if "user" in request.vars.keys(): user = request.vars["user"]\n else: redirect(URL(r=request, f=\'index\')) \n if "page" in request.vars.keys(): page = int(request.vars["page"]) - 1\n else: page = 0\n table = []\n user_pics = []\n images = db().select(db.image.ALL)\n for image in images:\n if image.creator == user:\n print user, image.creator\n user_pics.append(image)\n i = 0\n row = []\n count = 0\n print page\n for image in user_pics:\n if count