forms: load csv as text in py3

This commit is contained in:
Frédéric Péters 2020-04-12 10:26:04 +02:00
parent dfa144bea8
commit 09089dec2d
1 changed files with 4 additions and 0 deletions

View File

@ -2,10 +2,12 @@ import csv
from django import forms
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import force_text
from django.utils.text import slugify
from django.core.exceptions import ObjectDoesNotExist
from django.core import validators
from django.core.exceptions import ValidationError
from django.utils import six
from .models import Announce, Category, Broadcast, channel_choices
from . import widgets
@ -67,6 +69,8 @@ class SubscriptionsImportForm(forms.Form):
def clean_subscribers(self, *args, **kwargs):
subscribers = []
if six.PY3:
self.cleaned_data['subscribers'] = force_text(self.cleaned_data['subscribers'].read()).splitlines()
reader = csv.reader(self.cleaned_data['subscribers'])
for idx, row in enumerate(reader, 1):
if not row or not row[0]: