(dp1 S'output' p2 S" 'datetime.date' object has no attribute '__getitem__'" p3 sS'layer' p4 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py' p5 sS'code' p6 S' at 0x7f7c90f857b0, file "/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py", line 2>' p7 sS'snapshot' p8 (dp9 S'exception' p10 (dp11 S'__getslice__' p12 S"" p13 sS'__str__' p14 S"" p15 sS'__reduce__' p16 S'' p17 sS'__dict__' p18 S'{}' p19 sS'message' p20 S'"\'datetime.date\' object has no attribute \'__getitem__\'"' p21 sS'__sizeof__' p22 S'' p23 sS'__init__' p24 S"" p25 sS'__setattr__' p26 S"" p27 sS'__reduce_ex__' p28 S'' p29 sS'__new__' p30 S'' p31 sS'__format__' p32 S'' p33 sS'__class__' p34 S"" p35 sS'__doc__' p36 S"'Inappropriate argument type.'" p37 sS'__getitem__' p38 S"" p39 sS'__setstate__' p40 S'' p41 sS'__getattribute__' p42 S"" p43 sS'args' p44 S'("\'datetime.date\' object has no attribute \'__getitem__\'",)' p45 sS'__subclasshook__' p46 S'' p47 sS'__unicode__' p48 S'' p49 sS'__delattr__' p50 S"" p51 sS'__repr__' p52 S"" p53 sS'__hash__' p54 S"" p55 ssS'evalue' p56 S"'datetime.date' object has no attribute '__getitem__'" p57 sS'request' p58 cgluon.html XML_unpickle p59 (S's\x07k\x00\x00
ajax:
False
application:
Multiform
args:
cid:
None
client:
127.0.0.1
controller:
default
cookies:
session_id_admin:
127.0.0.1-45f002ee-d673-4882-8232-a947f722f0cc
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
session_id_highways:
127.0.0.1-570ad9dc-d7c8-4390-a43e-9c3207ed2917
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
session_id_multiform:
127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
session_id_tiny_website:
2:bc5fb02a-35d0-419c-876b-bfec4f92e2a2
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
session_id_welcome:
127.0.0.1-7eb52914-6c77-4487-8920-cde8f07dbed3
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
env:
HTTP_ACCEPT:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
HTTP_ACCEPT_ENCODING:
gzip, deflate
HTTP_ACCEPT_LANGUAGE:
en-US,en;q=0.5
HTTP_CONNECTION:
keep-alive
HTTP_COOKIE:
session_id_welcome=127.0.0.1-7eb52914-6c77-4487-8920-cde8f07dbed3; session_id_admin=127.0.0.1-45f002ee-d673-4882-8232-a947f722f0cc; session_id_multiform=127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359; session_id_tiny_website="2:bc5fb02a-35d0-419c-876b-bfec4f92e2a2"; session_id_highways=127.0.0.1-570ad9dc-d7c8-4390-a43e-9c3207ed2917
HTTP_HOST:
127.0.0.1:8000
HTTP_REFERER:
http://127.0.0.1:8000/Multiform/default/search
HTTP_UPGRADE_INSECURE_REQUESTS:
1
HTTP_USER_AGENT:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0
PATH_INFO:
/Multiform/default/results
QUERY_STRING:
REMOTE_ADDR:
127.0.0.1
REMOTE_PORT:
60174
REQUEST_METHOD:
GET
SCRIPT_NAME:
SERVER_NAME:
Omen
SERVER_PORT:
8000
SERVER_PROTOCOL:
HTTP/1.1
SERVER_SOFTWARE:
Rocket 1.2.6
app_folders:
set(['/home/jdalbey/Dropbox/web2py/applications/Multiform', '/home/jdalbey/Dropbox/web2py/applications/tiny_website', '/home/jdalbey/Dropbox/web2py/applications/Highways', '/home/jdalbey/Dropbox/web2py/applications/welcome', '/home/jdalbey/Dropbox/web2py/applications/admin'])
applications_parent:
/home/jdalbey/Dropbox/web2py
cmd_args:
cmd_options:
<Values at 0x7f7cbeceb9b0: {'verbose': False, 'ip': '127.0.0.1', 'debuglevel': 30, 'with_scheduler': False, 'shutdown_timeout': 5, 'taskbar': False, 'with_coverage': False, 'pid_filename': 'httpserver.pid', 'maxthreads': None, 'softcron': False, 'server_name': 'Omen', 'bpython': False, 'nogui': False, 'port': 8000, 'print_errors': False, 'extcron': False, 'runcron': False, 'run_system_tests': False, 'test': None, 'folder': '/home/jdalbey/Dropbox/web2py', 'config': '', 'minthreads': None, 'shell': None, 'run': '', 'log_filename': 'httpserver.log', 'profiler_dir': None, 'args': [], 'socket_timeout': 5, 'ssl_ca_certificate': None, 'scheduler': None, 'interfaces': None, 'ssl_private_key': '', 'gae': None, 'password': '******', 'request_queue_size': 5, 'ssl_certificate': '', 'cronjob': False, 'numthreads': None, 'quiet': False, 'import_models': False, 'timeout': 10, 'plain': False, 'nobanner': False}>
db_sessions:
set(['tiny_website'])
debugging:
True
gluon_parent:
/home/jdalbey/Dropbox/web2py
http_accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
http_accept_encoding:
gzip, deflate
http_accept_language:
en-US,en;q=0.5
http_connection:
keep-alive
http_cookie:
session_id_welcome=127.0.0.1-7eb52914-6c77-4487-8920-cde8f07dbed3; session_id_admin=127.0.0.1-45f002ee-d673-4882-8232-a947f722f0cc; session_id_multiform=127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359; session_id_tiny_website="2:bc5fb02a-35d0-419c-876b-bfec4f92e2a2"; session_id_highways=127.0.0.1-570ad9dc-d7c8-4390-a43e-9c3207ed2917
http_host:
127.0.0.1:8000
http_referer:
http://127.0.0.1:8000/Multiform/default/search
http_upgrade_insecure_requests:
1
http_user_agent:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0
is_jython:
False
is_py2:
True
is_pypy:
False
is_source:
True
local_hosts:
::1
127.0.1.1
::ffff:127.0.0.1
127.0.0.1
Omen
path_info:
/Multiform/default/results
query_string:
remote_addr:
127.0.0.1
remote_port:
60174
request_method:
GET
request_uri:
/Multiform/default/results
script_name:
server_name:
Omen
server_port:
8000
server_protocol:
HTTP/1.1
server_software:
Rocket 1.2.6
web2py_path:
/home/jdalbey/Dropbox/web2py
web2py_version:
2.18.5-stable+timestamp.2019.04.08.04.22.03
wsgi.errors:
<open file '<stderr>', mode 'w' at 0x7f7cc5d67270>
wsgi.file_wrapper:
<class wsgiref.util.FileWrapper at 0x7f7cbed21980>
wsgi.input:
<socket._fileobject object at 0x7f7c90482ed0>
wsgi.multiprocess:
False
wsgi.multithread:
True
wsgi.run_once:
False
wsgi.url_scheme:
http
wsgi.version:
1
0
wsgi_errors:
<open file '<stderr>', mode 'w' at 0x7f7cc5d67270>
wsgi_file_wrapper:
<class wsgiref.util.FileWrapper at 0x7f7cbed21980>
wsgi_input:
<socket._fileobject object at 0x7f7c90482ed0>
wsgi_multiprocess:
False
wsgi_multithread:
True
wsgi_run_once:
False
wsgi_url_scheme:
http
wsgi_version:
1
0
extension:
html
folder:
/home/jdalbey/Dropbox/web2py/applications/Multiform
function:
results
global_settings:
app_folders:
set(['/home/jdalbey/Dropbox/web2py/applications/Multiform', '/home/jdalbey/Dropbox/web2py/applications/tiny_website', '/home/jdalbey/Dropbox/web2py/applications/Highways', '/home/jdalbey/Dropbox/web2py/applications/welcome', '/home/jdalbey/Dropbox/web2py/applications/admin'])
applications_parent:
/home/jdalbey/Dropbox/web2py
cmd_args:
cmd_options:
<Values at 0x7f7cbeceb9b0: {'verbose': False, 'ip': '127.0.0.1', 'debuglevel': 30, 'with_scheduler': False, 'shutdown_timeout': 5, 'taskbar': False, 'with_coverage': False, 'pid_filename': 'httpserver.pid', 'maxthreads': None, 'softcron': False, 'server_name': 'Omen', 'bpython': False, 'nogui': False, 'port': 8000, 'print_errors': False, 'extcron': False, 'runcron': False, 'run_system_tests': False, 'test': None, 'folder': '/home/jdalbey/Dropbox/web2py', 'config': '', 'minthreads': None, 'shell': None, 'run': '', 'log_filename': 'httpserver.log', 'profiler_dir': None, 'args': [], 'socket_timeout': 5, 'ssl_ca_certificate': None, 'scheduler': None, 'interfaces': None, 'ssl_private_key': '', 'gae': None, 'password': '******', 'request_queue_size': 5, 'ssl_certificate': '', 'cronjob': False, 'numthreads': None, 'quiet': False, 'import_models': False, 'timeout': 10, 'plain': False, 'nobanner': False}>
db_sessions:
set(['tiny_website'])
debugging:
True
gluon_parent:
/home/jdalbey/Dropbox/web2py
is_jython:
False
is_py2:
True
is_pypy:
False
is_source:
True
local_hosts:
::1
127.0.1.1
::ffff:127.0.0.1
127.0.0.1
Omen
web2py_version:
2.18.5-stable+timestamp.2019.04.08.04.22.03
is_https:
False
is_local:
True
is_restful:
False
is_scheduler:
False
is_shell:
False
method:
GET
now:
datetime.datetime(2020, 3, 19, 15, 43, 58, 175532)
raw_args:
raw_extension:
None
url:
/Multiform/default/results
utcnow:
datetime.datetime(2020, 3, 19, 22, 43, 58, 175542)
wsgi:
<gluon.main.LazyWSGI object at 0x7f7c907fc850>
' tRp60 sS'frames' p61 (lp62 (dp63 S'file' p64 S'/home/jdalbey/Dropbox/web2py/gluon/restricted.py' p65 sS'dump' p66 (dp67 S'environment' p68 S"{'A': , 'ANY_OF': , 'ASSIGNJS': , 'B': , 'BEAUTIFY': , 'BODY': , 'BR': , 'BUTTON': , 'CAT': , 'CENTER': , ...}" p69 sS'ccode' p70 S' at 0x7f7c90f857b0, file "/...ations/Multiform/controllers/default.py", line 2>' p71 ssS'lnum' p72 I219 sS'lines' p73 (dp74 I214 S' if environment is None:' p75 sI215 S' environment = {}' p76 sI216 S" environment['__file__'] = layer" p77 sI217 S" environment['__name__'] = '__restricted__'" p78 sI218 S' try:' p79 sI219 S' exec(ccode, environment)' p80 sI220 S' except HTTP:' p81 sI221 S' raise' p82 sI222 S' except RestrictedError:' p83 sI223 S' # do not encapsulate (obfuscate) the original RestrictedError' p84 ssS'call' p85 S'(ccode= at 0x7f7c90f857b0, file "/...ations/Multiform/controllers/default.py", line 2>, environment={\'A\': , \'ANY_OF\': , \'ASSIGNJS\': , \'B\': , \'BEAUTIFY\': , \'BODY\': , \'BR\': , \'BUTTON\': , \'CAT\': , \'CENTER\': , ...}, layer=\'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py\', scode= at 0x7f7c90f857b0, file "/...ations/Multiform/controllers/default.py", line 2>)' p86 sS'func' p87 S'restricted' p88 sa(dp89 g64 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py' p90 sg66 (dp91 sg72 I206 sg73 (dp92 I195 S' return newID' p93 sI196 S' else:' p94 sI197 S" return 'T'+routeNum+'AA' # For a non-existing route" p95 sI198 S'' sI199 S'# Convert checkbox value to YES/NO' p96 sI200 S'def getCheckbox(ckBox):' p97 sI201 S' if (ckBox == "on"):' p98 sI202 S' return "YES"' p99 sI203 S' else:' p100 sI204 S' return "NO"' p101 ssg85 S'()' p102 sg87 S'' p103 sa(dp104 g64 S'/home/jdalbey/Dropbox/web2py/gluon/globals.py' p105 sg66 (dp106 S'self' p107 S'undefined' p108 sS'f' S'' p109 ssg72 I421 sg73 (dp110 I416 S" self.flash = '' # used by the default view layout" p111 sI417 S' self.meta = Storage() # used by web2py_ajax.html' p112 sI418 S' self.menu = [] # used by the default view layout' p113 sI419 S' self.files = [] # used by web2py_ajax.html' p114 sI420 S' self._vars = None' p115 sI421 S' self._caller = lambda f: f()' p116 sI422 S' self._view_environment = None' p117 sI423 S' self._custom_commit = None' p118 sI424 S' self._custom_rollback = None' p119 sI425 S" self.generic_patterns = ['*']" p120 ssg85 S'(f=)' p121 sg87 S'' p122 sa(dp123 g64 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py' p124 sg66 (dp125 S'row.starttime' p126 S"'0800'" p127 sS'row.startdate' p128 S'datetime.date(2020, 1, 1)' p129 sS'row.s1097user' p130 S"'Frank'" p131 sS'row.s1097date' p132 S"'2020-03-17'" p133 sS'builtinstr' p134 S"" p135 sS'row.s1098user' p136 S"'Sue'" p137 sS'row.s1098time' p138 S"'1420'" p139 sS'global formatTime' p140 S'' p141 sS'global formatDate' p142 S'' p143 sS'row.s1022user' p144 S"'Joe'" p145 sS'row.closureid' p146 S"'T5AA'" p147 sS'row.s1098date' p148 S"'2020-03-19'" p149 sS'row.s1022time' p150 S"'1421'" p151 sS'row.lognum' p152 S"'1'" p153 sS'row.s1022date' p154 S"'2020-03-19'" p155 sS'statusfields' p156 g108 sS'row.s1097time' p157 S"'1226'" p158 sS'row' p159 S"" p160 ssg72 I57 sg73 (dp161 I52 S' count = len(hwy)' p162 sI53 S' # Show the results in table format. Get the radio call number from supervisor name lookup' p163 sI54 S" header = THEAD(TR(TH(''), TH('DTM',BR(),'Area'), TH('Closure ID/',BR(),'Log No.'),TH('Route & Dir/',BR(),'Type of Closure'),TH('Start Date/',BR(),'End Date/',BR(),'Est. Delay'),TH('Facility'),TH('Limits'),TH('Work'), TH('TMP:',BR(),'Cozeep/',BR(),'Detour'),TH('Requestor/',BR(),'Radio Call No.')))" p164 sI55 S' multiform = []' p165 sI56 S' for row in hwy:' p166 sI57 S" statusfields = row.closureid +','+ row.lognum + ',1097,' + str(row.s1097user) +','+ formatDate(row.startdate) + ',' + formatTime(row.starttime) +','+formatDate(row.s1097date)+','+ formatTime(row.s1097time) + ',1098,' + str(row.s1098user) +','+ formatDate(row.s1098date)+','+ formatTime(row.s1098time)+ ',1022,' + str(row.s1022user) +','+ formatDate(row.s1022date)+','+ formatTime(row.s1022time)" p167 sI58 S' # Each row contains a form with two buttons and columns with fields from database' p168 sI59 S' multiform.append(TR(TD(' p169 sI60 S' XML(""),BR(),' p170 sI61 S' FORM(' p171 ssg85 S'()' p172 sg87 S'results' p173 sa(dp174 g64 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py' p175 sg66 (dp176 S'msg' p177 S'datetime.date(2020, 1, 1)' p178 ssg72 I126 sg73 (dp179 I128 S' return ""' p180 sI129 S'def formatTime(msg):' p181 sI130 S' if (msg):' p182 sI121 S'' sI122 S' return dict(msg=msg)' p183 sI123 S'# Utility functions for formatting' p184 sI124 S'def formatDate(msg):' p185 sI125 S' if (msg):' p186 sI126 S' return msg[4:6]+"/"+msg[6:8]+"/"+msg[0:4]' p187 sI127 S' else:' p188 ssg85 S'(msg=datetime.date(2020, 1, 1))' p189 sg87 S'formatDate' p190 sasS'pyver' p191 S'Python 2.7.17: /usr/bin/python (prefix: /usr)' p192 sS'session' p193 g59 (S'sS\x06\x00\x00
chosenid:
None
closureid:
direction:
enddate:
last_orderby:
None
last_query:
db.closures.id>0
lognum:
route:
5
startdate:
statuser:
Joe
statustype:
1022T5AA
username:
a
' tRp194 sS'etype' p195 S"" p196 sS'date' p197 S'Thu Mar 19 15:43:59 2020' p198 sS'response' p199 g59 (S'sW\x1d\x00\x00
body:
<cStringIO.StringO object at 0x7f7c900d1af0>
cookies:
session_id_multiform:
127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359
comment:
domain:
expires:
httponly:
max-age:
path:
/
samesite:
secure:
version:
delimiters:
{{
}}
files:
flash:
form_label_separator:
:
formstyle:
table3cols
generic_patterns:
*
headers:
X-Powered-By:
web2py
menu:
Home
False
/Multiform/default/home
List
False
/Multiform/default/list
Search
False
/Multiform/default/search
Request
False
/Multiform/default/submit
meta:
author:
Author
description:
describe your app
keywords:
keyword
models_to_run:
^\\w+\\.py$
^default/\\w+\\.py$
^default/results/\\w+\\.py$
postprocessing:
session_client:
127.0.0.1
session_cookie_compression_level:
None
session_cookie_expires:
None
session_data_name:
session_data_multiform
session_file:
<open file '/home/jdalbey/Dropbox/web2py/applications/Multiform/sessions/17d/0fd/127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359', mode 'rb+' at 0x7f7c9125fb70>
session_filename:
/home/jdalbey/Dropbox/web2py/applications/Multiform/sessions/127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359
session_hash:
931d22e629a5bc86639ac38e1f676c14
session_id:
127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359
session_id_name:
session_id_multiform
session_locked:
True
session_masterapp:
Multiform
session_new:
False
session_storage_type:
file
status:
200
subtitle:
subtitle customize me!
title:
Multiform
view:
default/results.html
' tRp200 sS'locals' p201 (dp202 S'msg' p203 S'datetime.date(2020, 1, 1)' p204 sssS'traceback' p205 S'Traceback (most recent call last):\n File "/home/jdalbey/Dropbox/web2py/gluon/restricted.py", line 219, in restricted\n exec(ccode, environment)\n File "/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py", line 206, in \n File "/home/jdalbey/Dropbox/web2py/gluon/globals.py", line 421, in \n self._caller = lambda f: f()\n File "/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py", line 57, in results\n statusfields = row.closureid +\',\'+ row.lognum + \',1097,\' + str(row.s1097user) +\',\'+ formatDate(row.startdate) + \',\' + formatTime(row.starttime) +\',\'+formatDate(row.s1097date)+\',\'+ formatTime(row.s1097time) + \',1098,\' + str(row.s1098user) +\',\'+ formatDate(row.s1098date)+\',\'+ formatTime(row.s1098time)+ \',1022,\' + str(row.s1022user) +\',\'+ formatDate(row.s1022date)+\',\'+ formatTime(row.s1022time)\n File "/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py", line 126, in formatDate\n return msg[4:6]+"/"+msg[6:8]+"/"+msg[0:4]\nTypeError: \'datetime.date\' object has no attribute \'__getitem__\'\n' p206 s.