From 9ab6cc52c7a0f3195eeec3019d386f7c5564a293 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sat, 22 Aug 2015 14:22:55 +0200 Subject: [PATCH] Refs #40 -- Removed Python 3.2/3.3 support --- .travis.yml | 2 -- doc/admin/installation.rst | 3 +-- src/pretix/helpers/importlib.py | 9 --------- .../pretixplugins/banktransfer/import_form.html | 2 +- src/pretix/plugins/banktransfer/views.py | 9 +++------ src/pretix/urls.py | 4 ++-- 6 files changed, 7 insertions(+), 22 deletions(-) delete mode 100644 src/pretix/helpers/importlib.py diff --git a/.travis.yml b/.travis.yml index 840c84ba9b..15be8cd083 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,6 @@ language: python sudo: false python: - - "3.2" - - "3.3" - "3.4" install: - pip install -q -r src/requirements.txt diff --git a/doc/admin/installation.rst b/doc/admin/installation.rst index bf86db8f21..392823aab0 100644 --- a/doc/admin/installation.rst +++ b/doc/admin/installation.rst @@ -15,8 +15,7 @@ You get those two bundled in the ``pretix/standalone`` docker image. If you want to set them up manually, you can also get pretix from GitHub or wait for us to set up proper ``pip`` packages and set up a simple gunicorn instance pointing to the ``pretix.wsgi`` endpoint. -To run pretix, you will need at least Python 3.2, although we recommend **Python 3.4** as we will -remove support for 3.2 soon and some features (like PDF output) already do not work with 3.2. +To run pretix, you will need **at least Python 3.4**. You can get the direct dependencies by doing a ``pip install -r requirements.txt`` in the pretix source directory. You'll also need ``nodejs`` and the ``less`` node package. We'll provide detailled documentation diff --git a/src/pretix/helpers/importlib.py b/src/pretix/helpers/importlib.py deleted file mode 100644 index c839b9969e..0000000000 --- a/src/pretix/helpers/importlib.py +++ /dev/null @@ -1,9 +0,0 @@ -import importlib.util -import sys - - -def module_exists(modname): - if sys.version_info[0:1] >= (3, 4): - return bool(importlib.util.find_spec(modname)) - else: - return bool(importlib.find_loader(modname)) diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html index 44cad1e0a9..ccea3d35ea 100644 --- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html +++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html @@ -42,7 +42,7 @@ {% else %}
- {% trans "HBCI is only available with Python 3.3 or newer and with aqbanking-cli and aqhbci-tool4 installed." %} + {% trans "HBCI is only available with aqbanking-cli and aqhbci-tool4 installed." %}
{% endif %} diff --git a/src/pretix/plugins/banktransfer/views.py b/src/pretix/plugins/banktransfer/views.py index aca7552ef8..6c69c26ca5 100644 --- a/src/pretix/plugins/banktransfer/views.py +++ b/src/pretix/plugins/banktransfer/views.py @@ -108,12 +108,9 @@ class ImportView(EventPermissionRequiredMixin, TemplateView): def get_context_data(self, **kwargs): ctx = super().get_context_data(**kwargs) - if sys.version_info[:2] >= (3, 3): - ctx['hbci_available'] = shutil.which('aqbanking-cli') and shutil.which('aqhbci-tool4') - if ctx['hbci_available']: - ctx['hbci_form'] = self.hbci_form - else: - ctx['hbci_available'] = False + ctx['hbci_available'] = shutil.which('aqbanking-cli') and shutil.which('aqhbci-tool4') + if ctx['hbci_available']: + ctx['hbci_form'] = self.hbci_form return ctx def process_csv_file(self): diff --git a/src/pretix/urls.py b/src/pretix/urls.py index 355809b6df..92140c8f6f 100644 --- a/src/pretix/urls.py +++ b/src/pretix/urls.py @@ -1,4 +1,5 @@ import importlib +import importlib.util from django.apps import apps from django.conf import settings @@ -6,7 +7,6 @@ from django.conf.urls import include, url import pretix.control.urls import pretix.presale.urls -from pretix.helpers.importlib import module_exists urlpatterns = [ url(r'^control/', include(pretix.control.urls, namespace='control')), @@ -23,7 +23,7 @@ if settings.DEBUG: pluginpatterns = [] for app in apps.get_app_configs(): if hasattr(app, 'PretixPluginMeta'): - if module_exists(app.name + '.urls'): + if importlib.util.find_spec(app.name + '.urls'): urlmod = importlib.import_module(app.name + '.urls') pluginpatterns.append( url(r'', include(urlmod, namespace=app.label))