diff --git a/config.py b/config.py index 15decaa..efa2350 100644 --- a/config.py +++ b/config.py @@ -96,7 +96,7 @@ BOOTSTRAP4 = { }, } -if not 'test' in sys.argv and not 'collectstatic' in sys.argv: +if 'test' not in sys.argv and 'collectstatic' not in sys.argv: ANYMAIL = { # pragma: no cover 'MAILGUN_API_KEY': os.environ['IVATAR_MAILGUN_API_KEY'], 'MAILGUN_SENDER_DOMAIN': os.environ['IVATAR_MAILGUN_SENDER_DOMAIN'], @@ -108,7 +108,7 @@ try: from ivatar.settings import DATABASES except Exception: # pragma: no cover DATABASES = [] # pragma: no cover -if not 'default' in DATABASES: +if 'default' not in DATABASES: DATABASES['default'] = { # pragma: no cover 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), diff --git a/ivatar/context_processors.py b/ivatar/context_processors.py index 823188d..ab4df64 100644 --- a/ivatar/context_processors.py +++ b/ivatar/context_processors.py @@ -4,6 +4,7 @@ Default: useful variables for the base page templates. from ipware import get_client_ip from ivatar.settings import IVATAR_VERSION, SITE_NAME, MAX_PHOTO_SIZE +from ivatar.settings import BASE_URL, SECURE_BASE_URL def basepage(request): ''' @@ -20,4 +21,6 @@ def basepage(request): context['site_name'] = SITE_NAME context['site_url'] = request.build_absolute_uri('/')[:-1] context['max_file_size'] = MAX_PHOTO_SIZE + context['BASE_URL'] = BASE_URL + context['SECURE_BASE_URL'] = SECURE_BASE_URL return context diff --git a/ivatar/ivataraccount/forms.py b/ivatar/ivataraccount/forms.py index 60c155c..bb3a625 100644 --- a/ivatar/ivataraccount/forms.py +++ b/ivatar/ivataraccount/forms.py @@ -14,7 +14,6 @@ from ipware import get_client_ip from ivatar import settings from ivatar.settings import MIN_LENGTH_EMAIL, MAX_LENGTH_EMAIL from ivatar.settings import MIN_LENGTH_URL, MAX_LENGTH_URL -from ivatar.ivataraccount.models import MAX_LENGTH_URL from . models import UnconfirmedEmail, ConfirmedEmail, Photo from . models import UnconfirmedOpenId, ConfirmedOpenId @@ -59,13 +58,17 @@ class AddEmailForm(forms.Form): # sent by this user already if UnconfirmedEmail.objects.filter( # pylint: disable=no-member user=user, email=self.cleaned_data['email']).exists(): - self.add_error('email', _('Address already added, currently unconfirmed')) + self.add_error( + 'email', + _('Address already added, currently unconfirmed')) return False # Check whether or not the email is already confirmed by someone if ConfirmedEmail.objects.filter( email=self.cleaned_data['email']).exists(): - self.add_error('email', _('Address already confirmed (by someone else)')) + self.add_error( + 'email', + _('Address already confirmed (by someone else)')) return False unconfirmed = UnconfirmedEmail() @@ -166,7 +169,9 @@ class AddOpenIDForm(forms.Form): if UnconfirmedOpenId.objects.filter( # pylint: disable=no-member openid=self.cleaned_data['openid']).exists(): - self.add_error('openid', _('OpenID already added, but not confirmed yet!')) + self.add_error( + 'openid', + _('OpenID already added, but not confirmed yet!')) return False unconfirmed = UnconfirmedOpenId() diff --git a/ivatar/ivataraccount/models.py b/ivatar/ivataraccount/models.py index c282de7..7e3bb15 100644 --- a/ivatar/ivataraccount/models.py +++ b/ivatar/ivataraccount/models.py @@ -26,12 +26,10 @@ from openid.store.interface import OpenIDStore from ivatar.settings import MAX_LENGTH_EMAIL, logger from ivatar.settings import MAX_PIXELS, AVATAR_MAX_SIZE, JPEG_QUALITY +from ivatar.settings import MIN_LENGTH_URL, MAX_LENGTH_URL from .gravatar import get_photo as get_gravatar_photo -MAX_LENGTH_URL = 255 # MySQL can't handle more than that (LP 1018682) - - def file_format(image_type): ''' Helper method returning a 3 character long image type diff --git a/ivatar/ivataraccount/views.py b/ivatar/ivataraccount/views.py index d3147af..96a48ca 100644 --- a/ivatar/ivataraccount/views.py +++ b/ivatar/ivataraccount/views.py @@ -93,7 +93,7 @@ class AddEmailView(SuccessMessageMixin, FormView): def form_valid(self, form): if not form.save(self.request): - return render(self.request, self.template_name, { 'form': form }) + return render(self.request, self.template_name, {'form': form}) else: messages.success(self.request, _('Address added successfully')) return super().form_valid(form) @@ -372,7 +372,7 @@ class AddOpenIDView(SuccessMessageMixin, FormView): def form_valid(self, form): openid_id = form.save(self.request.user) if not openid_id: - return render(self.request, self.template_name, { 'form': form }) + return render(self.request, self.template_name, {'form': form}) else: messages.success(self.request, _('ID added successfully')) return HttpResponseRedirect( @@ -548,13 +548,14 @@ class CropPhotoView(TemplateView): if 'email' in request.POST: try: email = ConfirmedEmail.objects.get(email=request.POST['email']) - except: - pass # Ignore automatic assignment + except Exception: + pass # Ignore automatic assignment if 'openid' in request.POST: try: - openid = ConfirmedOpenId.objects.get(openid=request.POST['openid']) - except: - pass # Ignore automatic assignment + openid = ConfirmedOpenId.objects.get( + openid=request.POST['openid']) + except Exception: + pass # Ignore automatic assignment return photo.perform_crop(request, dimensions, email, openid) diff --git a/ivatar/static/css/ivatar.css b/ivatar/static/css/ivatar.css index 0f0a9c1..6708cc8 100644 --- a/ivatar/static/css/ivatar.css +++ b/ivatar/static/css/ivatar.css @@ -185,3 +185,7 @@ ul li { .clear-both { clear: both; } + +.fas, .fab { + color: #dbc40d; +} diff --git a/ivatar/tools/templates/check.html b/ivatar/tools/templates/check.html index 97faab8..0569d8b 100644 --- a/ivatar/tools/templates/check.html +++ b/ivatar/tools/templates/check.html @@ -33,30 +33,89 @@ {% endif %}
-