Error when playing tracks with Emojis like 🔊 🔥
mysql> SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
-> FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'aura_engine_api';
+----------------------------+------------------------+
| DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME |
+----------------------------+------------------------+
| utf8mb4 | utf8mb4_unicode_ci |
+----------------------------+------------------------+
Result
Playlog is not stored in Engine API, Engine Clocks in turn is not displaying the current playlog.
Error
Click to expand
[2021-05-03 11:05:24,680] ERROR in app: Exception on /api/v1/playlog [POST]
Traceback (most recent call last):
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1284, in _execute_context
cursor, statement, parameters, context
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 590, in do_execute
cursor.execute(statement, parameters)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 250, in execute
self.errorhandler(self, exc, value)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
raise errorvalue
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 247, in execute
res = self._query(query)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 411, in _query
rowcount = self._do_query(q)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 374, in _do_query
db.query(q)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/connections.py", line 277, in query
_mysql.connection.query(self, query)
_mysql_exceptions.OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x94\\x8A B...' for column 'track_title' at row 1")
The above exception was the direct cause of the following exception:
Click to expand
Traceback (most recent call last):
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/connexion/decorators/decorator.py", line 48, in wrapper
response = function(request)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/connexion/decorators/uri_parsing.py", line 144, in wrapper
response = function(request)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/connexion/decorators/validation.py", line 184, in wrapper
response = function(request)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/connexion/decorators/parameter.py", line 121, in wrapper
return function(**kwargs)
File "src/../src/rest/controllers/internal_controller.py", line 27, in add_playlog
return service.store_playlog(body, connexion.request.get_json())
File "/home/david/Code/aura/engine-api/src/service.py", line 163, in store_playlog
playlog.save()
File "/home/david/Code/aura/engine-api/src/models.py", line 80, in save
db.session.commit()
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/scoping.py", line 163, in do
return getattr(self.registry(), name)(*args, **kwargs)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1042, in commit
self.transaction.commit()
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 504, in commit
self._prepare_impl()
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 483, in _prepare_impl
self.session.flush()
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2523, in flush
self._flush(objects)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2664, in _flush
transaction.rollback(_capture_exception=True)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 69, in __exit__
exc_value, with_traceback=exc_tb,
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
raise exception
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2624, in _flush
flush_context.execute()
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute
rec.execute(self)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 589, in execute
uow,
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 245, in save_obj
insert,
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 1083, in _emit_insert_statements
c = cached_connections[connection].execute(statement, multiparams)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1020, in execute
return meth(self, multiparams, params)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_clauseelement
distilled_params,
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1324, in _execute_context
e, statement, parameters, cursor, context
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1518, in _handle_dbapi_exception
sqlalchemy_exception, with_traceback=exc_info[2], from_=e
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
raise exception
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1284, in _execute_context
cursor, statement, parameters, context
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 590, in do_execute
cursor.execute(statement, parameters)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 250, in execute
self.errorhandler(self, exc, value)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
raise errorvalue
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 247, in execute
res = self._query(query)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 411, in _query
rowcount = self._do_query(q)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/cursors.py", line 374, in _do_query
db.query(q)
File "/home/david/Code/aura/engine-api/python/lib/python3.7/site-packages/MySQLdb/connections.py", line 277, in query
_mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1366, "Incorrect string value: '\\xF0\\x9F\\x94\\x8A B...' for column 'track_title' at row 1")
[SQL: INSERT INTO playlog (track_start, track_artist, track_album, track_title, track_duration, track_type, track_num, playlist_id, timeslot_id, show_id, show_name, log_source, is_synced) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (datetime.datetime(2021, 5, 3, 11, 5, 24), None, None, 'Dynoro feat. Gigi DAgostino - In My Mind 🔊 BASS BOOSTED 🔥', 184, 0, None, -1, -1, -1, '', 1, 0)]
(Background on this error at: http://sqlalche.me/e/e3q8)