[2026-03-08 22:01:51,265] ERROR in app: Exception on /data/.env [GET]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/views.py", line 21, in data_file
return send_file(f'{app.config["DATA_FOLDER"]}{file}')
File "/usr/lib/python3.14/site-packages/flask/helpers.py", line 518, in send_file
return werkzeug.utils.send_file( # type: ignore[return-value]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**_prepare_send_file_kwargs(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
)
^
)
^
File "/usr/lib/python3.14/site-packages/werkzeug/utils.py", line 428, in send_file
stat = os.stat(path)
FileNotFoundError: [Errno 2] No such file or directory: '/srv/http/data/.env'
[2026-03-08 22:02:13,323] ERROR in app: Exception on /data/config.inc.php.bak [GET]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/views.py", line 21, in data_file
return send_file(f'{app.config["DATA_FOLDER"]}{file}')
File "/usr/lib/python3.14/site-packages/flask/helpers.py", line 518, in send_file
return werkzeug.utils.send_file( # type: ignore[return-value]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**_prepare_send_file_kwargs(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
)
^
)
^
File "/usr/lib/python3.14/site-packages/werkzeug/utils.py", line 428, in send_file
stat = os.stat(path)
FileNotFoundError: [Errno 2] No such file or directory: '/srv/http/data/config.inc.php.bak'
[2026-03-09 06:21:47,403] ERROR in app: Exception on /voting/edit [POST]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.IntegrityError: (1048, "Column 'question_en' cannot be null")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/api.py", line 285, in api_voting_edit
db.session.commit()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/scoping.py", line 597, in commit
return self._proxied.commit()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2030, in commit
trans.commit(_to_root=True)
~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "<string>", line 2, in commit
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1311, in commit
self._prepare_impl()
~~~~~~~~~~~~~~~~~~^^
File "<string>", line 2, in _prepare_impl
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1286, in _prepare_impl
self.session.flush()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.mapper,
^^^^^^^^^^^^
uow.states_for_mapper_hierarchy(self.mapper, False, False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uow,
^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
~~~~~~~~~~~~~~~~~~~~~~~^
base_mapper,
^^^^^^^^^^^^
...<3 lines>...
insert,
^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
statement,
params,
execution_options=execution_options,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1048, "Column 'question_en' cannot be null")
[SQL: INSERT INTO voting (`order`, numbering, name_cs, name_en, question, question_en, holdable, start_time, end_time, summed, `show`, for_total, against_total, abstain_total, present_shares) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (8, ' ', 'Zkušební hlasování', None, ' ', None, 0, None, None, 0, None, None, None, None, None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
[2026-03-09 06:21:48,974] ERROR in app: Exception on /voting/edit [POST]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.IntegrityError: (1048, "Column 'question_en' cannot be null")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/api.py", line 285, in api_voting_edit
db.session.commit()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/scoping.py", line 597, in commit
return self._proxied.commit()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2030, in commit
trans.commit(_to_root=True)
~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "<string>", line 2, in commit
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1311, in commit
self._prepare_impl()
~~~~~~~~~~~~~~~~~~^^
File "<string>", line 2, in _prepare_impl
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1286, in _prepare_impl
self.session.flush()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.mapper,
^^^^^^^^^^^^
uow.states_for_mapper_hierarchy(self.mapper, False, False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uow,
^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
~~~~~~~~~~~~~~~~~~~~~~~^
base_mapper,
^^^^^^^^^^^^
...<3 lines>...
insert,
^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
statement,
params,
execution_options=execution_options,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1048, "Column 'question_en' cannot be null")
[SQL: INSERT INTO voting (`order`, numbering, name_cs, name_en, question, question_en, holdable, start_time, end_time, summed, `show`, for_total, against_total, abstain_total, present_shares) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (8, ' ', 'Zkušební hlasování', None, ' ', None, 0, None, None, 0, None, None, None, None, None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
[2026-03-09 06:21:52,143] ERROR in app: Exception on /voting/edit [POST]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.IntegrityError: (1048, "Column 'question_en' cannot be null")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/api.py", line 285, in api_voting_edit
db.session.commit()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/scoping.py", line 597, in commit
return self._proxied.commit()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2030, in commit
trans.commit(_to_root=True)
~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "<string>", line 2, in commit
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1311, in commit
self._prepare_impl()
~~~~~~~~~~~~~~~~~~^^
File "<string>", line 2, in _prepare_impl
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1286, in _prepare_impl
self.session.flush()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.mapper,
^^^^^^^^^^^^
uow.states_for_mapper_hierarchy(self.mapper, False, False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uow,
^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
~~~~~~~~~~~~~~~~~~~~~~~^
base_mapper,
^^^^^^^^^^^^
...<3 lines>...
insert,
^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
statement,
params,
execution_options=execution_options,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1048, "Column 'question_en' cannot be null")
[SQL: INSERT INTO voting (`order`, numbering, name_cs, name_en, question, question_en, holdable, start_time, end_time, summed, `show`, for_total, against_total, abstain_total, present_shares) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (8, ' -', 'Zkušební hlasování', None, ' ', None, 0, None, None, 0, None, None, None, None, None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
[2026-03-09 06:21:54,182] ERROR in app: Exception on /voting/edit [POST]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.IntegrityError: (1048, "Column 'question_en' cannot be null")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/api.py", line 285, in api_voting_edit
db.session.commit()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/scoping.py", line 597, in commit
return self._proxied.commit()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2030, in commit
trans.commit(_to_root=True)
~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "<string>", line 2, in commit
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1311, in commit
self._prepare_impl()
~~~~~~~~~~~~~~~~~~^^
File "<string>", line 2, in _prepare_impl
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1286, in _prepare_impl
self.session.flush()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.mapper,
^^^^^^^^^^^^
uow.states_for_mapper_hierarchy(self.mapper, False, False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uow,
^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
~~~~~~~~~~~~~~~~~~~~~~~^
base_mapper,
^^^^^^^^^^^^
...<3 lines>...
insert,
^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
statement,
params,
execution_options=execution_options,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1048, "Column 'question_en' cannot be null")
[SQL: INSERT INTO voting (`order`, numbering, name_cs, name_en, question, question_en, holdable, start_time, end_time, summed, `show`, for_total, against_total, abstain_total, present_shares) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (8, ' -', 'Zkušební hlasování', None, ' ', None, 0, None, None, 0, None, None, None, None, None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
[2026-03-09 06:22:00,134] ERROR in app: Exception on /voting/edit [POST]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.IntegrityError: (1048, "Column 'question_en' cannot be null")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/api.py", line 285, in api_voting_edit
db.session.commit()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/scoping.py", line 597, in commit
return self._proxied.commit()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2030, in commit
trans.commit(_to_root=True)
~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "<string>", line 2, in commit
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1311, in commit
self._prepare_impl()
~~~~~~~~~~~~~~~~~~^^
File "<string>", line 2, in _prepare_impl
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1286, in _prepare_impl
self.session.flush()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.mapper,
^^^^^^^^^^^^
uow.states_for_mapper_hierarchy(self.mapper, False, False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uow,
^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
~~~~~~~~~~~~~~~~~~~~~~~^
base_mapper,
^^^^^^^^^^^^
...<3 lines>...
insert,
^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
statement,
params,
execution_options=execution_options,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1048, "Column 'question_en' cannot be null")
[SQL: INSERT INTO voting (`order`, numbering, name_cs, name_en, question, question_en, holdable, start_time, end_time, summed, `show`, for_total, against_total, abstain_total, present_shares) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (8, '1', 'Zkušební hlasování', None, ' ', None, 0, None, None, 0, None, None, None, None, None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
[2026-03-09 06:22:04,409] ERROR in app: Exception on /voting/edit [POST]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.IntegrityError: (1048, "Column 'question_en' cannot be null")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/api.py", line 285, in api_voting_edit
db.session.commit()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/scoping.py", line 597, in commit
return self._proxied.commit()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2030, in commit
trans.commit(_to_root=True)
~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "<string>", line 2, in commit
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1311, in commit
self._prepare_impl()
~~~~~~~~~~~~~~~~~~^^
File "<string>", line 2, in _prepare_impl
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1286, in _prepare_impl
self.session.flush()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.mapper,
^^^^^^^^^^^^
uow.states_for_mapper_hierarchy(self.mapper, False, False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uow,
^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
~~~~~~~~~~~~~~~~~~~~~~~^
base_mapper,
^^^^^^^^^^^^
...<3 lines>...
insert,
^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
statement,
params,
execution_options=execution_options,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1048, "Column 'question_en' cannot be null")
[SQL: INSERT INTO voting (`order`, numbering, name_cs, name_en, question, question_en, holdable, start_time, end_time, summed, `show`, for_total, against_total, abstain_total, present_shares) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (8, '1.', 'Zkušební hlasování', None, ' ', None, 0, None, None, 0, None, None, None, None, None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
[2026-03-09 08:15:38,002] ERROR in app: Exception on /voting/edit [POST]
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
MySQLdb.IntegrityError: (1048, "Column 'question_en' cannot be null")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3.14/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3.14/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.14/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/kovo.gmee.cz/api.py", line 285, in api_voting_edit
db.session.commit()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/scoping.py", line 597, in commit
return self._proxied.commit()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2030, in commit
trans.commit(_to_root=True)
~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "<string>", line 2, in commit
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1311, in commit
self._prepare_impl()
~~~~~~~~~~~~~~~~~~^^
File "<string>", line 2, in _prepare_impl
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
ret_value = fn(self, *arg, **kw)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1286, in _prepare_impl
self.session.flush()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.mapper,
^^^^^^^^^^^^
uow.states_for_mapper_hierarchy(self.mapper, False, False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uow,
^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
~~~~~~~~~~~~~~~~~~~~~~~^
base_mapper,
^^^^^^^^^^^^
...<3 lines>...
insert,
^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.execute(
statement,
params,
execution_options=execution_options,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/usr/lib/python3.14/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
~~~~~~~~^^^
File "/usr/lib/python3.14/site-packages/MySQLdb/connections.py", line 286, in query
_mysql.connection.query(self, query)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1048, "Column 'question_en' cannot be null")
[SQL: INSERT INTO voting (`order`, numbering, name_cs, name_en, question, question_en, holdable, start_time, end_time, summed, `show`, for_total, against_total, abstain_total, present_shares) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (17, '11', ' Test', None, ' aa', None, 0, None, None, 0, None, None, None, None, None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)