From 7b4e7857b5ee65e467dc7e883cd80086f2ef2b98 Mon Sep 17 00:00:00 2001 From: "Martin Z. (Zimamazim)" Date: Thu, 20 Jun 2019 22:45:28 +0200 Subject: [PATCH 1/2] zmena CSV writeru --- seminar/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/seminar/views.py b/seminar/views.py index ec233fc4..d55a4d0c 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -14,7 +14,6 @@ from django.contrib.auth import authenticate, login from .models import Problem, Cislo, Reseni, Nastaveni, Rocnik, Soustredeni, Organizator, Resitel, Novinky, Soustredeni_Ucastnici, Pohadka, Tema, Clanek #from .models import VysledkyZaCislo, VysledkyKCisluZaRocnik, VysledkyKCisluOdjakziva from . import utils -from .unicodecsv import UnicodeWriter from .forms import NameForm from datetime import timedelta, date, datetime @@ -629,7 +628,7 @@ def soustredeniUcastniciExportView(request,soustredeni): response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename="ucastnici.csv"' - writer = UnicodeWriter(response) + writer = csv.writer(response) writer.writerow(["jmeno", "prijmeni", "rok_maturity", "telefon", "email", "ulice", "mesto", "psc","stat"]) for u in ucastnici: writer.writerow([u.jmeno, u.prijmeni, str(u.rok_maturity), u.telefon, u.email, u.ulice, u.mesto, u.psc, u.stat.name]) From 1b7a8c33b0f1aad9f4f5a4f00aee92dd01f621f3 Mon Sep 17 00:00:00 2001 From: "Martin Z. (Zimamazim)" Date: Thu, 20 Jun 2019 22:49:21 +0200 Subject: [PATCH 2/2] Unicode fix --- seminar/models.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/seminar/models.py b/seminar/models.py index f3d3da51..c57e8a53 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -6,7 +6,6 @@ from django.db import models from django.contrib import auth from django.utils import timezone from django.conf import settings -from django.utils.encoding import python_2_unicode_compatible from django.utils.encoding import force_text from django.utils.text import slugify from django.urls import reverse @@ -488,7 +487,7 @@ class Organizator(SeminarModelBase): studuje = models.CharField('Studium aj.', max_length = 256, null = True, blank = True, - help_text=u"Např. 'Studuje Obecnou fyziku (Bc.), 3. ročník', " + help_text="Např. 'Studuje Obecnou fyziku (Bc.), 3. ročník', " "'Vystudovala Diskrétní modely a algoritmy (Mgr.)' nebo " "'Přednáší na MFF'") @@ -496,7 +495,7 @@ class Organizator(SeminarModelBase): null = True, blank = True) skola = models.CharField('Škola, kterou studuje', max_length = 256, null=True, blank=True, - help_text=u"Škola, např. MFF, VŠCHT, VUT, ... prostě aby se nemuselo psát do studuje" + help_text="Škola, např. MFF, VŠCHT, VUT, ... prostě aby se nemuselo psát do studuje" "školu, ale jen obor, možnost zobrazit zvlášť") def __str__(self): @@ -642,8 +641,8 @@ class Problem(SeminarModelBase): def kod_v_rocniku(self): if self.stav == 'zadany': if self.nadproblem: - return force_unicode(self.nadproblem.kod_v_rocniku()+".{}".format(self.kod)) - return force_unicode(str(self.kod)) + return self.nadproblem.kod_v_rocniku()+".{}".format(self.kod) + return str(self.kod) return '' def verejne(self): @@ -712,7 +711,7 @@ class Clanek(Problem): if self.stav == 'zadany': # Nemělo by být potřeba # if self.nadproblem: -# return force_unicode(self.nadproblem.kod_v_rocniku()+".c{}".format(self.kod)) +# return self.nadproblem.kod_v_rocniku()+".c{}".format(self.kod) return "c{}".format(self.kod) return '' @@ -913,7 +912,7 @@ class PrilohaReseni(SeminarModelBase): class Pohadka(SeminarModelBase): - u"""Kus pohádky před/za úlohou v čísle""" + """Kus pohádky před/za úlohou v čísle""" class Meta: db_table = 'seminar_pohadky' @@ -1252,7 +1251,6 @@ class TextNode(TreeNode): verbose_name = 'text') ## FIXME: Logiku přesunout do views. -#@python_2_unicode_compatible #class VysledkyBase(SeminarModelBase): # # class Meta: @@ -1275,8 +1273,8 @@ class TextNode(TreeNode): # verbose_name='body za číslo') # # def __str__(self): -# return force_unicode(u"%s: %sb (%s)".format(self.resitel.plne_jmeno(), self.body, -# str(self.cislo))) +# return "%s: %sb (%s)".format(self.resitel.plne_jmeno(), self.body, +# str(self.cislo)) # # NOTE: DB zatez pri vypisu (ale nepouzivany) @@ -1314,7 +1312,6 @@ class TextNode(TreeNode): # # ## FIXME: Logiku přesunout do views. -#@python_2_unicode_compatible #class VysledkyCelkemKCislu(VysledkyBase): # # class Meta: @@ -1327,12 +1324,11 @@ class TextNode(TreeNode): # # def __str__(self): # # NOTE: DB HOG (ale nepouzivany) -# return force_unicode(u"%s: %sb / %sb (do %s)" % (self.resitel.plne_jmeno(), self.body, self.body_celkem, str(self.cislo))) +# return "%s: %sb / %sb (do %s)" % (self.resitel.plne_jmeno(), self.body, self.body_celkem, str(self.cislo)) ##mozna potreba upravit @reversion.register(ignore_duplicates=True) -@python_2_unicode_compatible class Nastaveni(SingletonModel): class Meta: @@ -1356,7 +1352,6 @@ class Nastaveni(SingletonModel): @reversion.register(ignore_duplicates=True) -@python_2_unicode_compatible class Novinky(models.Model): class Meta: