Reformatted code with Black.

This commit is contained in:
Fabio Caccamo
2022-02-08 18:58:59 +01:00
parent 9b252d8577
commit e64614274c
42 changed files with 1207 additions and 1022 deletions
+63 -56
View File
@@ -7,69 +7,71 @@ import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = 'django-admin-interface'
SECRET_KEY = "django-admin-interface"
ALLOWED_HOSTS = ['*']
ALLOWED_HOSTS = ["*"]
# Application definition
INSTALLED_APPS = [
'admin_interface',
'colorfield',
"admin_interface",
"colorfield",
]
if django.VERSION < (1, 9):
# ONLY if django version < 1.9
INSTALLED_APPS += [
'flat',
"flat",
]
if django.VERSION < (2, 0):
# ONLY if django version < 2.0
INSTALLED_APPS += [
'flat_responsive',
"flat_responsive",
]
INSTALLED_APPS += [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages',
'django.contrib.sessions',
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.messages",
"django.contrib.sessions",
]
if django.VERSION < (2, 0):
MIDDLEWARE_CLASSES = [
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
]
else:
MIDDLEWARE = [
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
]
TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.request',
]
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
"django.template.context_processors.request",
]
},
},
},]
]
database_engine = os.environ.get('DATABASE_ENGINE', 'sqlite')
database_engine = os.environ.get("DATABASE_ENGINE", "sqlite")
database_config = {
'sqlite': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:',
"sqlite": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": ":memory:",
},
# 'mysql': {
# 'ENGINE': 'django.db.backends.mysql',
@@ -79,38 +81,43 @@ database_config = {
# 'HOST': '',
# 'PORT': '',
# },
'postgres': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'admin_interface',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': '',
'PORT': '',
}
"postgres": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": "admin_interface",
"USER": "postgres",
"PASSWORD": "postgres",
"HOST": "",
"PORT": "",
},
}
github_workflow = os.environ.get('GITHUB_WORKFLOW')
github_workflow = os.environ.get("GITHUB_WORKFLOW")
if github_workflow:
database_config['postgres']['NAME'] = 'postgres'
database_config['postgres']['HOST'] = '127.0.0.1'
database_config['postgres']['PORT'] = '5432'
database_config["postgres"]["NAME"] = "postgres"
database_config["postgres"]["HOST"] = "127.0.0.1"
database_config["postgres"]["PORT"] = "5432"
DATABASES = {
'default': database_config.get(database_engine),
"default": database_config.get(database_engine),
}
USE_I18N = True
LANGUAGES = (
('en', 'English', ),
('it', 'Italian', ),
(
"en",
"English",
),
(
"it",
"Italian",
),
)
LANGUAGE_CODE = 'en'
LANGUAGE_CODE = "en"
ROOT_URLCONF = 'tests.urls'
ROOT_URLCONF = "tests.urls"
MEDIA_ROOT = os.path.join(BASE_DIR, 'admin_interface/public/media/')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'admin_interface/public/static/')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, "admin_interface/public/media/")
MEDIA_URL = "/media/"
STATIC_ROOT = os.path.join(BASE_DIR, "admin_interface/public/static/")
STATIC_URL = "/static/"
+20 -21
View File
@@ -9,7 +9,6 @@ from admin_interface.models import Theme
class AdminInterfaceFixturesTestCase(TestCase):
def setUp(self):
pass
@@ -17,36 +16,36 @@ class AdminInterfaceFixturesTestCase(TestCase):
pass
def __load_theme(self, theme_name):
call_command('loaddata', 'admin_interface_theme_%s.json' % (theme_name, ))
call_command("loaddata", "admin_interface_theme_%s.json" % (theme_name,))
def test_import_initial_data(self):
call_command('loaddata', 'initial_data.json')
self.assertEqual(Theme.objects.count(), 1);
call_command("loaddata", "initial_data.json")
self.assertEqual(Theme.objects.count(), 1)
def test_import_all(self):
self.__load_theme('django')
self.__load_theme('bootstrap')
self.__load_theme('foundation')
self.__load_theme('uswds')
self.assertEqual(Theme.objects.count(), 4);
self.__load_theme("django")
self.__load_theme("bootstrap")
self.__load_theme("foundation")
self.__load_theme("uswds")
self.assertEqual(Theme.objects.count(), 4)
def test_import_idempotency(self):
self.__load_theme('django')
self.__load_theme('django')
self.__load_theme('django')
self.__load_theme('django')
self.__load_theme('django')
self.assertEqual(Theme.objects.count(), 1);
self.__load_theme('bootstrap')
self.__load_theme('bootstrap')
self.__load_theme('bootstrap')
self.assertEqual(Theme.objects.count(), 2);
self.__load_theme("django")
self.__load_theme("django")
self.__load_theme("django")
self.__load_theme("django")
self.__load_theme("django")
self.assertEqual(Theme.objects.count(), 1)
self.__load_theme("bootstrap")
self.__load_theme("bootstrap")
self.__load_theme("bootstrap")
self.assertEqual(Theme.objects.count(), 2)
def test_import_override(self):
obj1 = Theme.get_active_theme()
obj1.title = 'Custom 1'
obj1.title = "Custom 1"
obj1.save()
self.__load_theme('django')
self.__load_theme("django")
obj2 = Theme.get_active_theme()
self.assertEqual(obj1.pk, obj2.pk)
self.assertTrue(obj1.title != obj2.title)
+16 -17
View File
@@ -12,7 +12,6 @@ from admin_interface.models import Theme
class AdminInterfaceModelsTestCase(TestCase):
def setUp(self):
pass
@@ -24,7 +23,7 @@ class AdminInterfaceModelsTestCase(TestCase):
print(theme)
self.assertTrue(theme != None)
self.assertTrue(theme.active)
self.assertEqual(Theme.objects.filter(active=True).count(), 1);
self.assertEqual(Theme.objects.filter(active=True).count(), 1)
def test_default_theme_created_if_no_themes(self):
Theme.objects.all().delete()
@@ -48,36 +47,36 @@ class AdminInterfaceModelsTestCase(TestCase):
def test_default_theme_activated_after_update_if_multiple_active_themes(self):
Theme.objects.all().delete()
theme_1 = Theme.objects.create(name='Custom 1', active=True)
theme_2 = Theme.objects.create(name='Custom 2', active=True)
theme_3 = Theme.objects.create(name='Custom 3', active=True)
theme_1 = Theme.objects.create(name="Custom 1", active=True)
theme_2 = Theme.objects.create(name="Custom 2", active=True)
theme_3 = Theme.objects.create(name="Custom 3", active=True)
Theme.objects.update(active=False)
Theme.objects.update(active=True)
self.__test_active_theme()
def test_default_theme_activated_on_active_theme_deleted(self):
Theme.objects.all().delete()
theme_1 = Theme.objects.create(name='Custom 1', active=True)
theme_2 = Theme.objects.create(name='Custom 2', active=True)
theme_3 = Theme.objects.create(name='Custom 3', active=True)
theme_1 = Theme.objects.create(name="Custom 1", active=True)
theme_2 = Theme.objects.create(name="Custom 2", active=True)
theme_3 = Theme.objects.create(name="Custom 3", active=True)
Theme.objects.filter(pk=Theme.get_active_theme().pk).delete()
self.__test_active_theme()
def test_last_theme_activated_on_multiple_themes_created(self):
Theme.objects.all().delete()
theme_1 = Theme.objects.create(name='Custom 1', active=True)
theme_2 = Theme.objects.create(name='Custom 2', active=True)
theme_3 = Theme.objects.create(name='Custom 3', active=True)
theme_1 = Theme.objects.create(name="Custom 1", active=True)
theme_2 = Theme.objects.create(name="Custom 2", active=True)
theme_3 = Theme.objects.create(name="Custom 3", active=True)
self.assertEqual(Theme.get_active_theme().pk, theme_3.pk)
self.__test_active_theme()
def test_last_theme_activated_on_multiple_themes_activated(self):
Theme.objects.all().delete()
theme_1 = Theme.objects.create(name='Custom 1', active=True)
theme_2 = Theme.objects.create(name='Custom 2', active=True)
theme_3 = Theme.objects.create(name='Custom 3', active=True)
theme_4 = Theme.objects.create(name='Custom 4', active=True)
theme_5 = Theme.objects.create(name='Custom 5', active=True)
theme_1 = Theme.objects.create(name="Custom 1", active=True)
theme_2 = Theme.objects.create(name="Custom 2", active=True)
theme_3 = Theme.objects.create(name="Custom 3", active=True)
theme_4 = Theme.objects.create(name="Custom 4", active=True)
theme_5 = Theme.objects.create(name="Custom 5", active=True)
themes = [theme_1, theme_2, theme_3, theme_4, theme_5]
for i in range(5):
random.shuffle(themes)
@@ -88,4 +87,4 @@ class AdminInterfaceModelsTestCase(TestCase):
def test_repr(self):
theme = Theme.get_active_theme()
self.assertEqual('{0}'.format(theme), 'Django')
self.assertEqual("{0}".format(theme), "Django")
+35 -32
View File
@@ -13,11 +13,11 @@ from admin_interface.settings import check_installed_apps
class AdminInterfaceSettingsTestCase(TestCase):
DJANGO_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages',
'django.contrib.sessions',
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.messages",
"django.contrib.sessions",
]
def setUp(self):
@@ -30,65 +30,68 @@ class AdminInterfaceSettingsTestCase(TestCase):
dj_version = django.VERSION
installed_apps = settings.INSTALLED_APPS
if 'colorfield' not in installed_apps:
if "colorfield" not in installed_apps:
self.assertRaises(ImproperlyConfigured, check_installed_apps)
elif 'flat' not in installed_apps and dj_version < (1, 9):
elif "flat" not in installed_apps and dj_version < (1, 9):
self.assertRaises(ImproperlyConfigured, check_installed_apps)
elif 'flat' in installed_apps and dj_version >= (1, 9):
elif "flat" in installed_apps and dj_version >= (1, 9):
self.assertRaises(ImproperlyConfigured, check_installed_apps)
elif 'flat_responsive' not in installed_apps and dj_version < (2, 0):
elif "flat_responsive" not in installed_apps and dj_version < (2, 0):
self.assertRaises(ImproperlyConfigured, check_installed_apps)
elif 'flat_responsive' in installed_apps and dj_version >= (2, 0):
elif "flat_responsive" in installed_apps and dj_version >= (2, 0):
self.assertRaises(ImproperlyConfigured, check_installed_apps)
else:
check_installed_apps()
@override_settings(
INSTALLED_APPS = [
'admin_interface',
'colorfield',
'flat',
'flat_responsive',
] + DJANGO_APPS
INSTALLED_APPS=[
"admin_interface",
"colorfield",
"flat",
"flat_responsive",
]
+ DJANGO_APPS
)
def test_installed_apps_all(self):
self.__test_installed_apps()
@override_settings(
INSTALLED_APPS = [
'admin_interface',
INSTALLED_APPS=[
"admin_interface",
# 'colorfield',
'flat',
'flat_responsive',
] + DJANGO_APPS
"flat",
"flat_responsive",
]
+ DJANGO_APPS
)
def test_installed_apps_no_colorfield(self):
self.__test_installed_apps()
@override_settings(
INSTALLED_APPS = [
'admin_interface',
'colorfield',
INSTALLED_APPS=[
"admin_interface",
"colorfield",
# 'flat',
'flat_responsive',
] + DJANGO_APPS
"flat_responsive",
]
+ DJANGO_APPS
)
def test_installed_apps_no_flat(self):
self.__test_installed_apps()
@override_settings(
INSTALLED_APPS = [
'admin_interface',
'colorfield',
'flat',
INSTALLED_APPS=[
"admin_interface",
"colorfield",
"flat",
# 'flat_responsive',
] + DJANGO_APPS
]
+ DJANGO_APPS
)
def test_installed_apps_no_flat_responsive(self):
self.__test_installed_apps()
+61 -39
View File
@@ -12,7 +12,6 @@ from admin_interface.version import __version__
class AdminInterfaceTemplateTagsTestCase(TestCase):
def setUp(self):
self.request_factory = RequestFactory()
@@ -23,47 +22,65 @@ class AdminInterfaceTemplateTagsTestCase(TestCase):
return Template(string).render(Context(context or {}))
def test_get_admin_interface_languages(self):
context = Context({
'request': self.request_factory.get('/en/admin/'),
})
context = Context(
{
"request": self.request_factory.get("/en/admin/"),
}
)
languages = templatetags.get_admin_interface_languages(context)
expected_languages = [
{'code': 'en', 'name': 'English', 'default': True, 'active': True, 'activation_url': '/i18n/setlang/?next=/en/admin/'},
{'code': 'it', 'name': 'Italian', 'default': False, 'active': False, 'activation_url': '/i18n/setlang/?next=/it/admin/'}
{
"code": "en",
"name": "English",
"default": True,
"active": True,
"activation_url": "/i18n/setlang/?next=/en/admin/",
},
{
"code": "it",
"name": "Italian",
"default": False,
"active": False,
"activation_url": "/i18n/setlang/?next=/it/admin/",
},
]
self.assertEqual(len(languages), len(expected_languages))
self.assertEqual(languages[0], expected_languages[0])
self.assertEqual(languages[1], expected_languages[1])
@override_settings(
USE_I18N = False,
USE_I18N=False,
)
def test_get_admin_interface_languages_with_i18n_disabled(self):
context = Context({
'request': self.request_factory.get('/en/admin/'),
})
context = Context(
{
"request": self.request_factory.get("/en/admin/"),
}
)
languages = templatetags.get_admin_interface_languages(context)
self.assertEqual(languages, None)
@override_settings(
ROOT_URLCONF = 'tests.urls_without_i18n_patterns',
ROOT_URLCONF="tests.urls_without_i18n_patterns",
)
def test_get_admin_interface_languages_without_i18n_url_patterns(self):
context = Context({
'request': self.request_factory.get('/en/admin/'),
})
context = Context(
{
"request": self.request_factory.get("/en/admin/"),
}
)
languages = templatetags.get_admin_interface_languages(context)
self.assertEqual(languages, None)
@override_settings(
LANGUAGES = (
('en', 'English'),
),
LANGUAGES=(("en", "English"),),
)
def test_get_admin_interface_languages_without_multiple_languages(self):
context = Context({
'request': self.request_factory.get('/en/admin/'),
})
context = Context(
{
"request": self.request_factory.get("/en/admin/"),
}
)
languages = templatetags.get_admin_interface_languages(context)
self.assertEqual(languages, None)
@@ -73,9 +90,11 @@ class AdminInterfaceTemplateTagsTestCase(TestCase):
self.assertEqual(languages, None)
def test_get_admin_interface_languages_without_language_prefix_in_url(self):
context = Context({
'request': self.request_factory.get('/admin/'),
})
context = Context(
{
"request": self.request_factory.get("/admin/"),
}
)
languages = templatetags.get_admin_interface_languages(context)
self.assertEqual(languages, None)
@@ -83,31 +102,34 @@ class AdminInterfaceTemplateTagsTestCase(TestCase):
Theme.objects.all().delete()
context = Context({})
theme = templatetags.get_admin_interface_theme(context)
self.assertEqual(theme.name, 'Django')
self.assertEqual(theme.name, "Django")
rendered = self.__render_template(
'{% load admin_interface_tags %}'\
'{% get_admin_interface_theme as theme %}'\
'{{ theme.name }}', context)
self.assertEqual(rendered, 'Django')
"{% load admin_interface_tags %}"
"{% get_admin_interface_theme as theme %}"
"{{ theme.name }}",
context,
)
self.assertEqual(rendered, "Django")
def test_get_theme_with_request(self):
Theme.objects.all().delete()
context = Context({
'request': self.request_factory.get('/')
})
context = Context({"request": self.request_factory.get("/")})
theme = templatetags.get_admin_interface_theme(context)
self.assertEqual(theme.name, 'Django')
self.assertEqual(theme.name, "Django")
rendered = self.__render_template(
'{% load admin_interface_tags %}'\
'{% get_admin_interface_theme as theme %}'\
'{{ theme.name }}', context)
self.assertEqual(rendered, 'Django')
"{% load admin_interface_tags %}"
"{% get_admin_interface_theme as theme %}"
"{{ theme.name }}",
context,
)
self.assertEqual(rendered, "Django")
def test_get_version(self):
version = templatetags.get_admin_interface_version()
self.assertEqual(version, __version__)
rendered = self.__render_template(
'{% load admin_interface_tags %}'\
'{% get_admin_interface_version as version %}'\
'{{ version }}')
"{% load admin_interface_tags %}"
"{% get_admin_interface_version as version %}"
"{{ version }}"
)
self.assertEqual(rendered, __version__)
+3 -2
View File
@@ -4,6 +4,7 @@ from __future__ import unicode_literals
import django
from django.contrib import admin
if django.VERSION < (2, 0):
from django.conf.urls import include, url as re_path
else:
@@ -13,8 +14,8 @@ from django.conf.urls.i18n import i18n_patterns
urlpatterns = []
urlpatterns += [
re_path(r'^i18n/', include('django.conf.urls.i18n')),
re_path(r"^i18n/", include("django.conf.urls.i18n")),
]
urlpatterns += i18n_patterns(
re_path(r'^admin/', admin.site.urls),
re_path(r"^admin/", admin.site.urls),
)
+2 -1
View File
@@ -4,6 +4,7 @@ from __future__ import unicode_literals
import django
from django.contrib import admin
if django.VERSION < (2, 0):
from django.conf.urls import url as re_path
else:
@@ -11,5 +12,5 @@ else:
urlpatterns = [
re_path(r'^admin/', admin.site.urls),
re_path(r"^admin/", admin.site.urls),
]