dst: /forms/UserFormPublic/lostPassword |
ret: /users_only/meeting/MyMeetingFormPublic/viewMeetingDocuments?meetingId=15D07000000E7 |
word: Back to what I was doing |
Site Root: /data/aipn/current/aipn_org/
userid: None
dbname: aipn
Accept: */*
Host: www.aien.org
Referer: https://www.aipn.org/forms/login/pushAndJump?ret=/users_only/meeting/MyMeetingFormPublic/viewMeetingDocuments%3FmeetingId%3D15D07000000E7&word=Back%20to%20what%20I%20was%20doing&dst=/forms/UserFormPublic/lostPassword
User-Agent: claudebot
X-Forwarded-Proto: https
X-Forwarded-Protocol: https
SCRIPT_NAME: /forms/login/pushAndJump
PID: 5816
Error in OperationalError. Here is a traceback of function calls, starting with the closest to that error. |
Python 3.11.0: /home/maxx/lib/matrixmaxx3/bin/uwsgi Fri Mar 29 01:39:35 2024 |
OperationalError: No connection
/data/aipn/current/libs/PLayer/PersistentBroker.py in processSql(self=<libs.PLayer.PersistentBroker.PersistentBroker object at 0x7fcc9b97b550>, sql='SELECT * FROM webselect', args=None) |
330 |
331 dbcon = self.getDBConn() |
332 if dbcon: |
333 cur = dbcon.cursor(DictCursor) |
334 else: |
335 raise MySQLdb.OperationalError("No connection") |
336 |
337 try: |
338 if getattr(self, '_isQueryCollect', 0): |
339 list = getattr(self, "queries", []) |
global MySQLdb = <module 'MySQLdb' from '/home/maxx/lib/matrixmaxx3/lib/python3.11/site-packages/MySQLdb/__init__.py'> MySQLdb.OperationalError = <class 'MySQLdb.OperationalError'> |
/data/aipn/current/libs/framework/BaseHandler.py in _loadSelects(self=<libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110>) |
413 I think the WebSelect stuff should be on its own, but for now |
414 I'm pulling it up to this class. |
415 """ |
416 # read in all the selects |
417 self._cachedWS = set() |
418 rs = self.pb.processSql("SELECT * FROM webselect") |
419 self.webselectsbyid = {} |
420 self.webselectsbyname = {} |
421 self.wsnametoid = {} |
422 self.wsidtoname = {} |
rs undefined self = <libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110> self.pb = <libs.PLayer.PersistentBroker.PersistentBroker object at 0x7fcc9b97b550> self.pb.processSql = <bound method PersistentBroker.processSql of <libs.PLayer.PersistentBroker.PersistentBroker object at 0x7fcc9b97b550>> |
/data/aipn/current/libs/framework/BaseHandler.py in _loadDisplayGroups(self=<libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110>) |
427 def _loadDisplayGroups(self): |
428 """ called from __init__ of WebSite |
429 """ |
430 """Loads all the display groups from files""" |
431 if hasattr(self, 'displaygroupsbyid'): return |
432 self._loadSelects() |
433 self._classmapname2dg = {} |
434 #now, we'll load the displaygroups |
435 self.displaygroupsbyid = LazyDict.LazyDict() |
436 self._displaygroupsbyname = LazyDict.LazyDict() |
self = <libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110> self._loadSelects = <bound method BaseHandler._loadSelects of <libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110>> |
/data/aipn/current/libs/framework/WebSite.py in __init__(self=<libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110>, siteRoot='/data/aipn/current/aipn_org/', sitePath='sites/www/', req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fcc9b6f2ad0>) |
183 self._securityPolicy = self.getPOClass('SecurityPolicy')(self, req) |
184 # security policy only needs WebSite for getting classes consider |
185 # refactoring or using broker |
186 |
187 # if we have a persistentbroker then load the displaygroups |
188 self._loadDisplayGroups() |
189 self._templates = set() # a dict of temps that we've loaded 4 debug |
190 self._dgs = [] # a list of dgs requested kept for debug |
191 self._dgids = [] # a list of dgs requested kept for debug |
192 self.setRequest(req) # Updated everytime processRequest is called |
self = <libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110> self._loadDisplayGroups = <bound method BaseHandler._loadDisplayGroups of <libs.framework.WebSite.WebSite object at 0x7fcc9b6f3110>> |
/data/aipn/current/libs/framework/WebManager.py in createNewHandler(self=<libs.framework.WebManager.WebManager object at 0x7fcca4c86690>, req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fcc9b6f2ad0>, options={'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.org'}) |
107 self._sitePath, |
108 req) |
109 else: |
110 raise Exception('%s not found' % fullname) |
111 else: |
112 site = WebSite(self._siteRoot, self._sitePath, req) |
113 return site |
114 |
115 def newRequest(self, req, initOnly=False): |
116 if initOnly: |
site undefined global WebSite = <class 'libs.framework.WebSite.WebSite'> self = <libs.framework.WebManager.WebManager object at 0x7fcca4c86690> self._siteRoot = '/data/aipn/current/aipn_org/' self._sitePath = 'sites/www/' req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fcc9b6f2ad0> |
/data/aipn/current/libs/framework/WebManager.py in _newRequest(self=<libs.framework.WebManager.WebManager object at 0x7fcca4c86690>, req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fcc9b6f2ad0>) |
153 if self._cacheKey in self._sites: |
154 site = self._sites[self._cacheKey] |
155 else: |
156 # create a new site |
157 try: |
158 site = self.createNewHandler(req, options) |
159 |
160 # clear our query cache on the end of the req |
161 if hasattr(site, 'pb'): |
162 self.registerForNotification(site.pb, 'stopCaching', |
site undefined self = <libs.framework.WebManager.WebManager object at 0x7fcca4c86690> self.createNewHandler = <bound method WebManager.createNewHandler of <libs.framework.WebManager.WebManager object at 0x7fcca4c86690>> req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fcc9b6f2ad0> options = {'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.org'} |