diff --git a/avatar/admin.py b/avatar/admin.py index a47f74b..0025f24 100644 --- a/avatar/admin.py +++ b/avatar/admin.py @@ -4,7 +4,7 @@ try: from django.utils import six except ImportError: import six -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.template.loader import render_to_string from avatar.models import Avatar diff --git a/avatar/apps.py b/avatar/apps.py new file mode 100644 index 0000000..dcff8cd --- /dev/null +++ b/avatar/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class Config(AppConfig): + name = 'avatar' + default_auto_field = 'django.db.models.AutoField' diff --git a/avatar/forms.py b/avatar/forms.py index 9fa9f0b..7c0b204 100644 --- a/avatar/forms.py +++ b/avatar/forms.py @@ -9,7 +9,7 @@ try: from django.utils import six except ImportError: import six -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.template.defaultfilters import filesizeformat from avatar.conf import settings diff --git a/avatar/models.py b/avatar/models.py index 1e2ab04..cd0c8b3 100644 --- a/avatar/models.py +++ b/avatar/models.py @@ -9,8 +9,8 @@ from django.core.files import File from django.core.files.base import ContentFile from django.core.files.storage import get_storage_class from django.utils.module_loading import import_string -from django.utils.translation import ugettext_lazy as _ -from django.utils.encoding import force_text +from django.utils.translation import gettext_lazy as _ +from django.utils.encoding import force_str from django.db.models import signals from avatar.conf import settings @@ -39,7 +39,7 @@ def avatar_path_handler(instance=None, filename=None, size=None, ext=None): if settings.AVATAR_EXPOSE_USERNAMES: tmppath.append(get_username(instance.user)) else: - tmppath.append(force_text(instance.user.pk)) + tmppath.append(force_str(instance.user.pk)) if not filename: # Filename already stored in database filename = instance.avatar.name diff --git a/avatar/signals.py b/avatar/signals.py index 080910e..9074a91 100644 --- a/avatar/signals.py +++ b/avatar/signals.py @@ -1,5 +1,5 @@ import django.dispatch -avatar_updated = django.dispatch.Signal(providing_args=["user", "avatar"]) -avatar_deleted = django.dispatch.Signal(providing_args=["user", "avatar"]) +avatar_updated = django.dispatch.Signal() +avatar_deleted = django.dispatch.Signal() diff --git a/avatar/templatetags/avatar_tags.py b/avatar/templatetags/avatar_tags.py index b8beb75..5ca0d35 100644 --- a/avatar/templatetags/avatar_tags.py +++ b/avatar/templatetags/avatar_tags.py @@ -10,7 +10,7 @@ try: from django.utils import six except ImportError: import six -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from django.utils.module_loading import import_string from avatar.conf import settings diff --git a/avatar/urls.py b/avatar/urls.py index b031d60..379158e 100644 --- a/avatar/urls.py +++ b/avatar/urls.py @@ -1,12 +1,12 @@ -from django.conf.urls import url +from django.urls import re_path from avatar import views urlpatterns = [ - url(r'^add/$', views.add, name='avatar_add'), - url(r'^change/$', views.change, name='avatar_change'), - url(r'^delete/$', views.delete, name='avatar_delete'), - url(r'^render_primary/(?P[\w\d\@\.\-_]+)/(?P[\d]+)/$', + re_path(r'^add/$', views.add, name='avatar_add'), + re_path(r'^change/$', views.change, name='avatar_change'), + re_path(r'^delete/$', views.delete, name='avatar_delete'), + re_path(r'^render_primary/(?P[\w\d\@\.\-_]+)/(?P[\d]+)/$', views.render_primary, name='avatar_render_primary'), ] diff --git a/avatar/views.py b/avatar/views.py index 8221b2f..b8bf605 100644 --- a/avatar/views.py +++ b/avatar/views.py @@ -1,5 +1,5 @@ from django.shortcuts import render, redirect -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ # Issue 182: six no longer included with Django 3.0 try: from django.utils import six diff --git a/setup.py b/setup.py index 00a2abe..7fc17d3 100644 --- a/setup.py +++ b/setup.py @@ -35,6 +35,7 @@ setup( 'Framework :: Django :: 2.1', 'Framework :: Django :: 2.2', 'Framework :: Django :: 3.0', + 'Framework :: Django :: 4.0', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', @@ -46,6 +47,7 @@ setup( 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', ], keywords='avatar, django', author='Eric Florenzano',