(dp1 S'output' p2 S" need more than 1 value to unpack" p3 sS'layer' p4 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/appadmin.py' p5 sS'code' p6 S' at 0x7f7c907eda30, file "/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/appadmin.py", line 7>' 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"'need more than 1 value to unpack'" 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 value (of correct type).'" p37 sS'__getitem__' p38 S"" p39 sS'__setstate__' p40 S'' p41 sS'__getattribute__' p42 S"" p43 sS'args' p44 S"('need more than 1 value to unpack',)" 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'need more than 1 value to unpack' p57 sS'request' p58 cgluon.html XML_unpickle p59 (S's\xa8k\x00\x00
ajax:
False
application:
Multiform
args:
db
cid:
None
client:
127.0.0.1
controller:
appadmin
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/appadmin/select/db?query=db.closures.id%3E0
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/appadmin/csv/db
QUERY_STRING:
query=db.closures.id%3E0
REMOTE_ADDR:
127.0.0.1
REMOTE_PORT:
58020
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/appadmin/select/db?query=db.closures.id%3E0
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/appadmin/csv/db
query_string:
query=db.closures.id%3E0
remote_addr:
127.0.0.1
remote_port:
58020
request_method:
GET
request_uri:
/Multiform/appadmin/csv/db?query=db.closures.id%3E0
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 0x7f7c90685c50>
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 0x7f7c90685c50>
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:
csv
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, 32, 28, 591176)
raw_args:
db
raw_extension:
None
url:
/Multiform/appadmin/csv/db
utcnow:
datetime.datetime(2020, 3, 19, 22, 32, 28, 591207)
wsgi:
<gluon.main.LazyWSGI object at 0x7f7c9051ed90>
' 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 0x7f7c907eda30, file "/...tions/Multiform/controllers/appadmin.py", line 7>' 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 0x7f7c907eda30, file "/...tions/Multiform/controllers/appadmin.py", line 7>, environment={\'A\': , \'ANY_OF\': , \'ASSIGNJS\': , \'B\': , \'BEAUTIFY\': , \'BODY\': , \'BR\': , \'BUTTON\': , \'CAT\': , \'CENTER\': , ...}, layer=\'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/appadmin.py\', scode= at 0x7f7c907eda30, file "/...tions/Multiform/controllers/appadmin.py", line 7>)' p86 sS'func' p87 S'restricted' p88 sa(dp89 g64 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/appadmin.py' p90 sg66 (dp91 sg72 I695 sg73 (dp92 I684 S" referenced_table = f_type.split()[1].split('.')[0]" p93 sI685 S'' sI686 S' links.append(dict(source=tablename, target = referenced_table))' p94 sI687 S'' sI688 S' nodes.append(dict(name=tablename, type="table", fields = fields))' p95 sI689 S'' sI690 S' # d3 v4 allows individual modules to be specified. The complete d3 library is included below.' p96 sI691 S" response.files.append(URL('admin','static','js/d3.min.js'))" p97 sI692 S" response.files.append(URL('admin','static','js/d3_graph.js'))" p98 sI693 S' return dict(databases=databases, nodes=nodes, links=links)' p99 ssg85 S'()' p100 sg87 S'' p101 sa(dp102 g64 S'/home/jdalbey/Dropbox/web2py/gluon/globals.py' p103 sg66 (dp104 S'self' p105 S'undefined' p106 sS'f' S'' p107 ssg72 I421 sg73 (dp108 I416 S" self.flash = '' # used by the default view layout" p109 sI417 S' self.meta = Storage() # used by web2py_ajax.html' p110 sI418 S' self.menu = [] # used by the default view layout' p111 sI419 S' self.files = [] # used by web2py_ajax.html' p112 sI420 S' self._vars = None' p113 sI421 S' self._caller = lambda f: f()' p114 sI422 S' self._view_environment = None' p115 sI423 S' self._custom_commit = None' p116 sI424 S' self._custom_rollback = None' p117 sI425 S" self.generic_patterns = ['*']" p118 ssg85 S'(f=)' p119 sg87 S'' p120 sa(dp121 g64 S'/home/jdalbey/Dropbox/web2py/applications/Multiform/controllers/appadmin.py' p122 sg66 (dp123 S'builtinstr' p124 S"" p125 sS'builtinTrue' p126 S'True' p127 sS'ignore_common_filters' p128 g106 sS'db' p129 S'' p130 sS').select' p131 g106 sS'query' p132 S' 0)>' p133 ssg72 I173 sg73 (dp134 I168 S' query = get_query(request)' p135 sI169 S' if not query:' p136 sI170 S' return None' p137 sI171 S" response.headers['Content-disposition'] = 'attachment; filename=%s_%s.csv'\\" p138 sI172 S" % tuple(request.vars.query.split('.')[:2])" p139 sI173 S' return str(db(query, ignore_common_filters=True).select())' p140 sI174 S'' sI175 S'' sI176 S'def import_csv(table, file):' p141 sI177 S' table.import_from_csv_file(file)' p142 ssg85 S'()' p143 sg87 S'csv' p144 sa(dp145 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/objects.py' p146 sg66 (dp147 S'self.query' p148 S' 0)>' p149 sS'adapter.select' p150 S'>' p151 sS'fields' p152 S'[, , , , , , , , , , , , , , , , , , , , ...]' p153 sS'adapter' p154 S'' p155 sS'attributes' p156 g19 sS'self' p157 S' 0)>' p158 ssg72 I2395 sg73 (dp159 I2390 S" attributes.get('join', None)," p160 sI2391 S" attributes.get('left', None)," p161 sI2392 S" attributes.get('orderby', None)," p162 sI2393 S" attributes.get('groupby', None))" p163 sI2394 S' fields = adapter.expand_all(fields, tablenames)' p164 sI2395 S' return adapter.select(self.query, fields, attributes)' p165 sI2396 S'' sI2397 S' def iterselect(self, *fields, **attributes):' p166 sI2398 S' adapter = self.db._adapter' p167 sI2399 S' tablenames = adapter.tables(self.query,' p168 ssg85 S'(self= 0)>, *fields=[, , , , , , , , , , , , , , , , , , , , ...], **attributes={})' p169 sg87 S'select' p170 sa(dp171 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/sqlite.py' p172 sg66 (dp173 S'fields' p174 S'[, , , , , , , , , , , , , , , , , , , , ...]' p175 sS'self' p176 S'' p177 sS').select' p178 S'>' p179 sS'attributes' p180 g19 sS'query' p181 S' 0)>' p182 sS'builtinsuper' p183 S"" p184 sS'global SQLite' p185 S"" p186 ssg72 I82 sg73 (dp187 I77 S" self.execute('PRAGMA foreign_keys=ON;')" p188 sI78 S'' sI79 S' def select(self, query, fields, attributes):' p189 sI80 S" if attributes.get('for_update', False) and 'cache' not in attributes:" p190 sI81 S" self.execute('BEGIN IMMEDIATE TRANSACTION;')" p191 sI82 S' return super(SQLite, self).select(query, fields, attributes)' p192 sI83 S'' sI84 S' def delete(self, table, query):' p193 sI85 S' db = self.db' p194 sI86 S' deleted = [x[table._id.name] for x in db(query).select(table._id)]' p195 ssg85 S'(self=, query= 0)>, fields=[, , , , , , , , , , , , , , , , , , , , ...], attributes={})' p196 sg87 g170 sa(dp197 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py' p198 sg66 (dp199 S'self._select_aux' p200 S'>' p201 sS'fields' p202 S'[, , , , , , , , , , , , , , , , , , , , ...]' p203 sS'self' p204 S'' p205 sS'sql' p206 S'\'SELECT "closures"."id", "closures"."closureid", ...one" FROM "closures" WHERE ("closures"."id" > 0);\'' p207 sS'attributes' p208 g19 sS'colnames' p209 S"['closures.id', 'closures.closureid', 'closures.lognum', 'closures.route', 'closures.direction', 'closures.facility', 'closures.startdate', 'closures.enddate', 'closures.starttime', 'closures.endtime', 'closures.startcounty', 'closures.endcounty', 'closures.startlocation', 'closures.endlocation', 'closures.closuretype', 'closures.worktype', 'closures.estdelay', 'closures.tmpcozeep', 'closures.tmpdetour', 'closures.supervisor', ...]" p210 ssg72 I763 sg73 (dp211 I758 S' colnames, sql = self._select_wcols(query, fields, **attributes)' p212 sI759 S" cache = attributes.get('cache', None)" p213 sI760 S" if cache and attributes.get('cacheable', False):" p214 sI761 S' return self._cached_select(' p215 sI762 S' cache, sql, fields, attributes, colnames)' p216 sI763 S' return self._select_aux(sql, fields, attributes, colnames)' p217 sI764 S'' sI765 S' def iterselect(self, query, fields, attributes):' p218 sI766 S' colnames, sql = self._select_wcols(query, fields, **attributes)' p219 sI767 S" cacheable = attributes.get('cacheable', False)" p220 ssg85 S'(self=, query= 0)>, fields=[, , , , , , , , , , , , , , , , , , , , ...], attributes={})' p221 sg87 g170 sa(dp222 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py' p223 sg66 (dp224 S'fields' p225 S'[, , , , , , , , , , , , , , , , , , , , ...]' p226 sS'colnames' p227 S"['closures.id', 'closures.closureid', 'closures.lognum', 'closures.route', 'closures.direction', 'closures.facility', 'closures.startdate', 'closures.enddate', 'closures.starttime', 'closures.endtime', 'closures.startcounty', 'closures.endcounty', 'closures.startlocation', 'closures.endlocation', 'closures.closuretype', 'closures.worktype', 'closures.estdelay', 'closures.tmpcozeep', 'closures.tmpdetour', 'closures.supervisor', ...]" p228 sS'rows' p229 S"[(46, u'T5AA', u'1', u'5', u'N', u'Mainline', u'20200101', u'20200102', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...), (47, u'T405AA', u'1', u'405', u'N', u'Mainline', u'20200202', u'20200302', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Joe', ...), (48, u'T5AB', u'1', u'5', u'S', u'Mainline', u'20190122', u'20190125', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sam', ...), (49, u'T22AA', u'1', u'22', u'E', u'Mainline', u'20000101', u'20001010', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sue', ...), (50, u'T22BB', u'1', u'22', u'W', u'Mainline', u'20000101', u'20001010', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sue', ...), (51, u'T55AA', u'1', u'55', u'N', u'Off Ramp', u'200010101', u'20001011', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'Blasting', u'22', u'YES', u'NO', u'Sam', ...), (52, u'T5AA', u'1', u'5', u'N', u'Mainline', u'2020-01-01', u'2020-01-02', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...), (53, u'T5AC', u'1', u'5', u'NB', u'Mainline', u'2020-03-18', u'2020-03-19', u'0800', u'0900', u'ORA', None, u'First', u'Second', u'Lane', u'Blasting', u'66', None, None, u'Sam', ...)]" p230 sS'processor' p231 S'>' p232 sS'cacheable' p233 S'False' p234 ssg72 I742 sg73 (dp235 I737 S' rows = list(rows)' p236 sI738 S" limitby = attributes.get('limitby', None) or (0,)" p237 sI739 S' rows = self.rowslice(rows, limitby[0], None)' p238 sI740 S" processor = attributes.get('processor', self.parse)" p239 sI741 S" cacheable = attributes.get('cacheable', False)" p240 sI742 S' return processor(rows, fields, colnames, cacheable=cacheable)' p241 sI743 S'' sI744 S' def _cached_select(self, cache, sql, fields, attributes, colnames):' p242 sI745 S" del attributes['cache']" p243 sI746 S' (cache_model, time_expire) = cache' p244 ssg85 S'(self=, sql=\'SELECT "closures"."id", "closures"."closureid", ...one" FROM "closures" WHERE ("closures"."id" > 0);\', fields=[, , , , , , , , , , , , , , , , , , , , ...], attributes={}, colnames=[\'closures.id\', \'closures.closureid\', \'closures.lognum\', \'closures.route\', \'closures.direction\', \'closures.facility\', \'closures.startdate\', \'closures.enddate\', \'closures.starttime\', \'closures.endtime\', \'closures.startcounty\', \'closures.endcounty\', \'closures.startlocation\', \'closures.endlocation\', \'closures.closuretype\', \'closures.worktype\', \'closures.estdelay\', \'closures.tmpcozeep\', \'closures.tmpdetour\', \'closures.supervisor\', ...])' p245 sg87 S'_select_aux' p246 sa(dp247 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py' p248 sg66 (dp249 S'rows' p250 S"[(46, u'T5AA', u'1', u'5', u'N', u'Mainline', u'20200101', u'20200102', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...), (47, u'T405AA', u'1', u'405', u'N', u'Mainline', u'20200202', u'20200302', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Joe', ...), (48, u'T5AB', u'1', u'5', u'S', u'Mainline', u'20190122', u'20190125', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sam', ...), (49, u'T22AA', u'1', u'22', u'E', u'Mainline', u'20000101', u'20001010', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sue', ...), (50, u'T22BB', u'1', u'22', u'W', u'Mainline', u'20000101', u'20001010', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sue', ...), (51, u'T55AA', u'1', u'55', u'N', u'Off Ramp', u'200010101', u'20001011', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'Blasting', u'22', u'YES', u'NO', u'Sam', ...), (52, u'T5AA', u'1', u'5', u'N', u'Mainline', u'2020-01-01', u'2020-01-02', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...), (53, u'T5AC', u'1', u'5', u'NB', u'Mainline', u'2020-03-18', u'2020-03-19', u'0800', u'0900', u'ORA', None, u'First', u'Second', u'Lane', u'Blasting', u'66', None, None, u'Sam', ...)]" p251 sS'row' p252 S"(46, u'T5AA', u'1', u'5', u'N', u'Mainline', u'20200101', u'20200102', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...)" p253 ssg72 I306 sg73 (dp254 I301 S' self._parse_expand_colnames(fields)' p255 sI302 S' new_rows = [' p256 sI303 S' self._parse(' p257 sI304 S' row, tmps, fields, colnames, blob_decode, cacheable,' p258 sI305 S' fields_virtual, fields_lazy)' p259 sI306 S' for row in rows' p260 sI307 S' ]' p261 sI308 S' rowsobj = self.db.Rows(self.db, new_rows, colnames, rawrows=rows,' p262 sI309 S' fields=fields)' p263 sI310 S' # Old style virtual fields' p264 ssg85 S"(self=, rows=[(46, u'T5AA', u'1', u'5', u'N', u'Mainline', u'20200101', u'20200102', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...), (47, u'T405AA', u'1', u'405', u'N', u'Mainline', u'20200202', u'20200302', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Joe', ...), (48, u'T5AB', u'1', u'5', u'S', u'Mainline', u'20190122', u'20190125', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sam', ...), (49, u'T22AA', u'1', u'22', u'E', u'Mainline', u'20000101', u'20001010', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sue', ...), (50, u'T22BB', u'1', u'22', u'W', u'Mainline', u'20000101', u'20001010', u'0800', u'1700', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'33', u'NO', u'NO', u'Sue', ...), (51, u'T55AA', u'1', u'55', u'N', u'Off Ramp', u'200010101', u'20001011', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'Blasting', u'22', u'YES', u'NO', u'Sam', ...), (52, u'T5AA', u'1', u'5', u'N', u'Mainline', u'2020-01-01', u'2020-01-02', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...), (53, u'T5AC', u'1', u'5', u'NB', u'Mainline', u'2020-03-18', u'2020-03-19', u'0800', u'0900', u'ORA', None, u'First', u'Second', u'Lane', u'Blasting', u'66', None, None, u'Sam', ...)], fields=[, , , , , , , , , , , , , , , , , , , , ...], colnames=['closures.id', 'closures.closureid', 'closures.lognum', 'closures.route', 'closures.direction', 'closures.facility', 'closures.startdate', 'closures.enddate', 'closures.starttime', 'closures.endtime', 'closures.startcounty', 'closures.endcounty', 'closures.startlocation', 'closures.endlocation', 'closures.closuretype', 'closures.worktype', 'closures.estdelay', 'closures.tmpcozeep', 'closures.tmpdetour', 'closures.supervisor', ...], blob_decode=True, cacheable=False)" p265 sg87 S'parse' p266 sa(dp267 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py' p268 sg66 (dp269 S'blob_decode' p270 g127 sS'ft' p271 S"'date'" p272 sS'fit' p273 S"'date'" p274 sS'self.parse_value' p275 S'>' p276 sS'self' p277 S'' p278 sS'value' p279 S"u'20200101'" p280 ssg72 I232 sg73 (dp281 I227 S' #: do we have a real column?' p282 sI228 S' if tmp:' p283 sI229 S' (tablename, fieldname, table, field, ft, fit) = tmp' p284 sI230 S' colset = new_row[tablename]' p285 sI231 S' #: parse value' p286 sI232 S' value = self.parse_value(value, fit, ft, blob_decode)' p287 sI233 S' if field.filter_out:' p288 sI234 S' value = field.filter_out(value)' p289 sI235 S' colset[fieldname] = value' p290 sI236 S' #! backward compatibility' p291 ssg85 S"(self=, row=(46, u'T5AA', u'1', u'5', u'N', u'Mainline', u'20200101', u'20200102', u'0800', u'0900', u'ORA', u'ORA', u'BAKER', u'BRISTOL', u'Lane', u'AC Paving', u'66', u'NO', u'NO', u'Joe', ...), tmps=[('closures', 'id', , , 'id', 'id'), ('closures', 'closureid',
, , 'string', 'string'), ('closures', 'lognum',
, , 'string', 'string'), ('closures', 'route',
, , 'string', 'string'), ('closures', 'direction',
, , 'string', 'string'), ('closures', 'facility',
, , 'string', 'string'), ('closures', 'startdate',
, , 'date', 'date'), ('closures', 'enddate',
, , 'date', 'date'), ('closures', 'starttime',
, , 'string', 'string'), ('closures', 'endtime',
, , 'string', 'string'), ('closures', 'startcounty',
, , 'string', 'string'), ('closures', 'endcounty',
, , 'string', 'string'), ('closures', 'startlocation',
, , 'string', 'string'), ('closures', 'endlocation',
, , 'string', 'string'), ('closures', 'closuretype',
, , 'string', 'string'), ('closures', 'worktype',
, , 'string', 'string'), ('closures', 'estdelay',
, , 'string', 'string'), ('closures', 'tmpcozeep',
, , 'string', 'string'), ('closures', 'tmpdetour',
, , 'string', 'string'), ('closures', 'supervisor',
, , 'string', 'string'), ...], fields=[, , , , , , , , , , , , , , , , , , , , ...], colnames=['closures.id', 'closures.closureid', 'closures.lognum', 'closures.route', 'closures.direction', 'closures.facility', 'closures.startdate', 'closures.enddate', 'closures.starttime', 'closures.endtime', 'closures.startcounty', 'closures.endcounty', 'closures.startlocation', 'closures.endlocation', 'closures.closuretype', 'closures.worktype', 'closures.estdelay', 'closures.tmpcozeep', 'closures.tmpdetour', 'closures.supervisor', ...], blob_decode=True, cacheable=False, fields_virtual={'closures': (
, [])}, fields_lazy={'closures': (
, [])})" p292 sg87 S'_parse' p293 sa(dp294 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py' p295 sg66 (dp296 S'field_type' p297 S"'date'" p298 sS'self' p299 S'' p300 sS'value' p301 S"'20200101'" p302 sS'self.parser' p303 S'' p304 sS'field_itype' p305 S"'date'" p306 sS'self.parser.parse' p307 S'>' p308 ssg72 I199 sg73 (dp309 I194 S' if not isinstance(field_type, str) or value is None:' p310 sI195 S' return value' p311 sI196 S" elif field_type == 'blob' and not blob_decode:" p312 sI197 S' return value' p313 sI198 S' else:' p314 sI199 S' return self.parser.parse(value, field_itype, field_type)' p315 sI200 S'' sI201 S' def _add_operators_to_parsed_row(self, rid, table, row):' p316 sI202 S' for key, record_operator in iteritems(self.db.record_operators):' p317 sI203 S' setattr(row, key, record_operator(row, table, rid))' p318 ssg85 S"(self=, value='20200101', field_itype='date', field_type='date', blob_decode=True)" p319 sg87 S'parse_value' p320 sa(dp321 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/__init__.py' p322 sg66 (dp323 S'field_itype' p324 S"'date'" p325 sS'field_type' p326 S"'date'" p327 sS'self' p328 S'' p329 sS'self.registered' p330 S'defaultdict( at 0x7f7c913b0ed0...s.ParserMethodWrapper object at 0x7f7c9068ed10>})' p331 sS'value' p332 S"'20200101'" p333 ssg72 I100 sg73 (dp334 I96 S' def _default(self, value, field_type):' p335 sI97 S' return value' p336 sI98 S'' sI99 S' def parse(self, value, field_itype, field_type):' p337 sI100 S' return self.registered[field_itype](value, field_type)' p338 sI101 S'' sI102 S'' sI103 S'from .base import BasicParser' p339 sI104 S'from .sqlite import SQLiteParser' p340 sI95 S'' ssg85 S"(self=, value='20200101', field_itype='date', field_type='date')" p341 sg87 g266 sa(dp342 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/__init__.py' p343 sg66 (dp344 S'field_type' p345 S"'date'" p346 sS'self' p347 S'' p348 sS'self.call' p349 S'>' p350 sS'value' p351 S"'20200101'" p352 ssg72 I75 sg73 (dp353 I70 S'' sI71 S' def _call(self, value, field_type):' p354 sI72 S' return self.f(self.parser, value)' p355 sI73 S'' sI74 S' def __call__(self, value, field_type):' p356 sI75 S' return self.call(value, field_type)' p357 sI76 S'' sI77 S'' sI78 S'class Parser(with_metaclass(MetaParser)):' p358 sI79 S' def __init__(self, adapter):' p359 ssg85 S"(self=, value='20200101', field_type='date')" p360 sg87 S'__call__' p361 sa(dp362 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/__init__.py' p363 sg66 (dp364 S'self' p365 S'' p366 sS'self.f' p367 S'' p368 sS'self.parser' p369 S'' p370 sS'value' p371 S"'20200101'" p372 ssg72 I72 sg73 (dp373 I67 S' def _call_with_extras(self, value, field_type):' p374 sI68 S' extras = self.extra(self.parser, field_type)' p375 sI69 S' return self.f(self.parser, value, **extras)' p376 sI70 S'' sI71 S' def _call(self, value, field_type):' p377 sI72 S' return self.f(self.parser, value)' p378 sI73 S'' sI74 S' def __call__(self, value, field_type):' p379 sI75 S' return self.call(value, field_type)' p380 sI76 S'' ssg85 S"(self=, value='20200101', field_type='date')" p381 sg87 S'_call' p382 sa(dp383 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/sqlite.py' p384 sg66 (dp385 S'self' p386 S'' p387 sS'global DateParser' p388 S"" p389 sS'value' p390 S"'20200101'" p391 sS'].f' p392 g106 sS'DateParser._declared_parsers_' p393 S"{'_date': }" p394 ssg72 I25 sg73 (dp395 I20 S' return Decimal(value)' p396 sI21 S'' sI22 S" @for_type('date')" p397 sI23 S' def _date(self, value):' p398 sI24 S' if not isinstance(value, date):' p399 sI25 S" return DateParser._declared_parsers_['_date'].f(self, value)" p400 sI26 S' return value' p401 sI27 S'' sI28 S" @for_type('datetime')" p402 sI29 S' def _datetime(self, value):' p403 ssg85 S"(self=, value='20200101')" p404 sg87 S'_date' p405 sa(dp406 g64 S'/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/base.py' p407 sg66 (dp408 S'd' g106 sS'].strip' p409 S'' p410 sS'builtinstr' p411 S"" p412 sS'm' g106 sS'value' p413 S"'20200101'" p414 sS').split' p415 g106 sS'y' g106 sS'builtinint' p416 S"" p417 sS'builtinmap' p418 S'' p419 ssg72 I74 sg73 (dp420 I69 S'class DateParser(Parser):' p421 sI70 S" @for_type('date')" p422 sI71 S' def _date(self, value):' p423 sI72 S' if isinstance(value, datetime):' p424 sI73 S' return value.date()' p425 sI74 S" (y, m, d) = map(int, str(value)[:10].strip().split('-'))" p426 sI75 S' return date(y, m, d)' p427 sI76 S'' sI77 S'' sI78 S'class TimeParser(Parser):' p428 ssg85 S"(self=, value='20200101')" p429 sg87 g405 sasS'pyver' p430 S'Python 2.7.17: /usr/bin/python (prefix: /usr)' p431 sS'session' p432 g59 (S's\\\x06\x00\x00
chosenid:
None
closureid:
direction:
enddate:
last_orderby:
None
last_query:
db.closures.id>0
lognum:
route:
startdate:
2018-03-20
statuser:
Joe
statustype:
1022T5AA
username:
a
' tRp433 sS'etype' p434 S"" p435 sS'date' p436 S'Thu Mar 19 15:32:29 2020' p437 sS'response' p438 g59 (S's\xae\x1e\x00\x00
body:
<cStringIO.StringO object at 0x7f7c90f71d30>
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:
Content-Type:
text/csv; charset=utf-8
Content-disposition:
attachment; filename=db_closures.csv
X-Powered-By:
web2py
menu:
design
False
/admin/default/design/Multiform
db
False
/Multiform/appadmin/index
state
False
/Multiform/appadmin/state
cache
False
/Multiform/appadmin/ccache
meta:
author:
Author
description:
describe your app
keywords:
keyword
models_to_run:
^\\w+\\.py$
^appadmin/\\w+\\.py$
^appadmin/csv/\\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 0x7f7c912abf60>
session_filename:
/home/jdalbey/Dropbox/web2py/applications/Multiform/sessions/127.0.0.1-09ffaed9-b74c-4ca7-8ed7-d8d3639d8359
session_hash:
a93a762ec2344630a984de4409e432f8
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:
Database Administration (appadmin)
title:
Multiform
view:
appadmin.html
' tRp439 sS'locals' p440 (dp441 S'self' p442 S'' p443 sS'value' p444 S"'20200101'" p445 sssS'traceback' p446 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/appadmin.py", line 695, 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/appadmin.py", line 173, in csv\n return str(db(query, ignore_common_filters=True).select())\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/objects.py", line 2395, in select\n return adapter.select(self.query, fields, attributes)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/sqlite.py", line 82, in select\n return super(SQLite, self).select(query, fields, attributes)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py", line 763, in select\n return self._select_aux(sql, fields, attributes, colnames)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py", line 742, in _select_aux\n return processor(rows, fields, colnames, cacheable=cacheable)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py", line 306, in parse\n for row in rows\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py", line 232, in _parse\n value = self.parse_value(value, fit, ft, blob_decode)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/adapters/base.py", line 199, in parse_value\n return self.parser.parse(value, field_itype, field_type)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/__init__.py", line 100, in parse\n return self.registered[field_itype](value, field_type)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/__init__.py", line 75, in __call__\n return self.call(value, field_type)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/__init__.py", line 72, in _call\n return self.f(self.parser, value)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/sqlite.py", line 25, in _date\n return DateParser._declared_parsers_[\'_date\'].f(self, value)\n File "/home/jdalbey/Dropbox/web2py/gluon/packages/dal/pydal/parsers/base.py", line 74, in _date\n (y, m, d) = map(int, str(value)[:10].strip().split(\'-\'))\nValueError: need more than 1 value to unpack\n' p447 s.