KryptedGaming / django-discord-connector

Django extension that adds Discord models, SSO views, and celery tasks to help sync and manage your Discord community.
https://pypi.org/project/django-discord-connector/
MIT License
4 stars 1 forks source link

Sync discord groups failing due to special characters #19

Open porowns opened 3 years ago

porowns commented 3 years ago
celery_1  | The above exception was the direct cause of the following exception:
celery_1  |
celery_1  | Traceback (most recent call last):
celery_1  |   File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 385, in trace_task
celery_1  |     R = retval = fun(*args, **kwargs)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 648, in __protected_call__
celery_1  |     return self.run(*args, **kwargs)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django_discord_connector/tasks.py", line 133, in sync_discord_groups
celery_1  |     name=discord_guild_roles[role_id]['name'], external_id=role_id)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
celery_1  |     return getattr(self.get_queryset(), name)(*args, **kwargs)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 422, in create
celery_1  |     obj.save(force_insert=True, using=self.db)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 744, in save
celery_1  |     force_update=force_update, update_fields=update_fields)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 782, in save_base
celery_1  |     force_update, using, update_fields,
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table
celery_1  |     result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert
celery_1  |     using=using, raw=raw)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
celery_1  |     return getattr(self.get_queryset(), name)(*args, **kwargs)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
celery_1  |     return query.get_compiler(using=using).execute_sql(return_id)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql
celery_1  |     cursor.execute(sql, params)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
celery_1  |     return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
celery_1  |     return executor(sql, params, many, context)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
celery_1  |     return self.cursor.execute(sql, params)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
celery_1  |     raise dj_exc_value.with_traceback(traceback) from exc_value
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
celery_1  |     return self.cursor.execute(sql, params)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 71, in execute
celery_1  |     return self.cursor.execute(query, args)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
celery_1  |     res = self._query(query)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 312, in _query
celery_1  |     db.query(q)
celery_1  |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/connections.py", line 224, in query
celery_1  |     _mysql.connection.query(self, query)
celery_1  | django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE2\\x81\\xA3\\xE2\\x80\\x82...' for column 'name' at row 1")

⁣          Upper Management⁣⁣

porowns commented 3 years ago

At the very least we should skip bad roles