(dp1 S'output' p2 S" cannot concatenate 'str' and 'datetime.date' objects" p3 sS'layer' p4 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/default.py' p5 sS'code' p6 S' at 0x7f7c91237db0, 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'"cannot concatenate \'str\' and \'datetime.date\' objects"' 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'("cannot concatenate \'str\' and \'datetime.date\' objects",)' 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"cannot concatenate 'str' and 'datetime.date' objects" p57 sS'request' p58 cgluon.html XML_unpickle p59 (S's/l\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_CACHE_CONTROL:
max-age=0
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:
60634
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_cache_control:
max-age=0
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:
60634
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 0x7f7c912c7a50>
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 0x7f7c912c7a50>
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, 46, 28, 223272)
raw_args:
raw_extension:
None
url:
/Multiform/default/results
utcnow:
datetime.datetime(2020, 3, 19, 22, 46, 28, 223283)
wsgi:
<gluon.main.LazyWSGI object at 0x7f7c91116750>
' 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 0x7f7c91237db0, 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 0x7f7c91237db0, 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 0x7f7c91237db0, 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'row.s1022user' p142 S"'Joe'" p143 sS'row.closureid' p144 S"'T5AA'" p145 sS'row.s1098date' p146 S"'2020-03-19'" p147 sS'row.s1022time' p148 S"'1421'" p149 sS'row.lognum' p150 S"'1'" p151 sS'row.s1022date' p152 S"'2020-03-19'" p153 sS'statusfields' p154 g108 sS'row.s1097time' p155 S"'1226'" p156 sS'row' p157 S"" p158 ssg72 I57 sg73 (dp159 I52 S' count = len(hwy)' p160 sI53 S' # Show the results in table format. Get the radio call number from supervisor name lookup' p161 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.')))" p162 sI55 S' multiform = []' p163 sI56 S' for row in hwy:' p164 sI57 S" statusfields = row.closureid +','+ row.lognum + ',1097,' + str(row.s1097user) +','+ row.startdate + ',' + formatTime(row.starttime) +','+row.s1097date+','+ formatTime(row.s1097time) + ',1098,' + str(row.s1098user) +','+ row.s1098date+','+ formatTime(row.s1098time)+ ',1022,' + str(row.s1022user) +','+ row.s1022date+','+ formatTime(row.s1022time)" p165 sI58 S' # Each row contains a form with two buttons and columns with fields from database' p166 sI59 S' multiform.append(TR(TD(' p167 sI60 S' XML(""),BR(),' p168 sI61 S' FORM(' p169 ssg85 S'()' p170 sg87 S'results' p171 sasS'pyver' p172 S'Python 2.7.17: /usr/bin/python (prefix: /usr)' p173 sS'session' p174 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
' tRp175 sS'etype' p176 S"" p177 sS'date' p178 S'Thu Mar 19 15:46:29 2020' p179 sS'response' p180 g59 (S'sW\x1d\x00\x00
body:
<cStringIO.StringO object at 0x7f7c90515870>
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 0x7f7c9026f780>
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
' tRp181 sS'locals' p182 (dp183 S'count' p184 S'2' sS'header' p185 S'' p186 sS'multiform' p187 S'[]' p188 sS'hwy' p189 S'' p190 sS'msg' p191 S"'route = 5'" p192 sS'row' p193 S"" p194 sssS'traceback' p195 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) +\',\'+ row.startdate + \',\' + formatTime(row.starttime) +\',\'+row.s1097date+\',\'+ formatTime(row.s1097time) + \',1098,\' + str(row.s1098user) +\',\'+ row.s1098date+\',\'+ formatTime(row.s1098time)+ \',1022,\' + str(row.s1022user) +\',\'+ row.s1022date+\',\'+ formatTime(row.s1022time)\nTypeError: cannot concatenate \'str\' and \'datetime.date\' objects\n' p196 s.