From dab91eb1496512836cea0a4fd9cdf66986c84686 Mon Sep 17 00:00:00 2001 From: Andrew Fyfe Date: Mon, 19 Mar 2018 19:00:11 +0000 Subject: [PATCH] only use backports.csv on python 2 --- modoboa/admin/management/commands/subcommands/_export.py | 8 ++++++-- modoboa/admin/management/commands/subcommands/_import.py | 6 +++++- modoboa/admin/views/export.py | 6 +++++- modoboa/admin/views/import_.py | 7 ++++++- requirements.txt | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/modoboa/admin/management/commands/subcommands/_export.py b/modoboa/admin/management/commands/subcommands/_export.py index 94beef93c..15ff8cf2a 100644 --- a/modoboa/admin/management/commands/subcommands/_export.py +++ b/modoboa/admin/management/commands/subcommands/_export.py @@ -6,14 +6,18 @@ from __future__ import unicode_literals import sys -from backports import csv - from django.core.management.base import BaseCommand +from django.utils import six from modoboa.core.extensions import exts_pool from modoboa.core.models import User from .... import models +if six.PY2: + from backports import csv +else: + import csv + class ExportCommand(BaseCommand): """Command class.""" diff --git a/modoboa/admin/management/commands/subcommands/_import.py b/modoboa/admin/management/commands/subcommands/_import.py index e3da57c0a..0bb8f7975 100644 --- a/modoboa/admin/management/commands/subcommands/_import.py +++ b/modoboa/admin/management/commands/subcommands/_import.py @@ -8,7 +8,6 @@ import io import os import progressbar -from backports import csv from django.core.management.base import BaseCommand, CommandError from django.utils import six @@ -18,6 +17,11 @@ from modoboa.core.extensions import exts_pool from modoboa.lib.exceptions import Conflict from .... import signals +if six.PY2: + from backports import csv +else: + import csv + class ImportCommand(BaseCommand): """Command class.""" diff --git a/modoboa/admin/views/export.py b/modoboa/admin/views/export.py index 9773b3c6a..281d864d3 100644 --- a/modoboa/admin/views/export.py +++ b/modoboa/admin/views/export.py @@ -4,7 +4,6 @@ from __future__ import unicode_literals -from backports import csv from rfc6266 import build_header from django.contrib.auth.decorators import ( @@ -19,6 +18,11 @@ from django.utils.translation import ugettext as _ from ..forms import ExportDomainsForm, ExportIdentitiesForm from ..lib import get_domains, get_identities +if six.PY2: + from backports import csv +else: + import csv + def _export(content, filename): """Export a csv file's content diff --git a/modoboa/admin/views/import_.py b/modoboa/admin/views/import_.py index 4544d47e2..025d9d0e3 100644 --- a/modoboa/admin/views/import_.py +++ b/modoboa/admin/views/import_.py @@ -6,7 +6,6 @@ from __future__ import unicode_literals import io -from backports import csv from reversion import revisions as reversion from django.contrib.auth.decorators import ( @@ -15,6 +14,7 @@ from django.contrib.auth.decorators import ( from django.db import transaction from django.shortcuts import render from django.urls import reverse +from django.utils import six from django.utils.encoding import smart_text from django.utils.translation import ugettext as _ @@ -22,6 +22,11 @@ from modoboa.lib.exceptions import Conflict, ModoboaException from .. import signals from ..forms import ImportDataForm, ImportIdentitiesForm +if six.PY2: + from backports import csv +else: + import csv + @reversion.create_revision() def importdata(request, formclass=ImportDataForm): diff --git a/requirements.txt b/requirements.txt index 632848c14..20965afed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -26,5 +26,5 @@ pytz requests rfc6266 lxml -backports.csv +backports.csv; python_version < '3' chardet