From bd6fb1a93de3726fb0295263a0e747a5822251e4 Mon Sep 17 00:00:00 2001 From: Peter Farrell Date: Thu, 17 Oct 2019 16:34:09 -0500 Subject: [PATCH 1/2] Removed f-strings as they are not supported on Python 3.5 --- djaa_list_filter/admin.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/djaa_list_filter/admin.py b/djaa_list_filter/admin.py index a90900e..6bd2a55 100644 --- a/djaa_list_filter/admin.py +++ b/djaa_list_filter/admin.py @@ -24,10 +24,10 @@ class AjaxAutocompleteSelectWidget(AutocompleteSelect): def render(self, name, value, attrs=None, renderer=None): rendered = super().render(name, value, attrs, renderer) - return ( - f'
' - f'{rendered}' - '
' + return (""" +
+ {rendered} +
""".format(qs_target_value=self.qs_target_value, rendered=rendered) ) From 795ddf92be38ed04b4ecb520cacc9e77c922a011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=9Fur=20=C3=96zy=C4=B1lmazel?= Date: Sat, 19 Oct 2019 20:16:10 +0300 Subject: [PATCH 2/2] Add WillRemoveInVersion10 warning --- .pylintrc | 1 + djaa_list_filter/admin.py | 31 +++++++++++++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) create mode 120000 .pylintrc diff --git a/.pylintrc b/.pylintrc new file mode 120000 index 0000000..ae9e54b --- /dev/null +++ b/.pylintrc @@ -0,0 +1 @@ +/Users/vigo/Repos/Dropbox/Files/configs/pylintrc \ No newline at end of file diff --git a/djaa_list_filter/admin.py b/djaa_list_filter/admin.py index 6bd2a55..19f6da2 100644 --- a/djaa_list_filter/admin.py +++ b/djaa_list_filter/admin.py @@ -1,5 +1,8 @@ # pylint: disable=R0903,R0913,R0201 +import sys +import warnings + from django import forms from django.contrib import admin from django.contrib.admin.widgets import AutocompleteSelect @@ -9,7 +12,13 @@ from django.db.models.fields.related_descriptors import ( ) from django.utils.translation import ugettext_lazy as _ -# from django.core.exceptions import ImproperlyConfigured +CURRENT_PYTHON = sys.version_info[:2] +REQUIRED_PYTHON_FOR_FSTRING = (3, 6) +USE_FSTRING = CURRENT_PYTHON > REQUIRED_PYTHON_FOR_FSTRING + + +class WillRemoveInVersion10(FutureWarning): + pass class AjaxAutocompleteSelectWidget(AutocompleteSelect): @@ -24,11 +33,21 @@ class AjaxAutocompleteSelectWidget(AutocompleteSelect): def render(self, name, value, attrs=None, renderer=None): rendered = super().render(name, value, attrs, renderer) - return (""" -
- {rendered} -
""".format(qs_target_value=self.qs_target_value, rendered=rendered) - ) + + if USE_FSTRING: + html_string = ( + f'
' + f'{rendered}' + '
' + ) + else: + warnings.warn('Will remove str.format, will use f-strings only', WillRemoveInVersion10) + html_string = ( + '
' + '{rendered}' + '
' + ).format(qs_target_value=self.qs_target_value, rendered=rendered) + return html_string class AjaxAutocompleteListFilter(admin.RelatedFieldListFilter):