[2025-06-09 10:56:57,665] ERROR in app: Exception on /shareholder/44120/arrive [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
(self._dns_host, self.port),
...<2 lines>...
socket_options=self.socket_options,
)
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
~~~~~~~~~~~~^^^^
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
~~~~~~~~~~~~^
method,
^^^^^^^
...<6 lines>...
enforce_content_length=enforce_content_length,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 445, in request
self.endheaders()
~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 1333, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/http/client.py", line 1093, in _send_output
self.send(msg)
~~~~~~~~~^^^^^
File "/usr/lib/python3.13/http/client.py", line 1037, in send
self.connect()
~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 276, in connect
self.sock = self._new_conn()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 213, in _new_conn
raise NewConnectionError(
self, f"Failed to establish a new connection: {e}"
) from e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x76d6d4b40ad0>: Failed to establish a new connection: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=13001): Max retries exceeded with url: /emit/online (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76d6d4b40ad0>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 235, in shareholder_arrive
WSCommunicator.emit_online('statistics', get_shares_statistics())
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/communicator.py", line 22, in emit_online
r = requests.post(f'{WSCommunicator.HOST}/emit/online', data=json.dumps(payload), headers=WSCommunicator.HEADERS)
File "/usr/lib/python3.13/site-packages/requests/api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 700, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=13001): Max retries exceeded with url: /emit/online (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76d6d4b40ad0>: Failed to establish a new connection: [Errno 111] Connection refused'))
[2025-06-09 10:57:41,756] ERROR in app: Exception on /badge/leave [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
(self._dns_host, self.port),
...<2 lines>...
socket_options=self.socket_options,
)
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
~~~~~~~~~~~~^^^^
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
~~~~~~~~~~~~^
method,
^^^^^^^
...<6 lines>...
enforce_content_length=enforce_content_length,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 445, in request
self.endheaders()
~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 1333, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/http/client.py", line 1093, in _send_output
self.send(msg)
~~~~~~~~~^^^^^
File "/usr/lib/python3.13/http/client.py", line 1037, in send
self.connect()
~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 276, in connect
self.sock = self._new_conn()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 213, in _new_conn
raise NewConnectionError(
self, f"Failed to establish a new connection: {e}"
) from e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x76d6db85b770>: Failed to establish a new connection: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=13001): Max retries exceeded with url: /station_data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76d6db85b770>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 327, in badge_leave
station_data = WSCommunicator.station_data()
File "/srv/http/dsp.gmee.cz/communicator.py", line 33, in station_data
r = requests.get(f'{WSCommunicator.HOST}/station_data')
File "/usr/lib/python3.13/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 700, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=13001): Max retries exceeded with url: /station_data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76d6db85b770>: Failed to establish a new connection: [Errno 111] Connection refused'))
[2025-06-09 10:57:44,976] ERROR in app: Exception on /badge/leave [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
(self._dns_host, self.port),
...<2 lines>...
socket_options=self.socket_options,
)
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
~~~~~~~~~~~~^^^^
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
~~~~~~~~~~~~^
method,
^^^^^^^
...<6 lines>...
enforce_content_length=enforce_content_length,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 445, in request
self.endheaders()
~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 1333, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/http/client.py", line 1093, in _send_output
self.send(msg)
~~~~~~~~~^^^^^
File "/usr/lib/python3.13/http/client.py", line 1037, in send
self.connect()
~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 276, in connect
self.sock = self._new_conn()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 213, in _new_conn
raise NewConnectionError(
self, f"Failed to establish a new connection: {e}"
) from e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x76d6db85b4d0>: Failed to establish a new connection: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=13001): Max retries exceeded with url: /station_data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76d6db85b4d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 327, in badge_leave
station_data = WSCommunicator.station_data()
File "/srv/http/dsp.gmee.cz/communicator.py", line 33, in station_data
r = requests.get(f'{WSCommunicator.HOST}/station_data')
File "/usr/lib/python3.13/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 700, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=13001): Max retries exceeded with url: /station_data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76d6db85b4d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
[2025-06-09 11:13:11,756] ERROR in app: Exception on /pdf/signature.php [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 192, in signatures
pdf = PDFBuilder(f'{app.config["DATA_FOLDER"]}signatures/{shareholder.last_presence().id}_{shareholder.id}.pdf')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'id'
[2025-06-10 08:07:31,570] ERROR in app: Exception on /pdf/signature.php [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 192, in signatures
pdf = PDFBuilder(f'{app.config["DATA_FOLDER"]}signatures/{shareholder.last_presence().id}_{shareholder.id}.pdf')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'id'
[2025-06-10 08:11:58,027] ERROR in app: Exception on /pdf/signature.php [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 192, in signatures
pdf = PDFBuilder(f'{app.config["DATA_FOLDER"]}signatures/{shareholder.last_presence().id}_{shareholder.id}.pdf')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'id'
[2025-06-10 08:13:06,916] ERROR in app: Exception on /pdf/signature.php [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 192, in signatures
pdf = PDFBuilder(f'{app.config["DATA_FOLDER"]}signatures/{shareholder.last_presence().id}_{shareholder.id}.pdf')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'id'
[2025-06-10 08:45:52,338] ERROR in app: Exception on /export/voting/1/cs [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 171, in export_voting_protocol
os.makedirs(images_path)
~~~~~~~~~~~^^^^^^^^^^^^^
File "<frozen os>", line 227, in makedirs
PermissionError: [Errno 13] Permission denied: '/srv/http/data/1_cs'
[2025-06-12 10:19:03,675] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:19:03,884] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:19:04,639] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:19:09,654] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:19:11,543] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:19:14,239] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:20:14,587] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:20:14,836] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:20:15,100] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:20:15,332] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:20:15,653] ERROR in app: Exception on /shareholders_list [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 43, in shareholders_list
return render_template('shareholder_list.html', shareholders=shareholders[:20], group_shareholders=group_shareholders[:20])
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
File "/usr/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/srv/http/dsp.gmee.cz/templates/shareholder_list.html", line 12, in top-level template code
<div class="mainButtonIconAgent {% if shareholder.badge %} y {% else %} n {% endif %}" {% if shareholder.badge %} data-toggle="tooltip" title="{{shareholder.agent}}" {% endif %}></div>
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/jinja2/environment.py", line 490, in getattr
return getattr(obj, attribute)
File "/srv/http/dsp.gmee.cz/database.py", line 85, in agent
return '\n'.join(agent)
~~~~~~~~~^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
[2025-06-12 10:24:12,417] ERROR in app: Exception on /pdf/signature.php [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 176, in signatures
os.makedirs(pdf_folder)
~~~~~~~~~~~^^^^^^^^^^^^
File "<frozen os>", line 227, in makedirs
PermissionError: [Errno 13] Permission denied: '/srv/http/data/signatures'
[2025-06-12 10:26:15,722] ERROR in app: Exception on /badge/leave [POST]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
(self._dns_host, self.port),
...<2 lines>...
socket_options=self.socket_options,
)
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
~~~~~~~~~~~~^^^^
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 493, in _make_request
conn.request(
~~~~~~~~~~~~^
method,
^^^^^^^
...<6 lines>...
enforce_content_length=enforce_content_length,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 445, in request
self.endheaders()
~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 1333, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/http/client.py", line 1093, in _send_output
self.send(msg)
~~~~~~~~~^^^^^
File "/usr/lib/python3.13/http/client.py", line 1037, in send
self.connect()
~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 276, in connect
self.sock = self._new_conn()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 213, in _new_conn
raise NewConnectionError(
self, f"Failed to establish a new connection: {e}"
) from e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x76bd9a8c6710>: Failed to establish a new connection: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=13201): Max retries exceeded with url: /station_data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76bd9a8c6710>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 233, in badge_leave
station_data = WSCommunicator.station_data()
File "/srv/http/dsp.gmee.cz/communicator.py", line 33, in station_data
r = requests.get(f'{WSCommunicator.HOST}/station_data')
File "/usr/lib/python3.13/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 700, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=13201): Max retries exceeded with url: /station_data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x76bd9a8c6710>: Failed to establish a new connection: [Errno 111] Connection refused'))
[2025-06-12 10:31:30,107] ERROR in app: Exception on /voting/1/show/question [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 322, in voting_status
trigger_voting_change()
~~~~~~~~~~~~~~~~~~~~~^^
File "/srv/http/dsp.gmee.cz/database.py", line 29, in trigger_voting_change
WSCommunicator.emit_online('online_voting', response)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/communicator.py", line 22, in emit_online
r = requests.post(f'{WSCommunicator.HOST}/emit/online', data=json.dumps(payload), headers=WSCommunicator.HEADERS)
~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.13/json/encoder.py", line 261, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.13/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
f'is not JSON serializable')
TypeError: Object of type Decimal is not JSON serializable
[2025-06-12 10:31:31,179] ERROR in app: Exception on /voting/1/show/question [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 322, in voting_status
trigger_voting_change()
~~~~~~~~~~~~~~~~~~~~~^^
File "/srv/http/dsp.gmee.cz/database.py", line 29, in trigger_voting_change
WSCommunicator.emit_online('online_voting', response)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/communicator.py", line 22, in emit_online
r = requests.post(f'{WSCommunicator.HOST}/emit/online', data=json.dumps(payload), headers=WSCommunicator.HEADERS)
~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.13/json/encoder.py", line 261, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.13/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
f'is not JSON serializable')
TypeError: Object of type Decimal is not JSON serializable
[2025-06-12 10:31:31,521] ERROR in app: Exception on /voting/1/show/question [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 322, in voting_status
trigger_voting_change()
~~~~~~~~~~~~~~~~~~~~~^^
File "/srv/http/dsp.gmee.cz/database.py", line 29, in trigger_voting_change
WSCommunicator.emit_online('online_voting', response)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/communicator.py", line 22, in emit_online
r = requests.post(f'{WSCommunicator.HOST}/emit/online', data=json.dumps(payload), headers=WSCommunicator.HEADERS)
~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.13/json/encoder.py", line 261, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.13/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
f'is not JSON serializable')
TypeError: Object of type Decimal is not JSON serializable
[2025-06-12 10:31:32,810] ERROR in app: Exception on /voting/1/show/question [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 322, in voting_status
trigger_voting_change()
~~~~~~~~~~~~~~~~~~~~~^^
File "/srv/http/dsp.gmee.cz/database.py", line 29, in trigger_voting_change
WSCommunicator.emit_online('online_voting', response)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/communicator.py", line 22, in emit_online
r = requests.post(f'{WSCommunicator.HOST}/emit/online', data=json.dumps(payload), headers=WSCommunicator.HEADERS)
~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.13/json/encoder.py", line 261, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.13/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
f'is not JSON serializable')
TypeError: Object of type Decimal is not JSON serializable
[2025-06-12 10:31:40,594] ERROR in app: Exception on /online/connected [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 249, in online_connected
trigger_voting_change()
~~~~~~~~~~~~~~~~~~~~~^^
File "/srv/http/dsp.gmee.cz/database.py", line 29, in trigger_voting_change
WSCommunicator.emit_online('online_voting', response)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/communicator.py", line 22, in emit_online
r = requests.post(f'{WSCommunicator.HOST}/emit/online', data=json.dumps(payload), headers=WSCommunicator.HEADERS)
~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.13/json/encoder.py", line 261, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.13/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
f'is not JSON serializable')
TypeError: Object of type Decimal is not JSON serializable
[2025-06-12 10:31:58,817] ERROR in app: Exception on /voting/1/show/question [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/api.py", line 322, in voting_status
trigger_voting_change()
~~~~~~~~~~~~~~~~~~~~~^^
File "/srv/http/dsp.gmee.cz/database.py", line 29, in trigger_voting_change
WSCommunicator.emit_online('online_voting', response)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/communicator.py", line 22, in emit_online
r = requests.post(f'{WSCommunicator.HOST}/emit/online', data=json.dumps(payload), headers=WSCommunicator.HEADERS)
~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.13/json/encoder.py", line 261, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.13/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
f'is not JSON serializable')
TypeError: Object of type Decimal is not JSON serializable
[2025-06-12 10:42:28,054] ERROR in app: Exception on /export/voting/1 [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 86, in export_voting_protocol
shareholders = f'{voting.present_shares:,}'.replace(',', '.')
^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unsupported format string passed to NoneType.__format__
[2025-06-12 10:47:52,803] ERROR in app: Exception on /data/1/000.png [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 21, in data_file
return send_file(f'data/{file}')
File "/usr/lib/python3.13/site-packages/flask/helpers.py", line 511, in send_file
return werkzeug.utils.send_file( # type: ignore[return-value]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**_prepare_send_file_kwargs(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
)
^
)
^
File "/usr/lib/python3.13/site-packages/werkzeug/utils.py", line 428, in send_file
stat = os.stat(path)
FileNotFoundError: [Errno 2] No such file or directory: '/srv/http/dsp.gmee.cz/data/1/000.png'
[2025-06-12 10:50:31,365] ERROR in app: Exception on /data/1/000.png [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 21, in data_file
return send_file(f'data/{file}')
File "/usr/lib/python3.13/site-packages/flask/helpers.py", line 511, in send_file
return werkzeug.utils.send_file( # type: ignore[return-value]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**_prepare_send_file_kwargs(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
)
^
)
^
File "/usr/lib/python3.13/site-packages/werkzeug/utils.py", line 428, in send_file
stat = os.stat(path)
FileNotFoundError: [Errno 2] No such file or directory: '/srv/http/dsp.gmee.cz/data/1/000.png'
[2025-06-12 10:51:18,346] ERROR in app: Exception on /data/1/000.png [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/views.py", line 21, in data_file
return send_file(f'data/{file}')
File "/usr/lib/python3.13/site-packages/flask/helpers.py", line 511, in send_file
return werkzeug.utils.send_file( # type: ignore[return-value]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**_prepare_send_file_kwargs(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
)
^
)
^
File "/usr/lib/python3.13/site-packages/werkzeug/utils.py", line 428, in send_file
stat = os.stat(path)
FileNotFoundError: [Errno 2] No such file or directory: '/srv/http/dsp.gmee.cz/data/1/000.png'
[2025-06-18 19:30:30,312] ERROR in app: Exception on /export/presence [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 35, in export_presence
shareholders_int = (results[0] + results[1])
~~~~~~~~~~~^~~~~~~~~~~~
TypeError: unsupported operand type(s) for +: 'NoneType' and 'decimal.Decimal'
[2025-06-20 14:57:14,023] ERROR in app: Exception on /export/presence [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.ProgrammingError: (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 34, in export_presence
results = db.engine.connect().execute(text(sql)).first()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1415, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.ProgrammingError: (MySQLdb.ProgrammingError) (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
[SQL:
SELECT
(SELECT SUM(`shares`) FROM `presence` INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE (`entered_at` <= '13:00' AND `left_at` > '13:00') OR (`entered_at` <= '13:00' AND `left_at` IS NULL)) AS `local_shares`,
(SELECT SUM(`shares`) FROM `web_voting_joined` WHERE `web_voting_joined`.`question_id`=1 AND `unique_id` NOT IN (
SELECT DISTINCT `id_number` FROM `presence`
INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE `entered_at` <= '13:00' AND `shareholder`.`type` != 's'
UNION
SELECT `group_shareholder`.`id_number` FROM `group_shareholder`
INNER JOIN `shareholder` ON `shareholder`.`id`=`group_shareholder`.`shareholder_id`
INNER JOIN `presence` ON `presence`.`shareholder_id`=`shareholder`.`id`
WHERE `entered_at` <= '13:00'
)) AS `web_shares`;
]
(Background on this error at: https://sqlalche.me/e/20/f405)
[2025-06-20 14:57:16,457] ERROR in app: Exception on /export/presence [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.ProgrammingError: (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 34, in export_presence
results = db.engine.connect().execute(text(sql)).first()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1415, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.ProgrammingError: (MySQLdb.ProgrammingError) (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
[SQL:
SELECT
(SELECT SUM(`shares`) FROM `presence` INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE (`entered_at` <= '13:00' AND `left_at` > '13:00') OR (`entered_at` <= '13:00' AND `left_at` IS NULL)) AS `local_shares`,
(SELECT SUM(`shares`) FROM `web_voting_joined` WHERE `web_voting_joined`.`question_id`=1 AND `unique_id` NOT IN (
SELECT DISTINCT `id_number` FROM `presence`
INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE `entered_at` <= '13:00' AND `shareholder`.`type` != 's'
UNION
SELECT `group_shareholder`.`id_number` FROM `group_shareholder`
INNER JOIN `shareholder` ON `shareholder`.`id`=`group_shareholder`.`shareholder_id`
INNER JOIN `presence` ON `presence`.`shareholder_id`=`shareholder`.`id`
WHERE `entered_at` <= '13:00'
)) AS `web_shares`;
]
(Background on this error at: https://sqlalche.me/e/20/f405)
[2025-06-20 15:15:16,043] ERROR in app: Exception on /export/presence [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.ProgrammingError: (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 34, in export_presence
results = db.engine.connect().execute(text(sql)).first()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1415, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.ProgrammingError: (MySQLdb.ProgrammingError) (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
[SQL:
SELECT
(SELECT SUM(`shares`) FROM `presence` INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE (`entered_at` <= '13:00' AND `left_at` > '13:00') OR (`entered_at` <= '13:00' AND `left_at` IS NULL)) AS `local_shares`,
(SELECT SUM(`shares`) FROM `web_voting_joined` WHERE `web_voting_joined`.`question_id`=1 AND `unique_id` NOT IN (
SELECT DISTINCT `id_number` FROM `presence`
INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE `entered_at` <= '13:00' AND `shareholder`.`type` != 's'
UNION
SELECT `group_shareholder`.`id_number` FROM `group_shareholder`
INNER JOIN `shareholder` ON `shareholder`.`id`=`group_shareholder`.`shareholder_id`
INNER JOIN `presence` ON `presence`.`shareholder_id`=`shareholder`.`id`
WHERE `entered_at` <= '13:00'
)) AS `web_shares`;
]
(Background on this error at: https://sqlalche.me/e/20/f405)
[2025-06-20 15:15:17,104] ERROR in app: Exception on /export/presence [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.ProgrammingError: (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 34, in export_presence
results = db.engine.connect().execute(text(sql)).first()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1415, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.ProgrammingError: (MySQLdb.ProgrammingError) (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
[SQL:
SELECT
(SELECT SUM(`shares`) FROM `presence` INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE (`entered_at` <= '13:00' AND `left_at` > '13:00') OR (`entered_at` <= '13:00' AND `left_at` IS NULL)) AS `local_shares`,
(SELECT SUM(`shares`) FROM `web_voting_joined` WHERE `web_voting_joined`.`question_id`=1 AND `unique_id` NOT IN (
SELECT DISTINCT `id_number` FROM `presence`
INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE `entered_at` <= '13:00' AND `shareholder`.`type` != 's'
UNION
SELECT `group_shareholder`.`id_number` FROM `group_shareholder`
INNER JOIN `shareholder` ON `shareholder`.`id`=`group_shareholder`.`shareholder_id`
INNER JOIN `presence` ON `presence`.`shareholder_id`=`shareholder`.`id`
WHERE `entered_at` <= '13:00'
)) AS `web_shares`;
]
(Background on this error at: https://sqlalche.me/e/20/f405)
[2025-06-20 15:15:26,585] ERROR in app: Exception on /export/presence [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.ProgrammingError: (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 34, in export_presence
results = db.engine.connect().execute(text(sql)).first()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1415, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.ProgrammingError: (MySQLdb.ProgrammingError) (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
[SQL:
SELECT
(SELECT SUM(`shares`) FROM `presence` INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE (`entered_at` <= '13:00' AND `left_at` > '13:00') OR (`entered_at` <= '13:00' AND `left_at` IS NULL)) AS `local_shares`,
(SELECT SUM(`shares`) FROM `web_voting_joined` WHERE `web_voting_joined`.`question_id`=1 AND `unique_id` NOT IN (
SELECT DISTINCT `id_number` FROM `presence`
INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE `entered_at` <= '13:00' AND `shareholder`.`type` != 's'
UNION
SELECT `group_shareholder`.`id_number` FROM `group_shareholder`
INNER JOIN `shareholder` ON `shareholder`.`id`=`group_shareholder`.`shareholder_id`
INNER JOIN `presence` ON `presence`.`shareholder_id`=`shareholder`.`id`
WHERE `entered_at` <= '13:00'
)) AS `web_shares`;
]
(Background on this error at: https://sqlalche.me/e/20/f405)
[2025-06-20 16:33:24,950] ERROR in app: Exception on /export/presence [GET]
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.ProgrammingError: (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/srv/http/dsp.gmee.cz/exports.py", line 34, in export_presence
results = db.engine.connect().execute(text(sql)).first()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1415, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.13/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.13/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.ProgrammingError: (MySQLdb.ProgrammingError) (1146, "Table 'gMee_DSP.web_voting_joined' doesn't exist")
[SQL:
SELECT
(SELECT SUM(`shares`) FROM `presence` INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE (`entered_at` <= '13:00' AND `left_at` > '13:00') OR (`entered_at` <= '13:00' AND `left_at` IS NULL)) AS `local_shares`,
(SELECT SUM(`shares`) FROM `web_voting_joined` WHERE `web_voting_joined`.`question_id`=1 AND `unique_id` NOT IN (
SELECT DISTINCT `id_number` FROM `presence`
INNER JOIN `shareholder` ON `shareholder`.`id` = `presence`.`shareholder_id` WHERE `entered_at` <= '13:00' AND `shareholder`.`type` != 's'
UNION
SELECT `group_shareholder`.`id_number` FROM `group_shareholder`
INNER JOIN `shareholder` ON `shareholder`.`id`=`group_shareholder`.`shareholder_id`
INNER JOIN `presence` ON `presence`.`shareholder_id`=`shareholder`.`id`
WHERE `entered_at` <= '13:00'
)) AS `web_shares`;
]
(Background on this error at: https://sqlalche.me/e/20/f405)