(dp1 S'output' p2 S" object of type 'NoneType' has no len()" p3 sS'layer' p4 S'/home/jdalbey/Dropbox/web2py/applications/LCSv1/controllers/default.py' p5 sS'code' p6 S' at 0x7f1a06319330, file "/home/jdalbey/Dropbox/web2py/applications/LCSv1/controllers/default.py", line 3>' 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'"object of type \'NoneType\' has no len()"' 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'("object of type \'NoneType\' has no len()",)' 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"object of type 'NoneType' has no len()" p57 sS'request' p58 cgluon.html XML_unpickle p59 (S's\xd3e\x00\x00
ajax:
False
application:
LCSv1
args:
cid:
None
client:
127.0.0.1
controller:
default
cookies:
session_id_admin:
127.0.0.1-2746df78-beba-44a8-a6ef-424fc39436f5
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
session_id_lcsv1:
127.0.0.1-c6b15afd-4806-4ab0-9d87-63e5bcdde736
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
session_id_welcome:
127.0.0.1-3afbd1fd-69c0-473e-b1fc-103a43987b7f
comment:
domain:
expires:
httponly:
max-age:
path:
samesite:
secure:
version:
env:
CONTENT_LENGTH:
1017
CONTENT_TYPE:
multipart/form-data; boundary=---------------------------125190299836048206103545911921
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_CONTENT_LENGTH:
1017
HTTP_CONTENT_TYPE:
multipart/form-data; boundary=---------------------------125190299836048206103545911921
HTTP_COOKIE:
session_id_welcome=127.0.0.1-3afbd1fd-69c0-473e-b1fc-103a43987b7f; session_id_admin=127.0.0.1-2746df78-beba-44a8-a6ef-424fc39436f5; session_id_lcsv1=127.0.0.1-c6b15afd-4806-4ab0-9d87-63e5bcdde736
HTTP_DNT:
1
HTTP_HOST:
127.0.0.1:8000
HTTP_ORIGIN:
http://127.0.0.1:8000
HTTP_REFERER:
http://127.0.0.1:8000/LCSv1/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:
/LCSv1/default/search
QUERY_STRING:
REMOTE_ADDR:
127.0.0.1
REMOTE_PORT:
59734
REQUEST_METHOD:
POST
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/LCSv1', '/home/jdalbey/Dropbox/web2py/applications/welcome', '/home/jdalbey/Dropbox/web2py/applications/admin'])
applications_parent:
/home/jdalbey/Dropbox/web2py
cmd_args:
cmd_options:
<Values at 0x7f1a3ffcc9b0: {'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}>
content_length:
1017
content_type:
multipart/form-data; boundary=---------------------------125190299836048206103545911921
db_sessions:
set([])
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_content_length:
1017
http_content_type:
multipart/form-data; boundary=---------------------------125190299836048206103545911921
http_cookie:
session_id_welcome=127.0.0.1-3afbd1fd-69c0-473e-b1fc-103a43987b7f; session_id_admin=127.0.0.1-2746df78-beba-44a8-a6ef-424fc39436f5; session_id_lcsv1=127.0.0.1-c6b15afd-4806-4ab0-9d87-63e5bcdde736
http_dnt:
1
http_host:
127.0.0.1:8000
http_origin:
http://127.0.0.1:8000
http_referer:
http://127.0.0.1:8000/LCSv1/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:
/LCSv1/default/search
query_string:
remote_addr:
127.0.0.1
remote_port:
59734
request_method:
POST
request_uri:
/LCSv1/default/search
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 0x7f1a47046270>
wsgi.file_wrapper:
<class wsgiref.util.FileWrapper at 0x7f1a40001980>
wsgi.input:
<socket._fileobject object at 0x7f1a06ca7f50>
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 0x7f1a47046270>
wsgi_file_wrapper:
<class wsgiref.util.FileWrapper at 0x7f1a40001980>
wsgi_input:
<socket._fileobject object at 0x7f1a06ca7f50>
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/LCSv1
function:
search
global_settings:
app_folders:
set(['/home/jdalbey/Dropbox/web2py/applications/LCSv1', '/home/jdalbey/Dropbox/web2py/applications/welcome', '/home/jdalbey/Dropbox/web2py/applications/admin'])
applications_parent:
/home/jdalbey/Dropbox/web2py
cmd_args:
cmd_options:
<Values at 0x7f1a3ffcc9b0: {'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([])
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:
POST
now:
datetime.datetime(2020, 4, 2, 11, 10, 24, 83159)
raw_args:
raw_extension:
None
url:
/LCSv1/default/search
utcnow:
datetime.datetime(2020, 4, 2, 18, 10, 24, 83170)
wsgi:
<gluon.main.LazyWSGI object at 0x7f1a06d24710>
' 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 0x7f1a06319330, file "/...plications/LCSv1/controllers/default.py", line 3>' 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 0x7f1a06319330, file "/...plications/LCSv1/controllers/default.py", line 3>, environment={\'A\': , \'ANY_OF\': , \'ASSIGNJS\': , \'B\': , \'BEAUTIFY\': , \'BODY\': , \'BR\': , \'BUTTON\': , \'CAT\': , \'CENTER\': , ...}, layer=\'/home/jdalbey/Dropbox/web2py/applications/LCSv1/controllers/default.py\', scode= at 0x7f1a06319330, file "/...plications/LCSv1/controllers/default.py", line 3>)' p86 sS'func' p87 S'restricted' p88 sa(dp89 g64 S'/home/jdalbey/Dropbox/web2py/applications/LCSv1/controllers/default.py' p90 sg66 (dp91 sg72 I249 sg73 (dp92 I238 S' return newID' p93 sI239 S' else:' p94 sI240 S" return 'T'+routeNum+'AA' # For a non-existing route" p95 sI241 S'' sI242 S'# Convert checkbox value to YES/NO' p96 sI243 S'def getCheckbox(ckBox):' p97 sI244 S' if (ckBox == "on"):' p98 sI245 S' return "YES"' p99 sI246 S' else:' p100 sI247 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/LCSv1/controllers/default.py' p124 sg66 (dp125 S'form.process' p126 S'>' p127 sS').accepted' p128 g108 sS'onvalidation' p129 g108 sS'form' p130 S'' p131 sS'global special_validation' p132 S'' p133 ssg72 I45 sg73 (dp134 I40 S" INPUT(_name='startdate',_class='date')," p135 sI41 S" XML('   ')," p136 sI42 S' LABEL(\' to:\',_for=\'enddate\', _class="label"),' p137 sI43 S" INPUT(_name='enddate',_class='date'),BR()," p138 sI44 S' INPUT(_value="Search", _type=\'submit\', _class="btn btn-primary btn-default", _style="margin: 7% 45% 2% 40%;"))' p139 sI45 S' if form.process(onvalidation=special_validation).accepted:' p140 sI46 S' # Put the form fields into the session variables' p141 sI47 S' session.closureid = form.vars.closureid' p142 sI48 S' session.lognum = form.vars.lognum' p143 sI49 S' session.startdate = form.vars.startdate' p144 ssg85 S'()' p145 sg87 S'search' p146 sa(dp147 g64 S'/home/jdalbey/Dropbox/web2py/gluon/html.py' p148 sg66 (dp149 S'self' p150 S'' p151 sS'self.validate' p152 S'>' p153 sS'kwargs' p154 S"{'dbio': True, 'onvalidation': }" p155 ssg72 I2326 sg73 (dp156 I2321 S' return dict(form=SQLFORM(db.table).process(onsuccess=my_callback)' p157 sI2322 S'' sI2323 S'' sI2324 S' """' p158 sI2325 S" kwargs['dbio'] = kwargs.get('dbio', True) # necessary for SQLHTML forms" p159 sI2326 S' self.validate(**kwargs)' p160 sI2327 S' return self' p161 sI2328 S'' sI2329 S' REDIRECT_JS = "window.location=\'%s\';return false"' p162 sI2330 S'' ssg85 S"(self=, **kwargs={'dbio': True, 'onvalidation': })" p163 sg87 S'process' p164 sa(dp165 g64 S'/home/jdalbey/Dropbox/web2py/gluon/html.py' p166 sg66 (dp167 S'self' p168 S'' p169 sS'self.accepts' p170 S'>' p171 sS'kwargs' p172 S"{'dbio': True, 'onvalidation': , 'request_vars': , 'session': }" p173 ssg72 I2264 sg73 (dp174 I2259 S" for key in ('message_onsuccess', 'message_onfailure', 'onsuccess'," p175 sI2260 S" 'onfailure', 'next', 'message_onchange', 'onchange'):" p176 sI2261 S' if key in kwargs:' p177 sI2262 S' del kwargs[key]' p178 sI2263 S'' sI2264 S' if self.accepts(**kwargs):' p179 sI2265 S" if onsuccess == 'flash':" p180 sI2266 S' if next:' p181 sI2267 S' current.session.flash = message_onsuccess' p182 sI2268 S' else:' p183 ssg85 S"(self=, **kwargs={'dbio': True, 'onvalidation': , 'request_vars': , 'session': })" p184 sg87 S'validate' p185 sa(dp186 g64 S'/home/jdalbey/Dropbox/web2py/gluon/html.py' p187 sg66 (dp188 S'global call_as_list' p189 S'' p190 sS'self' p191 S'' p192 sS'onvalidation' p193 S'' p194 ssg72 I2168 sg73 (dp195 I2163 S' if changed:' p196 sI2164 S' if onchange and self.record_changed and \\' p197 sI2165 S' self.detect_record_change:' p198 sI2166 S' call_as_list(onchange, self)' p199 sI2167 S' elif status:' p200 sI2168 S' call_as_list(onvalidation, self)' p201 sI2169 S' if self.errors:' p202 sI2170 S' status = False' p203 sI2171 S' if session is not None:' p204 sI2172 S" if hasattr(self, 'record_hash'):" p205 ssg85 S"(self=, request_vars=, session=, formname='default', keepvalues=False, onvalidation=, hideerror=False, **kwargs={'dbio': True})" p206 sg87 S'accepts' p207 sa(dp208 g64 S'/home/jdalbey/Dropbox/web2py/gluon/html.py' p209 sg66 (dp210 S'a' S'(,)' p211 sS'item' p212 S'' p213 sS'b' g19 ssg72 I165 sg73 (dp214 I160 S'' sI161 S'def call_as_list(f, *a, **b):' p215 sI162 S' if not isinstance(f, (list, tuple)):' p216 sI163 S' f = [f]' p217 sI164 S' for item in f:' p218 sI165 S' item(*a, **b)' p219 sI166 S'' sI167 S'' sI168 S"def truncate_string(text, length, dots='...'):" p220 sI169 S' text = to_unicode(text)' p221 ssg85 S'(f=[], *a=(,), **b={})' p222 sg87 S'call_as_list' p223 sa(dp224 g64 S'/home/jdalbey/Dropbox/web2py/applications/LCSv1/controllers/default.py' p225 sg66 (dp226 S'builtinlen' p227 S'' p228 sS'form.vars' p229 S"" p230 sS'form.vars.lognum' p231 S"'2'" p232 sS'form' p233 S'' p234 sS'form.vars.closureID' p235 S'None' p236 ssg72 I56 sg73 (dp237 I51 S' session.route = form.vars.route' p238 sI52 S' session.direction = form.vars.direction' p239 sI53 S" redirect(URL('results'))" p240 sI54 S' return dict(form=form)' p241 sI55 S'def special_validation(form):' p242 sI56 S' if (len(form.vars.lognum) > 0 and len(form.vars.closureID) == 0):' p243 sI57 S" form.errors.lognum = 'Must provide a closureID when specifying a log number'" p244 sI58 S'# Show the item that was found in the search' p245 sI59 S'def results():' p246 sI60 S' # query object is equivalent to the where clause in query' p247 ssg85 S'(form=)' p248 sg87 S'special_validation' p249 sasS'pyver' p250 S'Python 2.7.17: /usr/bin/python (prefix: /usr)' p251 sS'session' p252 g59 (S's\x9c\x00\x00\x00
username:
A
' tRp253 sS'etype' p254 S"" p255 sS'date' p256 S'Thu Apr 2 11:10:25 2020' p257 sS'response' p258 g59 (S's)\x1d\x00\x00
body:
<cStringIO.StringO object at 0x7f1a06bc41b0>
cookies:
session_id_lcsv1:
127.0.0.1-c6b15afd-4806-4ab0-9d87-63e5bcdde736
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
/LCSv1/default/home
List
False
/LCSv1/default/list
Search
False
/LCSv1/default/search
Request
False
/LCSv1/default/submit
meta:
author:
Author
description:
describe your app
keywords:
keyword
models_to_run:
^\\w+\\.py$
^default/\\w+\\.py$
^default/search/\\w+\\.py$
postprocessing:
session_client:
127.0.0.1
session_cookie_compression_level:
None
session_cookie_expires:
None
session_data_name:
session_data_lcsv1
session_file:
<open file '/home/jdalbey/Dropbox/web2py/applications/LCSv1/sessions/1f5/126/127.0.0.1-c6b15afd-4806-4ab0-9d87-63e5bcdde736', mode 'rb+' at 0x7f1a066ba780>
session_filename:
/home/jdalbey/Dropbox/web2py/applications/LCSv1/sessions/127.0.0.1-c6b15afd-4806-4ab0-9d87-63e5bcdde736
session_hash:
83030a5dada5ec626f4100e7fe7ff979
session_id:
127.0.0.1-c6b15afd-4806-4ab0-9d87-63e5bcdde736
session_id_name:
session_id_lcsv1
session_locked:
True
session_masterapp:
LCSv1
session_new:
False
session_storage_type:
file
status:
200
subtitle:
subtitle customize me!
title:
LCSv1
view:
default/search.html
' tRp259 sS'locals' p260 (dp261 S'form' p262 S'' p263 sssS'traceback' p264 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/LCSv1/controllers/default.py", line 249, 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/LCSv1/controllers/default.py", line 45, in search\n if form.process(onvalidation=special_validation).accepted:\n File "/home/jdalbey/Dropbox/web2py/gluon/html.py", line 2326, in process\n self.validate(**kwargs)\n File "/home/jdalbey/Dropbox/web2py/gluon/html.py", line 2264, in validate\n if self.accepts(**kwargs):\n File "/home/jdalbey/Dropbox/web2py/gluon/html.py", line 2168, in accepts\n call_as_list(onvalidation, self)\n File "/home/jdalbey/Dropbox/web2py/gluon/html.py", line 165, in call_as_list\n item(*a, **b)\n File "/home/jdalbey/Dropbox/web2py/applications/LCSv1/controllers/default.py", line 56, in special_validation\n if (len(form.vars.lognum) > 0 and len(form.vars.closureID) == 0):\nTypeError: object of type \'NoneType\' has no len()\n' p265 s.