-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
@register.filter
def pretty_field(field, template=None):
if template is None:
- template = u'''
+ template = '''
<li>
<span class="error">%(errors)s</span>
<label class="nohide"><span class="label">%(label)s: </span>%(input)s</label>
@register.filter
def pretty_checkbox(field):
- return pretty_field(field, template=u'''
+ return pretty_field(field, template='''
<li class="checkbox">
<span class="error">%(errors)s</span>
<label class="nohide">%(input)s<span class="label"> %(label)s</span></label>
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.contrib import admin
from . import models
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
from django.conf import settings
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import migrations, models
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import datetime
+from django.db import migrations, models
from django.utils.timezone import utc
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-02-28 22:38
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
key = models.CharField(max_length=255)
def __str__(self):
- return u"Nonce %s for %s" % (self.key, self.consumer_key)
+ return "Nonce %s for %s" % (self.key, self.consumer_key)
class Consumer(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, models.CASCADE, null=True, blank=True, related_name='consumers')
def __str__(self):
- return u"Consumer %s with key %s" % (self.name, self.key)
+ return "Consumer %s with key %s" % (self.name, self.key)
class Token(models.Model):
REQUEST = 1
ACCESS = 2
- TOKEN_TYPES = ((REQUEST, u'Request'), (ACCESS, u'Access'))
+ TOKEN_TYPES = ((REQUEST, 'Request'), (ACCESS, 'Access'))
key = models.CharField(max_length=KEY_SIZE)
secret = models.CharField(max_length=SECRET_SIZE)
consumer = models.ForeignKey(Consumer, models.CASCADE)
def __str__(self):
- return u"%s Token %s for %s" % (self.get_token_type_display(), self.key, self.consumer)
+ return "%s Token %s for %s" % (self.get_token_type_display(), self.key, self.consumer)
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from rest_framework_xml.renderers import XMLRenderer
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
-#
-import os.path
-from django.conf import settings
-
-
-try:
- MOBILE_INIT_DB = settings.API_MOBILE_INIT_DB
-except AttributeError:
- MOBILE_INIT_DB = os.path.abspath(os.path.join(settings.MEDIA_ROOT, 'api/mobile/initial/'))
).digest()
h = b64encode(h).rstrip(b'\n')
sign = quote(h)
- query = u"{}&oauth_signature={}".format(base_query, sign)
- response = self.client.get(u'/api/oauth/access_token/?' + query)
+ query = "{}&oauth_signature={}".format(base_query, sign)
+ response = self.client.get('/api/oauth/access_token/?' + query)
access_token_data = parse_qs(response.content.decode('latin1'))
access_token = access_token_data['oauth_token'][0]
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
class Settings(AppSettings):
"""Default settings for catalogue app."""
- DEFAULT_LANGUAGE = u'pol'
+ DEFAULT_LANGUAGE = 'pol'
# PDF needs TeXML + XeLaTeX, MOBI needs Calibre.
DONT_BUILD = {'pdf', 'mobi'}
FORMAT_ZIPS = {
from django.contrib import admin
from django import forms
-from newtagging.admin import TaggableModelAdmin, TaggableModelForm
from catalogue.models import Tag, Book, Fragment, BookMedia, Collection, Source
def occurrences(self, tag):
return tag.items.count()
- occurrences.short_description = u'Wystąpienia'
+ occurrences.short_description = 'Wystąpienia'
prepopulated_fields = {'slug': ('name',), 'sort_key': ('name',)}
radio_fields = {'category': admin.HORIZONTAL}
extra = 0
-#FIXME: Taggable admin is broken.
-#class BookAdmin(TaggableModelAdmin):
class BookAdmin(admin.ModelAdmin):
- #tag_model = Tag
- #form = TaggableModelForm
-
list_display = ('title', 'slug', 'created_at', 'has_epub_file', 'has_html_file', 'has_description',)
search_fields = ('title',)
ordering = ('title',)
inlines = [MediaInline]
-#FIXME: Taggable admin is broken.
-#class FragmentAdmin(TaggableModelAdmin):
class FragmentAdmin(admin.ModelAdmin):
- #tag_model = Tag
-
list_display = ('book', 'anchor',)
ordering = ('book', 'anchor',)
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db.models import Q
from catalogue.models import Book
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
extra_info = item.get_extra_info_json()
artist = extra_info.get('artist_name', None)
if artist is not None:
- lines.append(u'Czyta: %s' % artist)
+ lines.append('Czyta: %s' % artist)
director = extra_info.get('director_name', None)
if director is not None:
- lines.append(u'Reżyseria: %s' % director)
- return u'<br/>\n'.join(lines)
+ lines.append('Reżyseria: %s' % director)
+ return '<br/>\n'.join(lines)
def item_link(self, item):
return item.book.get_absolute_url()
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-from __future__ import print_function, unicode_literals
-
from django.core.management.base import BaseCommand
from django.db.models import Count
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
import fnpdjango.storage
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import catalogue.fields
import catalogue.models.bookmedia
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
from sortify import sortify
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import catalogue.fields
import catalogue.models.bookmedia
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import catalogue.fields
import catalogue.models.book
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import catalogue.fields
import catalogue.models.book
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-06-26 08:33
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
title = models.CharField(_('title'), max_length=32767)
sort_key = models.CharField(_('sort key'), max_length=120, db_index=True, editable=False)
sort_key_author = models.CharField(
- _('sort key by author'), max_length=120, db_index=True, editable=False, default=u'')
+ _('sort key by author'), max_length=120, db_index=True, editable=False, default='')
slug = models.SlugField(_('slug'), max_length=120, db_index=True, unique=True)
common_slug = models.SlugField(_('slug'), max_length=120, db_index=True)
language = models.CharField(_('language code'), max_length=3, db_index=True, default=app_settings.DEFAULT_LANGUAGE)
others = ' i inni'
else:
others = ''
- return ', '.join(u'\xa0'.join(reversed(translator.split(', ', 1))) for translator in translators) + others
+ return ', '.join('\xa0'.join(reversed(translator.split(', ', 1))) for translator in translators) + others
def cover_source(self):
return self.get_extra_info_json().get('cover_source', self.parent.cover_source() if self.parent else '')
try:
author = self.authors().first().sort_key
except AttributeError:
- author = u''
+ author = ''
self.sort_key_author = author
self.cached_author = self.tag_unicode('author')
project = meta.get('project')
if not project:
# temporary fallback
- project = u'CzytamySłuchając'
+ project = 'CzytamySłuchając'
projects.add((project, meta.get('funded_by', '')))
return books_by_author, orphans, books_by_parent
_audiences_pl = {
- "SP": (1, u"szkoła podstawowa"),
- "SP1": (1, u"szkoła podstawowa"),
- "SP2": (1, u"szkoła podstawowa"),
- "SP3": (1, u"szkoła podstawowa"),
- "P": (1, u"szkoła podstawowa"),
- "G": (2, u"gimnazjum"),
- "L": (3, u"liceum"),
- "LP": (3, u"liceum"),
+ "SP": (1, "szkoła podstawowa"),
+ "SP1": (1, "szkoła podstawowa"),
+ "SP2": (1, "szkoła podstawowa"),
+ "SP3": (1, "szkoła podstawowa"),
+ "P": (1, "szkoła podstawowa"),
+ "G": (2, "gimnazjum"),
+ "L": (3, "liceum"),
+ "LP": (3, "liceum"),
}
def audiences_pl(self):
str(self.pk)
old_self = type(self).objects.get(pk=self)
except type(self).DoesNotExist:
- old_name = u''
+ old_name = ''
old_netloc = self.netloc
else:
old_name = old_self.name
def __str__(self):
try:
- return u'%s [%s]' % (self.content_type.get_object_for_this_type(pk=self.object_id), self.tag)
+ return '%s [%s]' % (self.content_type.get_object_for_this_type(pk=self.object_id), self.tag)
except ObjectDoesNotExist:
- return u'<deleted> [%s]' % self.tag
+ return '<deleted> [%s]' % self.tag
class Tag(models.Model):
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
self = split_tags(tags)
- title = u''
+ title = ''
# Specjalny przypadek oglądania wszystkich lektur na danej półce
if len(self) == 1 and 'set' in self:
- return u'Półka %s' % self['set']
+ return 'Półka %s' % self['set']
# Specjalny przypadek "Twórczość w pozytywizmie", wtedy gdy tylko epoka
# jest wybrana przez użytkownika
if 'epoch' in self and len(self) == 1:
- text = u'Twórczość w %s' % flection.get_case(str(self['epoch']), u'miejscownik')
+ text = 'Twórczość w %s' % flection.get_case(str(self['epoch']), 'miejscownik')
return capfirst(text)
# Specjalny przypadek "Dramat w twórczości Sofoklesa", wtedy gdy podane
# są tylko rodzaj literacki i autor
if 'kind' in self and 'author' in self and len(self) == 2:
- text = u'%s w twórczości %s' % (
- str(self['kind']), flection.get_case(str(self['author']), u'dopełniacz'))
+ text = '%s w twórczości %s' % (
+ str(self['kind']), flection.get_case(str(self['author']), 'dopełniacz'))
return capfirst(text)
# Przypadki ogólniejsze
if 'theme' in self:
- title += u'Motyw %s' % str(self['theme'])
+ title += 'Motyw %s' % str(self['theme'])
if 'genre' in self:
if 'theme' in self:
- title += u' w %s' % flection.get_case(str(self['genre']), u'miejscownik')
+ title += ' w %s' % flection.get_case(str(self['genre']), 'miejscownik')
else:
title += str(self['genre'])
if 'kind' in self or 'author' in self or 'epoch' in self:
if 'genre' in self or 'theme' in self:
if 'kind' in self:
- title += u' w %s ' % flection.get_case(str(self['kind']), u'miejscownik')
+ title += ' w %s ' % flection.get_case(str(self['kind']), 'miejscownik')
else:
- title += u' w twórczości '
+ title += ' w twórczości '
else:
- title += u'%s ' % str(self.get('kind', u'twórczość'))
+ title += '%s ' % str(self.get('kind', 'twórczość'))
if 'author' in self:
- title += flection.get_case(str(self['author']), u'dopełniacz')
+ title += flection.get_case(str(self['author']), 'dopełniacz')
elif 'epoch' in self:
- title += flection.get_case(str(self['epoch']), u'dopełniacz')
+ title += flection.get_case(str(self['epoch']), 'dopełniacz')
return capfirst(title)
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
""" generate some keywords for comfortable BookInfoCreation """
slug = str(slugify(title))
if language is None:
- language = u'pol'
+ language = 'pol'
return {
'title': str(title),
'url': WLURI.from_slug(slug),
- 'about': u"http://wolnelektury.pl/example/URI/%s" % slug,
+ 'about': "http://wolnelektury.pl/example/URI/%s" % slug,
'language': language,
}
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
def setUp(self):
WLTestCase.setUp(self)
self.book_info = BookInfoStub(
- url=WLURI.from_slug(u"default-book"),
- about=u"http://wolnelektury.pl/example/URI/default_book",
- title=u"Default Book",
+ url=WLURI.from_slug("default-book"),
+ about="http://wolnelektury.pl/example/URI/default_book",
+ title="Default Book",
author=PersonStub(("Jim",), "Lazy"),
kind="X-Kind",
genre="X-Genre",
epoch="X-Epoch",
- language=u"pol",
+ language="pol",
)
self.expected_tags = [
self.assertTrue(book.has_html_file())
self.assertEqual(book.fragments.count(), 1)
- self.assertEqual(book.fragments.all()[0].text, u'<p class="paragraph">Ala ma kota</p>\n')
+ self.assertEqual(book.fragments.all()[0].text, '<p class="paragraph">Ala ma kota</p>\n')
self.assert_(('theme', 'love') in [(tag.category, tag.slug) for tag in book.fragments.all()[0].tags])
def test_book_with_invalid_slug(self):
""" Book with invalid characters in slug shouldn't be imported """
- self.book_info.url = WLURI.from_slug(u"default_book")
+ self.book_info.url = WLURI.from_slug("default_book")
book_text = "<utwor />"
with self.assertRaises(ValueError):
models.Book.from_text_and_meta(ContentFile(book_text), self.book_info)
def test_book_replace_title(self):
book_text = """<utwor />"""
models.Book.from_text_and_meta(ContentFile(book_text), self.book_info)
- self.book_info.title = u"Extraordinary"
+ self.book_info.title = "Extraordinary"
book = models.Book.from_text_and_meta(ContentFile(book_text), self.book_info, overwrite=True)
tags = [(tag.category, tag.slug) for tag in book.tags]
self.assertEqual(
list(self.client.get('/katalog/gatunek/x-genre/').context['object_list']),
[self.parent],
- u"There should be only parent on common tag page."
+ "There should be only parent on common tag page."
)
# pies = models.Tag.objects.get(slug='pies')
themes = self.parent.related_themes()
- self.assertEqual(len(themes), 1, u"There should be child theme in parent theme counter.")
+ self.assertEqual(len(themes), 1, "There should be child theme in parent theme counter.")
# TODO: book_count is deprecated, update here.
# epoch = models.Tag.objects.get(slug='x-epoch')
- # self.assertEqual(epoch.book_count, 1, u"There should be only parent in common tag's counter.")
+ # self.assertEqual(epoch.book_count, 1, "There should be only parent in common tag's counter.")
def test_child_republish(self):
child_text = """<utwor>
self.assertEqual(
list(self.client.get('/katalog/gatunek/x-genre/').context['object_list']),
[self.parent],
- u"There should only be parent on common tag page."
+ "There should only be parent on common tag page."
)
# pies = models.Tag.objects.get(slug='pies')
# kot = models.Tag.objects.get(slug='kot')
self.assertEqual(len(self.parent.related_themes()), 2,
- u"There should be child themes in parent theme counter.")
+ "There should be child themes in parent theme counter.")
# TODO: book_count is deprecated, update here.
# epoch = models.Tag.objects.get(slug='x-epoch')
- # self.assertEqual(epoch.book_count, 1, u"There should only be parent in common tag's counter.")
+ # self.assertEqual(epoch.book_count, 1, "There should only be parent in common tag's counter.")
def test_book_change_child(self):
second_child_info = BookInfoStub(
self.assertEqual(
set(self.client.get('/katalog/gatunek/x-genre/').context['object_list']),
{self.parent, self.child},
- u"There should be parent and old child on common tag page."
+ "There should be parent and old child on common tag page."
)
# kot = models.Tag.objects.get(slug='kot')
self.assertEqual(len(self.parent.related_themes()), 1,
- u"There should only be new child themes in parent theme counter.")
+ "There should only be new child themes in parent theme counter.")
# # book_count deprecated, update test.
# epoch = models.Tag.objects.get(slug='x-epoch')
# self.assertEqual(epoch.book_count, 2,
- # u"There should be parent and old child in common tag's counter.")
+ # "There should be parent and old child in common tag's counter.")
self.assertEqual(
list(self.client.get('/katalog/lektura/parent/motyw/kot/').context['fragments']),
[second_child.fragments.all()[0]],
- u"There should be new child's fragments on parent's theme page."
+ "There should be new child's fragments on parent's theme page."
)
self.assertEqual(
list(self.client.get('/katalog/lektura/parent/motyw/pies/').context['fragments']),
[],
- u"There should be no old child's fragments on parent's theme page."
+ "There should be no old child's fragments on parent's theme page."
)
kind='X-Kind',
author=PersonStub(("Joe",), "Doe"),
variant_of=common_uri,
- **info_args(u"Książka")
+ **info_args("Książka")
)
self.eng_info = BookInfoStub(
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
self.book.save()
def test_diacritics(self):
- bm = models.BookMedia(book=self.book, type="ogg", name=u"Zażółć gęślą jaźń")
+ bm = models.BookMedia(book=self.book, type="ogg", name="Zażółć gęślą jaźń")
self.set_title(bm.name)
bm.file.save(None, self.file)
self.assertEqual(basename(bm.file.name), 'zazolc-gesla-jazn.ogg')
File save doesn't clobber some other media with similar name.
"""
- bm = models.BookMedia(book=self.book, type='ogg', name=u"Tytul")
+ bm = models.BookMedia(book=self.book, type='ogg', name="Tytul")
self.set_title(bm.name)
bm.file.save(None, self.file)
- bm2 = models.BookMedia(book=self.book, type='ogg', name=u"Tytuł")
+ bm2 = models.BookMedia(book=self.book, type='ogg', name="Tytuł")
self.set_title(bm2.name)
bm2.file.save(None, self.file2)
self.assertEqual(basename(bm.file.name), 'tytul.ogg')
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
author = PersonStub(("Common",), "Man")
gchild_info = BookInfoStub(author=author, genre="GchildGenre", epoch='Epoch', kind="Kind",
- **info_args(u"GChild"))
+ **info_args("GChild"))
child1_info = BookInfoStub(author=author, genre="ChildGenre", epoch='Epoch', kind="ChildKind",
parts=[gchild_info.url],
- **info_args(u"Child1"))
+ **info_args("Child1"))
child2_info = BookInfoStub(author=author, genre="ChildGenre", epoch='Epoch', kind="ChildKind",
- **info_args(u"Child2"))
+ **info_args("Child2"))
parent_info = BookInfoStub(author=author, genre="Genre", epoch='Epoch', kind="Kind",
parts=[child1_info.url, child2_info.url],
- **info_args(u"Parent"))
+ **info_args("Parent"))
for info in gchild_info, child1_info, child2_info, parent_info:
book_text = """<utwor><opowiadanie><akap>
WLTestCase.setUp(self)
author = PersonStub(("Common",), "Man")
- book_info = BookInfoStub(author=author, genre="G", epoch='E', kind="K", **info_args(u"Book"))
+ book_info = BookInfoStub(author=author, genre="G", epoch='E', kind="K", **info_args("Book"))
book_text = """<utwor><opowiadanie><akap>
<begin id="m01" /><motyw id="m01">Theme</motyw>Ala ma kota
<end id="m01" />
WLTestCase.setUp(self)
author = PersonStub((), "Tag")
- self.book_info = BookInfoStub(author=author, genre="tag", epoch='tag', kind="tag", **info_args(u"tag"))
+ self.book_info = BookInfoStub(author=author, genre="tag", epoch='tag', kind="tag", **info_args("tag"))
self.book_text = """<utwor>
<opowiadanie>
<akap>
author2 = PersonStub(("Jim",), "Lazy")
child_info = BookInfoStub(authors=(author1, author2), genre="ChildGenre", epoch='Epoch', kind="ChildKind",
- **info_args(u"Child"))
+ **info_args("Child"))
parent_info = BookInfoStub(author=author1, genre="Genre", epoch='Epoch', kind="Kind",
parts=[child_info.url],
- **info_args(u"Parent"))
+ **info_args("Parent"))
for info in child_info, parent_info:
book_text = """<utwor><opowiadanie><akap>
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
authors = PersonStub(("Common",), "Man"), PersonStub(("Jane",), "Doe")
child_info = BookInfoStub(authors=authors, genre="Genre", epoch='Epoch', kind="Kind",
- **info_args(u"Child"))
+ **info_args("Child"))
parent_info = BookInfoStub(authors=authors, genre="Genre", epoch='Epoch', kind="Kind",
parts=[child_info.url],
- **info_args(u"Parent"))
+ **info_args("Parent"))
self.child = models.Book.from_text_and_meta(ContentFile('<utwor/>'), child_info)
models.Book.from_text_and_meta(ContentFile('<utwor/>'), parent_info)
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
WLTestCase.setUp(self)
author = PersonStub(("Jane",), "Doe")
book_info = BookInfoStub(author=author, genre="Sielanka",
- epoch='Epoch', kind="Kind", **info_args(u"A book"))
+ epoch='Epoch', kind="Kind", **info_args("A book"))
self.book = models.Book.from_text_and_meta(ContentFile('''
<utwor>
<opowiadanie>
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
s = force_text(s)
length = int(num)
if length <= 0:
- return u''
+ return ''
html4_singlets = ('br', 'col', 'link', 'base', 'img', 'param', 'area', 'hr', 'input')
# Set up regular expressions
re_words = re.compile(r'&.*?;|<.*?>|(\w[\w-]*)', re.U)
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django import template
from django.core.cache import cache
from django.utils.safestring import mark_safe
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.contrib import admin
from modeltranslation.admin import TranslationAdmin
from . import models
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.apps import AppConfig
class ClubConfig(AppConfig):
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from decimal import Decimal
from django import forms
from . import models
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.utils.timezone import now
from .models import Schedule
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from datetime import timedelta
from django.core.management.base import BaseCommand, CommandError
from django.utils.timezone import now
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-03-04 20:50
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-16 08:24
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-16 08:45
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-16 08:50
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-16 08:52
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-16 10:36
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-16 14:25
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-17 13:39
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-05-10 13:10
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-05-29 07:46
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from datetime import datetime, timedelta
from django.conf import settings
from django.contrib.sites.models import Site
verbose_name_plural = _('memberships')
def __str__(self):
- return u'tow. ' + str(self.user)
+ return str(self.user)
@classmethod
def is_active_for(cls, user):
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.urls import reverse
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from .pos import POS
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django import forms
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import json
from urllib.parse import urlencode
from urllib.request import HTTPError
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import requests
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from selenium.webdriver.firefox.webdriver import WebDriver
+++ /dev/null
-# 1. idziemy do płatności, wyświetlamy widget, klikamy w wydżet
-
-# (pierwsza płatność) OrderCreateRequest z tokenem jednorazowym
-# < możliwa odpowiedź: WARNING_CONTINUE_3DS ([status]status_co
-# < token wielorazowy
-# < błąd http
-# < nieczytelna odpowiedź
-
-# OrderCreateRequest z tokenem wielorazowym
-
-
-
-# integration tests:
-
-# (run on payu sandbox)
-# open browser, display widget, input data, run widget, fetch token
-#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from hashlib import md5, sha256
from django.conf import settings
from django import http
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from rest_framework.permissions import BasePermission
from .models import Membership
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django import template
from ..helpers import get_active_schedule
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf.urls import url
from . import views
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.contrib.auth.decorators import login_required
from django.http import HttpResponseRedirect
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
"""
Generic app for creating contact forms.
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import csv
import json
raise AttributeError(name)
-class ContactAdmin(admin.ModelAdmin):
- __metaclass__ = ContactAdminMeta
+class ContactAdmin(admin.ModelAdmin, metaclass=ContactAdminMeta):
date_hierarchy = 'created_at'
list_display = ['created_at', 'contact', 'form_tag'] + \
["admin_list_%d" % i for i in range(admin_list_width)]
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import json
from django.contrib.sites.models import Site
from django.core.exceptions import ValidationError
return model
-class ContactForm(forms.Form):
+class ContactForm(forms.Form, metaclass=ContactFormMeta):
"""Subclass and define some fields."""
- __metaclass__ = ContactFormMeta
form_tag = None
form_title = _('Contact form')
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from hashlib import md5
from django.conf import settings
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import json
import yaml
from hashlib import sha1
if type(value) in (tuple, list, dict):
value = yaml.safe_dump(value, allow_unicode=True, default_flow_style=False)
if for_html:
- value = smart_text(value).replace(u" ", unichr(160))
+ value = smart_text(value).replace(" ", unichr(160))
return value
class Meta:
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.template import Library
from contact.models import Contact
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf.urls import url
from . import views
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from urllib.parse import unquote
from datetime import datetime
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
class HeaderWidget(forms.widgets.Widget):
- def render(self, name, value, attrs=None):
+ def render(self, name, value, attrs=None, renderer=None):
attrs.update(self.attrs)
return format_html('<a{0}></a>', flatatt(attrs))
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-from __future__ import unicode_literals
-
from django.utils.translation import ugettext_lazy as _
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
kind="X-Kind",
genre="X-Genre",
epoch="X-Epoch",
- **info_args(u"Default Book")
+ **info_args("Default Book")
)
def test_book_with_footnote(self):
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
class Settings(AppSettings):
"""Default settings for funding app."""
- DEFAULT_LANGUAGE = u'pl'
+ DEFAULT_LANGUAGE = 'pl'
DEFAULT_AMOUNT = 20
MIN_AMOUNT = 1
DAYS_NEAR = 2
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
"and to send you updates about your payment and the fundraiser status (which you can always turn off).<br/>"
"Your e-mail won't be publicised.")), required=False)
- data_processing_part2 = u'''\
+ data_processing_part2 = '''\
W przypadku podania danych zostaną one wykorzystane w sposób podany powyżej, a w przypadku wyrażenia dodatkowej zgody
adres e-mail zostanie wykorzystany także w celu przesyłania newslettera Wolnych Lektur.'''
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-07-29 12:50
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
notified_end = models.DateTimeField(_('End notifications sent'), blank=True, null=True)
def cover_img_tag(self):
- return u'<img src="%s" />' % self.cover.url
+ return '<img src="%s" />' % self.cover.url
cover_img_tag.short_description = _('Cover preview')
cover_img_tag.allow_tags = True
ordering = ['-end']
def __str__(self):
- return u"%s - %s" % (self.author, self.title)
+ return "%s - %s" % (self.author, self.title)
def get_absolute_url(self):
return reverse('funding_offer', args=[self.slug])
ordering = ['-price']
def __str__(self):
- return "%s (%s%s)" % (self.name, self.price, u" for %s" % self.offer if self.offer else "")
+ return "%s (%s%s)" % (self.name, self.price, " for %s" % self.offer if self.offer else "")
class Funding(models.Model):
ordering = ['-timestamp']
def __str__(self):
- return u"Spent: %s" % str(self.book)
+ return "Spent: %s" % str(self.book)
@receiver(getpaid.signals.new_payment_query)
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
sane_in_payu_title = re.escape(
string.ascii_uppercase +
string.ascii_lowercase +
- u'ąćęłńóśźżĄĆĘŁŃÓŚŹŻ' +
+ 'ąćęłńóśźżĄĆĘŁŃÓŚŹŻ' +
string.digits +
' ' +
"".join(set(string.punctuation) - set('\\'))
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
def perks_input_name(name):
return "_%s_perk" % name
- def render(self, name, value, attrs=None):
+ def render(self, name, value, attrs=None, renderer=None):
try:
value = Decimal(value)
except DecimalException:
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from datetime import date
import json
from urllib.request import urlopen
class WLISBNForm(forms.Form):
- platform_url = forms.URLField(label=u'Adres na platformie')
- publishing_date = forms.DateField(label=u'Data publikacji', initial=date.today)
+ platform_url = forms.URLField(label='Adres na platformie')
+ publishing_date = forms.DateField(label='Data publikacji', initial=date.today)
def prepare_data(self):
platform_url = self.cleaned_data['platform_url']
('SOFT', _('Soft cover book')),
)
LANGUAGE_CHOICES = (
- ('pol', u'polski'),
- ('eng', u'angielski'),
- ('ger', u'niemiecki'),
- ('fre', u'francuski'),
+ ('pol', 'polski'),
+ ('eng', 'angielski'),
+ ('ger', 'niemiecki'),
+ ('fre', 'francuski'),
)
title = forms.CharField()
- authors = forms.CharField(help_text=u'wartości oddzielone przecinkami lub „Wielu autorów”')
+ authors = forms.CharField(help_text='wartości oddzielone przecinkami lub „Wielu autorów”')
formats = forms.MultipleChoiceField(choices=FORMAT_CHOICES)
language = forms.ChoiceField(choices=LANGUAGE_CHOICES)
publishing_date = forms.DateField()
def prepare_author(self, name):
- if name == u'Wielu autorów':
+ if name == 'Wielu autorów':
return {'role': 'A01', 'unnamed': '04'}
if ' ' in name:
first_name, last_name = [s.strip() for s in name.rsplit(' ', 1)]
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import json
from django.core.management.base import BaseCommand
from django.utils import timezone
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from datetime import date
from lxml import etree
from django.core.management.base import BaseCommand
from isbn.models import ISBNPool, ONIXRecord
from librarian import XMLNamespace
+
ONIXNS = XMLNamespace('http://ns.editeur.org/onix/3.0/reference')
DIRECT_FIELDS = {
'imprint': 'ImprintName',
}
-UNKNOWN = u'Autor nieznany'
+UNKNOWN = 'Autor nieznany'
def parse_date(date_str):
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-07-29 12:50
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf.urls import url
from . import views
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from librarian import RDFNS, DCNS
+
FORMATS = ('PDF', 'HTML', 'TXT', 'EPUB', 'MOBI')
FORMATS_WITH_CHILDREN = ('PDF', 'EPUB', 'MOBI')
'E127': ('mobi', 'application/x-mobipocket-ebook'),
}
-VOLUME_SEPARATORS = (u'. część ', u', część ', u', tom ', u'. der tragödie ')
+VOLUME_SEPARATORS = ('. część ', ', część ', ', tom ', '. der tragödie ')
def is_institution(name):
- return name.startswith(u'Zgromadzenie Ogólne')
+ return name.startswith('Zgromadzenie Ogólne')
def get_volume(title):
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.contrib.auth.decorators import permission_required
from django.http.response import HttpResponseRedirect
from django.shortcuts import render
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
from django.conf import settings
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-07-29 12:50
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
@staticmethod
def choose_letter(word, continuations):
if word not in continuations:
- return u'\n'
+ return '\n'
choices = sum((continuations[word][letter]
for letter in continuations[word]))
return ''
letters = []
- word = u''
+ word = ''
finished_stanza_verses = 0
current_stanza_verses = 0
word = word[-length + 1:] + letter
char_count += 1
- if letter == u'\n':
+ if letter == '\n':
if verse_start:
finished_stanza_verses += current_stanza_verses
current_stanza_verses = 0
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-\r
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.\r
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.\r
#\r
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
#!/usr/bin/env python
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import os
import sys
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf.urls import url
from django.contrib import admin
from django.http.response import HttpResponse
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.core.exceptions import ValidationError
from django.core.validators import validate_email
from django.forms import Form, BooleanField, MultipleChoiceField
class NewsletterForm(Form):
email_field = 'email'
agree_newsletter = BooleanField(
- required=False, initial=False, label=_(u'I want to receive Wolne Lektury\'s newsletter.'))
+ required=False, initial=False, label=_('I want to receive Wolne Lektury\'s newsletter.'))
mailing = False
mailing_field = 'agree_newsletter'
- data_processing_part1 = u'''\
+ data_processing_part1 = '''\
Administratorem danych osobowych jest Fundacja Nowoczesna Polska (ul. Marszałkowska 84/92 lok. 125, 00-514 Warszawa).
Podanie danych osobowych jest dobrowolne.'''
- data_processing_part2 = u'''Dane są przetwarzane w zakresie niezbędnym do wysyłania newslettera odbiorcom.'''
- data_processing_part3 = u'''\
+ data_processing_part2 = '''Dane są przetwarzane w zakresie niezbędnym do wysyłania newslettera odbiorcom.'''
+ data_processing_part3 = '''\
Osobom, których dane są zbierane, przysługuje prawo dostępu do treści swoich danych oraz ich poprawiania.
Więcej informacji w <a href="">polityce prywatności.</a>'''
else:
# subscription, created = Subscription.objects.get_or_create(email=email, defaults={'active': False})
# send_noreply_mail(
- # ugettext(u'Confirm your subscription to Wolne Lektury newsletter'),
+ # ugettext('Confirm your subscription to Wolne Lektury newsletter'),
# render_to_string('newsletter/subscribe_email.html', {'subscription': subscription}), [email])
mailing.subscribe(email, mailing_lists=self.cleaned_data.get('mailing_lists'))
email = EmailField(label=_('email address'))
mailing_lists = MultipleChoiceField(
widget=CheckboxSelectMultiple,
- choices=(('general', _(u'general newsletter')), ('contest', _(u'about the contest'))),
- label=_(u'mailing list'))
+ choices=(('general', _('general newsletter')), ('contest', _('about the contest'))),
+ label=_('mailing list'))
def __init__(self, *args, **kwargs):
super(SubscribeForm, self).__init__(*args, **kwargs)
try:
subscription = Subscription.objects.get(email=email)
except Subscription.DoesNotExist:
- raise ValidationError(ugettext(u'Email address not found.'))
+ raise ValidationError(ugettext('Email address not found.'))
self.cleaned_data['subscription'] = subscription
def save(self):
context = {'subscription': subscription}
# refactor to send_noreply_mail
send_noreply_mail(
- ugettext(u'Unsubscribe from Wolne Lektury\'s newsletter.'),
+ ugettext('Unsubscribe from Wolne Lektury\'s newsletter.'),
render_to_string('newsletter/unsubscribe_email.html', context),
[subscription.email], fail_silently=True)
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import hashlib
from django.db.models import Model, EmailField, DateTimeField, BooleanField
class Subscription(Model):
email = EmailField(verbose_name=_('email address'), unique=True)
- active = BooleanField(default=True, verbose_name=_(u'active'))
+ active = BooleanField(default=True, verbose_name=_('active'))
created_at = DateTimeField(auto_now_add=True)
last_modified = DateTimeField(auto_now=True)
+++ /dev/null
-from django.test import TestCase
-
-# Create your tests here.
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf.urls import url
from . import views
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.http import Http404
from django.http.response import HttpResponseRedirect
from django.shortcuts import render, get_object_or_404
else:
form = SubscribeForm()
return render(request, 'newsletter/subscribe_form.html', {
- 'page_title': _(u'Subscribe To Newsletter'),
+ 'page_title': _('Subscribe To Newsletter'),
'form': form,
})
def subscribed(request):
return render(request, 'newsletter/subscribed.html', {
- 'page_title': _(u'Subscribed'),
+ 'page_title': _('Subscribed'),
})
subscription.active = True
subscription.save()
return render(request, 'newsletter/confirm_subscription.html', {
- 'page_title': _(u'Subscription confirmed')
+ 'page_title': _('Subscription confirmed')
})
else:
form = UnsubscribeForm()
return render(request, 'newsletter/unsubscribe_form.html', {
- 'page_title': _(u'Unsubscribe'),
+ 'page_title': _('Unsubscribe'),
'form': form,
})
def unsubscribed(request):
return render(request, 'newsletter/unsubscribed.html', {
- 'page_title': _(u'Unsubscribed'),
+ 'page_title': _('Unsubscribed'),
})
+++ /dev/null
-# -*- coding: utf-8 -*-
-from django.contrib import admin
-from django import forms
-from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext_lazy as _
-
-
-class FilteredSelectMultiple(forms.SelectMultiple):
- """
- A SelectMultiple with a JavaScript filter interface.
-
- Note that the resulting JavaScript assumes that the SelectFilter2.js
- library and its dependencies have been loaded in the HTML page.
- """
- def _media(self):
- from django.conf import settings
- js = ['js/SelectBox.js', 'js/SelectFilter2.js']
- return forms.Media(js=['%sadmin/%s' % (settings.STATIC_URL, url) for url in js])
- media = property(_media)
-
- def __init__(self, verbose_name, is_stacked, attrs=None, choices=()):
- self.verbose_name = verbose_name
- self.is_stacked = is_stacked
- super(FilteredSelectMultiple, self).__init__(attrs, choices)
-
- def render(self, name, value, attrs=None, choices=()):
- from django.conf import settings
- output = [
- super(FilteredSelectMultiple, self).render(name, value, attrs, choices),
- u'<script type="text/javascript">addEvent(window, "load", function(e) {',
- u'SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n' % (
- name, self.verbose_name.replace('"', '\\"'),
- int(self.is_stacked), settings.STATIC_URL + "admin/")
- ]
- # TODO: "id_" is hard-coded here. This should instead use the correct
- # API to determine the ID dynamically.
- return mark_safe(u''.join(output))
-
-
-class TaggableModelForm(forms.ModelForm):
- tags = forms.MultipleChoiceField(
- label=_('tags').capitalize(), required=False,
- widget=FilteredSelectMultiple(_('tags'), is_stacked=False))
-
- def __init__(self, *args, **kwargs):
- if 'instance' in kwargs:
- if 'initial' not in kwargs:
- kwargs['initial'] = {}
- kwargs['initial']['tags'] = [tag.id for tag in self.tag_model.objects.get_for_object(kwargs['instance'])]
- super(TaggableModelForm, self).__init__(*args, **kwargs)
- self.fields['tags'].choices = [(tag.id, tag.name) for tag in self.tag_model.objects.all()]
-
- def save(self, commit):
- obj = super(TaggableModelForm, self).save()
- tag_ids = self.cleaned_data['tags']
- tags = self.tag_model.objects.filter(pk__in=tag_ids)
- self.tag_model.objects.update_tags(obj, tags)
- return obj
-
- def save_m2m(self):
- # TODO: Shouldn't be needed
- pass
-
-
-class TaggableModelAdmin(admin.ModelAdmin):
- form = TaggableModelForm
-
- def get_form(self, request, obj=None):
- form = super(TaggableModelAdmin, self).get_form(request, obj)
- form.tag_model = self.tag_model
- return form
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
"""
Custom managers for Django models registered with the tagging
application.
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
"""
Models and managers for generic tagging.
"""
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
try:
earliest_delete = \
- Deleted.objects.exclude(slug__exact=u'').order_by('deleted_at')[0].deleted_at
+ Deleted.objects.exclude(slug__exact='').order_by('deleted_at')[0].deleted_at
except IndexError:
earliest_delete = year_zero
# books = Book.tagged.with_all([tag])
else:
books = Book.objects.filter(preview=False)
- deleted = Deleted.objects.exclude(slug__exact=u'')
+ deleted = Deleted.objects.exclude(slug__exact='')
books = books.order_by('changed_at')
deleted = deleted.order_by('deleted_at')
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
AtomNS = XMLNamespace("http://www.w3.org/2005/Atom")
-@skipIf(getattr(settings, 'NO_SEARCH_INDEX', False), u'Requires search server and NO_SEARCH_INDEX=False.')
+@skipIf(getattr(settings, 'NO_SEARCH_INDEX', False), 'Requires search server and NO_SEARCH_INDEX=False.')
class OpdsSearchTests(WLTestCase):
"""Tests search feed in OPDS.."""
def setUp(self):
self.client.get('/opds/search/?%s' % query).content)
elem_ids = tree.findall('.//%s/%s' % (AtomNS('entry'), AtomNS('id')))
slugs = [WLURI(elem.text).slug for elem in elem_ids]
- self.assertEqual(set(slugs), set(b.slug for b in books), u"OPDS search '%s' failed." % query)
+ self.assertEqual(set(slugs), set(b.slug for b in books), "OPDS search '%s' failed." % query)
def test_opds_search_simple(self):
"""Do a simple q= test, also emulate dumb OPDS clients."""
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
_root_feeds = (
{
- u"category": u"",
- u"link": u"opds_user",
- u"link_args": [],
- u"title": u"Moje półki",
- u"description": u"Półki użytkownika dostępne po zalogowaniu"
+ "category": "",
+ "link": "opds_user",
+ "link_args": [],
+ "title": "Moje półki",
+ "description": "Półki użytkownika dostępne po zalogowaniu"
},
{
- u"category": u"author",
- u"link": u"opds_by_category",
- u"link_args": [u"author"],
- u"title": u"Autorzy",
- u"description": u"Utwory wg autorów"
+ "category": "author",
+ "link": "opds_by_category",
+ "link_args": ["author"],
+ "title": "Autorzy",
+ "description": "Utwory wg autorów"
},
{
- u"category": u"kind",
- u"link": u"opds_by_category",
- u"link_args": [u"kind"],
- u"title": u"Rodzaje",
- u"description": u"Utwory wg rodzajów"
+ "category": "kind",
+ "link": "opds_by_category",
+ "link_args": ["kind"],
+ "title": "Rodzaje",
+ "description": "Utwory wg rodzajów"
},
{
- u"category": u"genre",
- u"link": u"opds_by_category",
- u"link_args": [u"genre"],
- u"title": u"Gatunki",
- u"description": u"Utwory wg gatunków"
+ "category": "genre",
+ "link": "opds_by_category",
+ "link_args": ["genre"],
+ "title": "Gatunki",
+ "description": "Utwory wg gatunków"
},
{
- u"category": u"epoch",
- u"link": u"opds_by_category",
- u"link_args": [u"epoch"],
- u"title": u"Epoki",
- u"description": u"Utwory wg epok"
+ "category": "epoch",
+ "link": "opds_by_category",
+ "link_args": ["epoch"],
+ "title": "Epoki",
+ "description": "Utwory wg epok"
},
)
class OPDSFeed(Atom1Feed):
- link_rel = u"subsection"
- link_type = u"application/atom+xml"
+ link_rel = "subsection"
+ link_type = "application/atom+xml"
_book_parent_img = lazy(lambda: full_url(os.path.join(settings.STATIC_URL, "img/book-parent.png")), str)()
try:
def add_root_elements(self, handler):
super(OPDSFeed, self).add_root_elements(handler)
- handler.addQuickElement(u"link", None,
- {u"href": reverse("opds_authors"),
- u"rel": u"start",
- u"type": u"application/atom+xml"})
- handler.addQuickElement(u"link", None,
- {u"href": full_url(os.path.join(settings.STATIC_URL, "opensearch.xml")),
- u"rel": u"search",
- u"type": u"application/opensearchdescription+xml"})
+ handler.addQuickElement("link", None,
+ {"href": reverse("opds_authors"),
+ "rel": "start",
+ "type": "application/atom+xml"})
+ handler.addQuickElement("link", None,
+ {"href": full_url(os.path.join(settings.STATIC_URL, "opensearch.xml")),
+ "rel": "search",
+ "type": "application/opensearchdescription+xml"})
def add_item_elements(self, handler, item):
""" modified from Atom1Feed.add_item_elements """
- handler.addQuickElement(u"title", item['title'])
+ handler.addQuickElement("title", item['title'])
# add a OPDS Navigation link if there's no enclosure
if not item.get('enclosures') is None:
handler.addQuickElement(
- u"link", u"", {u"href": item['link'], u"rel": u"subsection", u"type": u"application/atom+xml"})
+ "link", "", {"href": item['link'], "rel": "subsection", "type": "application/atom+xml"})
# add a "green book" icon
handler.addQuickElement(
- u"link", '',
+ "link", '',
{
- u"rel": u"http://opds-spec.org/thumbnail",
- u"href": self._book_parent_img,
- u"length": self._book_parent_img_size,
- u"type": u"image/png",
+ "rel": "http://opds-spec.org/thumbnail",
+ "href": self._book_parent_img,
+ "length": self._book_parent_img_size,
+ "type": "image/png",
})
if item['pubdate'] is not None:
# FIXME: rfc3339_date is undefined, is this ever run?
- handler.addQuickElement(u"updated", rfc3339_date(item['pubdate']).decode('utf-8'))
+ handler.addQuickElement("updated", rfc3339_date(item['pubdate']).decode('utf-8'))
# Author information.
if item['author_name'] is not None:
- handler.startElement(u"author", {})
- handler.addQuickElement(u"name", item['author_name'])
+ handler.startElement("author", {})
+ handler.addQuickElement("name", item['author_name'])
if item['author_email'] is not None:
- handler.addQuickElement(u"email", item['author_email'])
+ handler.addQuickElement("email", item['author_email'])
if item['author_link'] is not None:
- handler.addQuickElement(u"uri", item['author_link'])
- handler.endElement(u"author")
+ handler.addQuickElement("uri", item['author_link'])
+ handler.endElement("author")
# Unique ID.
if item['unique_id'] is not None:
else:
# FIXME: get_tag_uri is undefined, is this ever run?
unique_id = get_tag_uri(item['link'], item['pubdate'])
- handler.addQuickElement(u"id", unique_id)
+ handler.addQuickElement("id", unique_id)
# Summary.
# OPDS needs type=text
if item['description'] is not None:
- handler.addQuickElement(u"summary", item['description'], {u"type": u"text"})
+ handler.addQuickElement("summary", item['description'], {"type": "text"})
# Enclosure as OPDS Acquisition Link
for enc in item.get('enclosures', []):
handler.addQuickElement(
- u"link", '',
+ "link", '',
{
- u"rel": u"http://opds-spec.org/acquisition",
- u"href": enc.url,
- u"length": enc.length,
- u"type": enc.mime_type,
+ "rel": "http://opds-spec.org/acquisition",
+ "href": enc.url,
+ "length": enc.length,
+ "type": enc.mime_type,
})
# add a "red book" icon
handler.addQuickElement(
- u"link", '',
+ "link", '',
{
- u"rel": u"http://opds-spec.org/thumbnail",
- u"href": self._book_img,
- u"length": self._book_img_size,
- u"type": u"image/png",
+ "rel": "http://opds-spec.org/thumbnail",
+ "href": self._book_img,
+ "length": self._book_img_size,
+ "type": "image/png",
})
# Categories.
for cat in item['categories']:
- handler.addQuickElement(u"category", u"", {u"term": cat})
+ handler.addQuickElement("category", "", {"term": cat})
# Rights.
if item['item_copyright'] is not None:
- handler.addQuickElement(u"rights", item['item_copyright'])
+ handler.addQuickElement("rights", item['item_copyright'])
class AcquisitionFeed(Feed):
feed_type = OPDSFeed
- link = u'http://www.wolnelektury.pl/'
+ link = 'http://www.wolnelektury.pl/'
item_enclosure_mime_type = "application/epub+zip"
- author_name = u"Wolne Lektury"
- author_link = u"http://www.wolnelektury.pl/"
+ author_name = "Wolne Lektury"
+ author_link = "http://www.wolnelektury.pl/"
def item_title(self, book):
return book.title
def item_description(self):
- return u''
+ return ''
def item_link(self, book):
return book.get_absolute_url()
try:
return book.authors().first().name
except AttributeError:
- return u''
+ return ''
def item_author_link(self, book):
try:
return book.authors().first().get_absolute_url()
except AttributeError:
- return u''
+ return ''
def item_enclosure_url(self, book):
return full_url(book.epub_url()) if book.epub_file else None
@piwik_track
class RootFeed(Feed):
feed_type = OPDSFeed
- title = u'Wolne Lektury'
- link = u'http://wolnelektury.pl/'
- description = u"Spis utworów na stronie http://WolneLektury.pl"
- author_name = u"Wolne Lektury"
- author_link = u"http://wolnelektury.pl/"
+ title = 'Wolne Lektury'
+ link = 'http://wolnelektury.pl/'
+ description = "Spis utworów na stronie http://WolneLektury.pl"
+ author_name = "Wolne Lektury"
+ author_link = "http://wolnelektury.pl/"
def items(self):
return _root_feeds
@piwik_track
class ByCategoryFeed(Feed):
feed_type = OPDSFeed
- link = u'http://wolnelektury.pl/'
- description = u"Spis utworów na stronie http://WolneLektury.pl"
- author_name = u"Wolne Lektury"
- author_link = u"http://wolnelektury.pl/"
+ link = 'http://wolnelektury.pl/'
+ description = "Spis utworów na stronie http://WolneLektury.pl"
+ author_name = "Wolne Lektury"
+ author_link = "http://wolnelektury.pl/"
def get_object(self, request, category):
feed = [feed for feed in _root_feeds if feed['category'] == category]
return reverse("opds_by_tag", args=[item.category, item.slug])
def item_description(self):
- return u''
+ return ''
@piwik_track
return tag.name
def description(self, tag):
- return u"Spis utworów na stronie http://WolneLektury.pl"
+ return "Spis utworów na stronie http://WolneLektury.pl"
def get_object(self, request, category, slug):
return get_object_or_404(Tag, category=category, slug=slug)
@piwik_track
class UserFeed(Feed):
feed_type = OPDSFeed
- link = u'http://www.wolnelektury.pl/'
- description = u"Półki użytkownika na stronie http://WolneLektury.pl"
- author_name = u"Wolne Lektury"
- author_link = u"http://wolnelektury.pl/"
+ link = 'http://www.wolnelektury.pl/'
+ description = "Półki użytkownika na stronie http://WolneLektury.pl"
+ author_name = "Wolne Lektury"
+ author_link = "http://wolnelektury.pl/"
def get_object(self, request):
return request.user
def title(self, user):
- return u"Półki użytkownika %s" % user.username
+ return "Półki użytkownika %s" % user.username
def items(self, user):
return Tag.objects.filter(category='set', user=user).exclude(items=None)
return reverse("opds_user_set", args=[item.slug])
def item_description(self):
- return u''
+ return ''
@factory_decorator(logged_in_or_basicauth())
return tag.name
def description(self, tag):
- return u"Spis utworów na stronie http://WolneLektury.pl"
+ return "Spis utworów na stronie http://WolneLektury.pl"
def get_object(self, request, slug):
return get_object_or_404(Tag, category='set', slug=slug, user=request.user)
@piwik_track
class SearchFeed(AcquisitionFeed):
- description = u"Wyniki wyszukiwania na stronie WolneLektury.pl"
- title = u"Wyniki wyszukiwania"
+ description = "Wyniki wyszukiwania na stronie WolneLektury.pl"
+ title = "Wyniki wyszukiwania"
QUOTE_OR_NOT = r'(?:(?=["])"([^"]+)"|([^ ]+))'
INLINE_QUERY_RE = re.compile(
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
from django.conf import settings
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-07-29 12:50
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
plan_id = plan.plan_id
start = (timezone.now() + timedelta(0, 3600*24)).astimezone(pytz.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
billing_agreement = paypalrestsdk.BillingAgreement({
- "name": u"Subskrypcja klubu WL",
- "description": u"Stałe wsparcie Wolnych Lektur kwotą %s złotych" % amount,
+ "name": "Subskrypcja klubu WL",
+ "description": "Stałe wsparcie Wolnych Lektur kwotą %s złotych" % amount,
"start_date": start,
"plan": {
"id": plan_id,
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
slug = models.SlugField(_('slug'), max_length=120, db_index=True, unique=True)
sort_key = models.CharField(_('sort key'), max_length=120, db_index=True)
description = models.TextField(_('description'), blank=True)
- death = models.IntegerField(_(u'year of death'), blank=True, null=True)
+ death = models.IntegerField(_('year of death'), blank=True, null=True)
gazeta_link = models.CharField(blank=True, max_length=240)
wiki_link = models.CharField(blank=True, max_length=240)
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
else:
pd_counter = None
- form = PublishingSuggestForm(initial={"books": u"%s — %s, \n" % (book.author, book.title)})
+ form = PublishingSuggestForm(initial={"books": "%s — %s, \n" % (book.author, book.title)})
return render(request, 'pdcounter/book_stub_detail.html', {
'book': book,
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from os.path import join
from django.conf import settings
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import json
from django.core.files.base import ContentFile
from django.db import models, migrations
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from os.path import join
import sorl.thumbnail.fields
from django.conf import settings
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
try:
author = self.authors().first().sort_key
except AttributeError:
- author = u''
+ author = ''
self.sort_key_author = author
ret = super(Picture, self).save(force_insert, force_update)
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-from __future__ import with_statement
-
from os import path
from picture.models import Picture
from catalogue.test_utils import WLTestCase
for area in picture.areas.all():
themes.update([
(tag.category, tag.name)
- for tag in area.tags if tag.category in (u'theme', u'thing')])
- assert themes == {(u'theme', u'nieporządek'), (u'thing', u'Kosmos')}, \
+ for tag in area.tags if tag.category in ('theme', 'thing')])
+ assert themes == {('theme', 'nieporządek'), ('thing', 'Kosmos')}, \
'Bad themes on Picture areas: %s' % themes
pic_themes = set([tag.name for tag in picture.tags if tag.category in ('theme', 'thing')])
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-\r
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.\r
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.\r
-#\r
-from django import forms\r
-\r
-\r
-class PollForm(forms.Form):\r
- vote = forms.ChoiceField(widget=forms.RadioSelect)\r
-\r
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+from django import forms
+
+
+class PollForm(forms.Form):
+ vote = forms.ChoiceField(widget=forms.RadioSelect)
+
def __init__(self, *args, **kwargs):
- poll = kwargs.pop('poll', None)\r
- super(PollForm, self).__init__(*args, **kwargs)\r
- self.fields['vote'].choices = [(item.id, item.content) for item in poll.items.all()]\r
+ poll = kwargs.pop('poll', None)
+ super(PollForm, self).__init__(*args, **kwargs)
+ self.fields['vote'].choices = [(item.id, item.content) for item in poll.items.all()]
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
def save(self, commit=True):
notification = super(NotificationForm, self).save(commit=commit)
- wl_base = u'https://' + Site.objects.get_current().domain
+ wl_base = 'https://' + Site.objects.get_current().domain
if notification.image:
image_url = wl_base + notification.image.url
else:
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
class Notification(models.Model):
timestamp = models.DateTimeField(auto_now_add=True)
- title = models.CharField(max_length=256, verbose_name=_(u'title'))
- body = models.CharField(max_length=2048, verbose_name=_(u'content'))
- image = models.ImageField(verbose_name=_(u'image'), blank=True, upload_to='push/img')
+ title = models.CharField(max_length=256, verbose_name=_('title'))
+ body = models.CharField(max_length=2048, verbose_name=_('content'))
+ image = models.ImageField(verbose_name=_('image'), blank=True, upload_to='push/img')
message_id = models.CharField(max_length=2048)
class Meta:
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
-#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
super(JQueryAutoCompleteWidget, self).__init__(*args, **kwargs)
def render_js(self, field_id, options):
- return u'$(\'#%s\').autocomplete(%s).result(autocomplete_result_handler);' % (field_id, options)
+ return '$(\'#%s\').autocomplete(%s).result(autocomplete_result_handler);' % (field_id, options)
- def render(self, name, value=None, attrs=None):
+ def render(self, name, value=None, attrs=None, renderer=None):
final_attrs = self.build_attrs(self.attrs, attrs)
final_attrs["name"] = name
if value:
if 'id' not in self.attrs:
final_attrs['id'] = 'id_%s' % name
- html = u'''<input type="text" %(attrs)s/>
+ html = '''<input type="text" %(attrs)s/>
<script type="text/javascript">//<!--
%(js)s//--></script>
''' % {
super(JQueryAutoCompleteSearchWidget, self).__init__(*args, **kwargs)
def render_js(self, field_id, options):
- return u""
+ return ""
class JQueryAutoCompleteField(forms.CharField):
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
return
def fix_format(text):
- # separator = [u" ", u"\t", u".", u";", u","]
+ # separator = [" ", "\t", ".", ";", ","]
if isinstance(text, list):
# need to join it first
text = filter(lambda s: s is not None, content)
- text = u' '.join(text)
+ text = ' '.join(text)
# for i in range(len(text)):
# if i > 0:
# if text[i][0] not in separator\
# and text[i - 1][-1] not in separator:
- # text.insert(i, u" ")
+ # text.insert(i, " ")
return re.sub("(?m)/$", "", text)
elif end is not None and footnote is not [] and end.tag in self.footnote_tags:
handle_text.pop()
doc = add_part(snippets, header_index=position, header_type=header.tag,
- text=u''.join(footnote),
+ text=''.join(footnote),
is_footnote=True)
self.index.add(doc)
footnote = []
return result
def __str__(self):
- return u"<SR id=%d %d(%d) hits score=%f %d snippets>" % \
+ return "<SR id=%d %d(%d) hits score=%f %d snippets>" % \
(self.book_id, len(self._hits),
len(self._processed_hits) if self._processed_hits else -1,
self._score, len(self.snippets))
self._hits.append(hit)
def __str__(self):
- return u"<PR id=%d score=%f >" % (self.picture_id, self._score)
+ return "<PR id=%d score=%f >" % (self.picture_id, self._score)
def __repr__(self):
return str(self)
continue
snip = result.snippets[idx]
# fix some formattting
- snip = re.sub(r"[ \t\n]*\n[ \t\n]*", u"\n", snip)
- snip = re.sub(r"(^[ \t\n]+|[ \t\n]+$)", u"", snip)
+ snip = re.sub(r"[ \t\n]*\n[ \t\n]*", "\n", snip)
+ snip = re.sub(r"(^[ \t\n]+|[ \t\n]+$)", "", snip)
snip = snip.replace("\n", "<br />").replace('---', '—')
hit['snippet'] = snip
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
@override_settings(SEARCH_INDEX=tempfile.mkdtemp(prefix='djangotest_search_'))
@skipIf(getattr(settings, 'NO_SEARCH_INDEX', False),
- u'Requires search server and NO_SEARCH_INDEX=False.')
+ 'Requires search server and NO_SEARCH_INDEX=False.')
class BookSearchTests(WLTestCase):
def setUp(self):
WLTestCase.setUp(self)
# TODO: Add slop option to sunburnt
# def test_search_perfect_parts(self):
- # books = self.search.search_phrase(u"Jakoż hamować")
+ # books = self.search.search_phrase("Jakoż hamować")
# assert len(books) == 2
# for b in books:
# b.book_id == self.book.id
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
pd_authors = search_pd_authors(query)
books = search_books(query)
pictures = search_pictures(query)
- suggestion = u''
+ suggestion = ''
if not (books or pictures or pd_authors):
form = PublishingSuggestForm(initial={"books": query + ", "})
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-03-18 12:09
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-03-18 12:39
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-04-03 13:10
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-07-15 12:05
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-07-15 12:12
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
from django.conf import settings
from django.core.exceptions import ValidationError
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _, string_concat
+from django.utils.translation import ugettext_lazy as _
from catalogue.models import Book
from wolnelektury.utils import cached_render, clear_cached_renders
sticky = models.BooleanField(_('sticky'), default=False, db_index=True,
help_text=_('Sticky cites will take precedense.'))
- banner = models.BooleanField(_('banner'), default=False, help_text=string_concat(_('Adjust size to image, ignore the text'), '<br>(Przestarzałe; użyj funkcji "Obraz" w sekcji "Media box")'))
+ banner = models.BooleanField(_('banner'), default=False, help_text=
+ 'Dostosuj wielkość do obrazu tła, zignoruj tekst.'
+ '<br>(Przestarzałe; użyj funkcji "Obraz" w sekcji "Media box")')
background_plain = models.BooleanField(_('plain background'), default=False)
background_color = models.CharField(_('background color'), max_length=32, blank=True)
help_text=_('Best image is exactly 975px wide and weights under 100kB.'))
image_shift = models.IntegerField(
_('shift'), null=True, blank=True,
- help_text=string_concat(_('Vertical shift, in percents. 0 means top, 100 is bottom. Default is 50%.'), '<br>(Przestarzałe; użyj obrazka o właściwych proporcjach;)'))
+ help_text='Przesunięcie w pionie, w procentach. 0 to wyrównanie do górnej krawędzi, 100 do dolnej. Domyślne jest 50%.'
+ '<br>(Przestarzałe; użyj obrazka o właściwych proporcjach;)')
image_title = models.CharField(_('title'), max_length=255, null=True, blank=True)
image_author = models.CharField(_('author'), max_length=255, blank=True, null=True)
image_link = models.URLField(_('link'), blank=True, null=True)
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import re
from fnpdjango.utils.text import char_map
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-__author__ = u'Marek Stępniowski, <marek@stepniowski.com>'
+__author__ = 'Marek Stępniowski, <marek@stepniowski.com>'
__version__ = '0.1'
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
'all': (settings.STATIC_URL + 'sponsors/css/footer_admin.css',),
}
- def render(self, name, value, attrs=None):
- output = [super(SponsorPageWidget, self).render(name, value, attrs)]
+ def render(self, name, value, attrs=None, renderer=None):
+ output = [super(SponsorPageWidget, self).render(name, value, attrs, renderer)]
sponsors = [(str(obj), obj.pk, obj.logo.url) for obj in models.Sponsor.objects.all().iterator()]
sponsors_js = ', '.join('{name: "%s", id: %d, image: "%s"}' % sponsor for sponsor in sponsors)
output.append('<script type="text/javascript">$(function(e) {')
# TODO: "id_" is hard-coded here. This should instead use the correct
# API to determine the ID dynamically.
- output.append(u'$("#id_%s").sponsorsFooter({sponsors: [%s]}); });</script>\n' % (name, sponsors_js))
- return mark_safe(u''.join(output))
+ output.append('$("#id_%s").sponsorsFooter({sponsors: [%s]}); });</script>\n' % (name, sponsors_js))
+ return mark_safe(''.join(output))
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
@task(ignore_result=True)
def track_request(piwik_args):
- piwik_url = "%s%s%s" % (settings.PIWIK_URL, u"/piwik.php?", piwik_args)
+ piwik_url = "%s%s%s" % (settings.PIWIK_URL, "/piwik.php?", piwik_args)
conn = HTTPConnection(_host)
conn.request('GET', piwik_url)
conn.close()
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
contact = forms.CharField(label=_('Contact'), max_length=120, required=False)
description = forms.CharField(label=_('Description'), widget=forms.Textarea, required=True)
- data_processing_part2 = u'''\
+ data_processing_part2 = '''\
Dane są przetwarzane w zakresie niezbędnym do obsługi zgłoszenia. W przypadku wyrażenia dodatkowej zgody \
adres e-mail zostanie wykorzystany także w celu przesyłania newslettera Wolnych Lektur.'''
suggestion.user = request.user
suggestion.save()
- mail_managers(u'Nowa sugestia na stronie WolneLektury.pl', u'''\
+ mail_managers('Nowa sugestia na stronie WolneLektury.pl', '''\
Zgłoszono nową sugestię w serwisie WolneLektury.pl.
http://%(site)s%(url)s
pass
else:
send_noreply_mail(
- ugettext(u'Thank you for your suggestion.'),
- ugettext(u"""\
+ ugettext('Thank you for your suggestion.'),
+ ugettext("""\
Thank you for your comment on WolneLektury.pl.
The suggestion has been referred to the project coordinator."""),
[contact], fail_silently=True)
def clean(self):
if not self.cleaned_data['ebook'] and not self.cleaned_data['audiobook']:
- msg = ugettext(u"One of these options is required.")
+ msg = ugettext("One of these options is required.")
self._errors['ebook'] = self.error_class([msg])
self._errors['audiobook'] = self.error_class([msg])
return super(PublishingSuggestForm, self).clean()
suggestion.save()
if not suggestion.is_spam():
- mail_managers(u'Konsultacja planu wydawniczego na WolneLektury.pl', u'''\
+ mail_managers('Konsultacja planu wydawniczego na WolneLektury.pl', '''\
Zgłoszono nową sugestię nt. planu wydawniczego w serwisie WolneLektury.pl.
%(url)s
pass
else:
send_noreply_mail(
- ugettext(u'Thank you for your suggestion.'),
- ugettext(u"""\
+ ugettext('Thank you for your suggestion.'),
+ ugettext("""\
Thank you for your comment on WolneLektury.pl.
The suggestion has been referred to the project coordinator."""),
[contact], fail_silently=True)
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
from django.conf import settings
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2019-07-29 12:50
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import picklefield.fields
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-from __future__ import absolute_import
-
import os
from celery import Celery
from django.conf import settings
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
class KonkursForm(ContactForm):
form_tag = 'konkurs'
- form_title = u"Konkurs Trzy strony"
+ form_title = "Konkurs Trzy strony"
admin_list = ['podpis', 'contact', 'temat']
ends_on = (2017, 11, 8)
disabled_template = 'contact/disabled_contact_form.html'
- opiekun_header = HeaderField(label=u'Dane\xa0Opiekuna/Opiekunki')
- opiekun_nazwisko = forms.CharField(label=u'Imię i nazwisko', max_length=128)
- contact = forms.EmailField(label=u'Adres e-mail', max_length=128)
- opiekun_tel = forms.CharField(label=u'Numer telefonu', max_length=32)
- nazwa_dkk = forms.CharField(label=u'Nazwa DKK', max_length=128)
- adres_dkk = forms.CharField(label=u'Adres DKK', max_length=128)
-
- uczestnik_header = HeaderField(label=u'Dane\xa0Uczestnika/Uczestniczki')
- uczestnik_imie = forms.CharField(label=u'Imię', max_length=128)
- uczestnik_nazwisko = forms.CharField(label=u'Nazwisko', max_length=128)
- uczestnik_email = forms.EmailField(label=u'Adres e-mail', max_length=128)
- wiek = forms.ChoiceField(label=u'Kategoria wiekowa', choices=(
+ opiekun_header = HeaderField(label='Dane\xa0Opiekuna/Opiekunki')
+ opiekun_nazwisko = forms.CharField(label='Imię i nazwisko', max_length=128)
+ contact = forms.EmailField(label='Adres e-mail', max_length=128)
+ opiekun_tel = forms.CharField(label='Numer telefonu', max_length=32)
+ nazwa_dkk = forms.CharField(label='Nazwa DKK', max_length=128)
+ adres_dkk = forms.CharField(label='Adres DKK', max_length=128)
+
+ uczestnik_header = HeaderField(label='Dane\xa0Uczestnika/Uczestniczki')
+ uczestnik_imie = forms.CharField(label='Imię', max_length=128)
+ uczestnik_nazwisko = forms.CharField(label='Nazwisko', max_length=128)
+ uczestnik_email = forms.EmailField(label='Adres e-mail', max_length=128)
+ wiek = forms.ChoiceField(label='Kategoria wiekowa', choices=(
('0-11', 'do 11 lat'),
('12-15', '12–15 lat'),
('16-19', '16–19 lat'),
))
- tytul = forms.CharField(label=u'Tytuł opowiadania', max_length=255)
+ tytul = forms.CharField(label='Tytuł opowiadania', max_length=255)
plik = forms.FileField(
- label=u'Plik z opowiadaniem',
- help_text=u'Prosimy o nazwanie pliku imieniem i nazwiskiem autora.')
+ label='Plik z opowiadaniem',
+ help_text='Prosimy o nazwanie pliku imieniem i nazwiskiem autora.')
- agree_header = HeaderField(label=u'Oświadczenia')
+ agree_header = HeaderField(label='Oświadczenia')
agree_terms = forms.BooleanField(
label='Regulamin',
help_text=mark_safe_lazy(
- u'Znam i akceptuję <a href="/media/chunks/attachment/Regulamin_konkursu_Trzy_strony.pdf">'
- u'Regulamin Konkursu</a>.'),
+ 'Znam i akceptuję <a href="/media/chunks/attachment/Regulamin_konkursu_Trzy_strony.pdf">'
+ 'Regulamin Konkursu</a>.'),
)
agree_data = forms.BooleanField(
label='Przetwarzanie danych osobowych',
- help_text=u'Oświadczam, że wyrażam zgodę na przetwarzanie danych osobowych zawartych w niniejszym formularzu '
- u'zgłoszeniowym przez Fundację Nowoczesna Polska (administratora danych) z siedzibą w Warszawie (00-514) '
- u'przy ul. Marszałkowskiej 84/92 lok. 125 na potrzeby organizacji Konkursu. Jednocześnie oświadczam, '
- u'że zostałam/em poinformowana/y o tym, że mam prawo wglądu w treść swoich danych i możliwość ich '
- u'poprawiania oraz że ich podanie jest dobrowolne, ale niezbędne do dokonania zgłoszenia.')
+ help_text='Oświadczam, że wyrażam zgodę na przetwarzanie danych osobowych zawartych w niniejszym formularzu '
+ 'zgłoszeniowym przez Fundację Nowoczesna Polska (administratora danych) z siedzibą w Warszawie (00-514) '
+ 'przy ul. Marszałkowskiej 84/92 lok. 125 na potrzeby organizacji Konkursu. Jednocześnie oświadczam, '
+ 'że zostałam/em poinformowana/y o tym, że mam prawo wglądu w treść swoich danych i możliwość ich '
+ 'poprawiania oraz że ich podanie jest dobrowolne, ale niezbędne do dokonania zgłoszenia.')
agree_license = forms.BooleanField(
label='Licencja',
help_text=mark_safe_lazy(
- u'Wyrażam zgodę oraz potwierdzam, że autor/ka (lub ich przedstawiciele ustawowi – gdy dotyczy) '
- u'wyrazili zgodę na korzystanie z opowiadania zgodnie z postanowieniami wolnej licencji '
- u'<a href="https://creativecommons.org/licenses/by-sa/3.0/pl/">Creative Commons Uznanie autorstwa – '
- u'Na tych samych warunkach 3.0</a>. Licencja pozwala każdemu na swobodne, nieodpłatne korzystanie z utworu '
- u'w oryginale oraz w postaci opracowań do wszelkich celów wymagając poszanowania autorstwa i innych praw '
- u'osobistych oraz tego, aby ewentualne opracowania utworu były także udostępniane na tej samej licencji.'))
+ 'Wyrażam zgodę oraz potwierdzam, że autor/ka (lub ich przedstawiciele ustawowi – gdy dotyczy) '
+ 'wyrazili zgodę na korzystanie z opowiadania zgodnie z postanowieniami wolnej licencji '
+ '<a href="https://creativecommons.org/licenses/by-sa/3.0/pl/">Creative Commons Uznanie autorstwa – '
+ 'Na tych samych warunkach 3.0</a>. Licencja pozwala każdemu na swobodne, nieodpłatne korzystanie z utworu '
+ 'w oryginale oraz w postaci opracowań do wszelkich celów wymagając poszanowania autorstwa i innych praw '
+ 'osobistych oraz tego, aby ewentualne opracowania utworu były także udostępniane na tej samej licencji.'))
agree_wizerunek = forms.BooleanField(
label='Rozpowszechnianie wizerunku',
- help_text=u'Wyrażam zgodę oraz potwierdzam, że autor/ka opowiadania (lub ich przedstawiciele ustawowi – '
- u'gdy dotyczy) wyrazili zgodę na fotografowanie i nagrywanie podczas gali wręczenia nagród i następnie '
- u'rozpowszechnianie ich wizerunków.')
+ help_text='Wyrażam zgodę oraz potwierdzam, że autor/ka opowiadania (lub ich przedstawiciele ustawowi – '
+ 'gdy dotyczy) wyrazili zgodę na fotografowanie i nagrywanie podczas gali wręczenia nagród i następnie '
+ 'rozpowszechnianie ich wizerunków.')
class CoJaCzytamForm(ContactForm):
form_tag = 'cojaczytam'
- form_title = u"#cojaczytam?"
+ form_title = "#cojaczytam?"
admin_list = ['opiekun_nazwisko', 'contact', 'nazwa_kampanii']
# ends_on = (2018, 11, 16)
disabled_template = 'contact/disabled_contact_form.html'
- submit_label = u'Wyślij'
+ submit_label = 'Wyślij'
- opiekun_nazwisko = forms.CharField(label=u'Imię i nazwisko Opiekuna/ki', max_length=128)
- contact = forms.EmailField(label=u'Adres e-mail Opiekuna/ki', max_length=128)
- opiekun_tel = forms.CharField(label=u'Numer telefonu Opiekuna/ki', max_length=32)
- nazwa_dkk = forms.CharField(label=u'Nazwa szkoły/biblioteki publicznej', max_length=128)
- adres_dkk = forms.CharField(label=u'Adres szkoły/biblioteki publicznej', max_length=128)
+ opiekun_nazwisko = forms.CharField(label='Imię i nazwisko Opiekuna/ki', max_length=128)
+ contact = forms.EmailField(label='Adres e-mail Opiekuna/ki', max_length=128)
+ opiekun_tel = forms.CharField(label='Numer telefonu Opiekuna/ki', max_length=32)
+ nazwa_dkk = forms.CharField(label='Nazwa szkoły/biblioteki publicznej', max_length=128)
+ adres_dkk = forms.CharField(label='Adres szkoły/biblioteki publicznej', max_length=128)
- nazwa_kampanii = forms.CharField(label=u'Nazwa kampanii', max_length=255)
+ nazwa_kampanii = forms.CharField(label='Nazwa kampanii', max_length=255)
- wiek = forms.ChoiceField(label=u'Grupa wiekowa', choices=(
- ('9-14', u'uczniowie kl. IV-VIII szkół podstawowych w wieku 9-14 lat,'),
- ('15-19', u'uczniowie gimnazjum oraz wszystkich typów szkół ponadpodstawowych w wieku 15-19.'),
+ wiek = forms.ChoiceField(label='Grupa wiekowa', choices=(
+ ('9-14', 'uczniowie kl. IV-VIII szkół podstawowych w wieku 9-14 lat,'),
+ ('15-19', 'uczniowie gimnazjum oraz wszystkich typów szkół ponadpodstawowych w wieku 15-19.'),
), widget=forms.RadioSelect)
- uczestnik1_header = HeaderField(label=u'Dane\xa0Uczestników (3 do 5)')
- uczestnik1_imie = forms.CharField(label=u'Imię', max_length=128)
- uczestnik1_nazwisko = forms.CharField(label=u'Nazwisko', max_length=128)
- uczestnik1_email = forms.EmailField(label=u'Adres e-mail', max_length=128)
- uczestnik2_header = HeaderField(label=u'')
- uczestnik2_imie = forms.CharField(label=u'Imię', max_length=128)
- uczestnik2_nazwisko = forms.CharField(label=u'Nazwisko', max_length=128)
- uczestnik2_email = forms.EmailField(label=u'Adres e-mail', max_length=128)
- uczestnik3_header = HeaderField(label=u'')
- uczestnik3_imie = forms.CharField(label=u'Imię', max_length=128)
- uczestnik3_nazwisko = forms.CharField(label=u'Nazwisko', max_length=128)
- uczestnik3_email = forms.EmailField(label=u'Adres e-mail', max_length=128)
- uczestnik4_header = HeaderField(label=u'')
- uczestnik4_imie = forms.CharField(label=u'Imię', max_length=128, required=False)
- uczestnik4_nazwisko = forms.CharField(label=u'Nazwisko', max_length=128, required=False)
- uczestnik4_email = forms.EmailField(label=u'Adres e-mail', max_length=128, required=False)
- uczestnik5_header = HeaderField(label=u'')
- uczestnik5_imie = forms.CharField(label=u'Imię', max_length=128, required=False)
- uczestnik5_nazwisko = forms.CharField(label=u'Nazwisko', max_length=128, required=False)
- uczestnik5_email = forms.EmailField(label=u'Adres e-mail', max_length=128, required=False)
-
- ankieta_header = HeaderField(label=u'')
+ uczestnik1_header = HeaderField(label='Dane\xa0Uczestników (3 do 5)')
+ uczestnik1_imie = forms.CharField(label='Imię', max_length=128)
+ uczestnik1_nazwisko = forms.CharField(label='Nazwisko', max_length=128)
+ uczestnik1_email = forms.EmailField(label='Adres e-mail', max_length=128)
+ uczestnik2_header = HeaderField(label='')
+ uczestnik2_imie = forms.CharField(label='Imię', max_length=128)
+ uczestnik2_nazwisko = forms.CharField(label='Nazwisko', max_length=128)
+ uczestnik2_email = forms.EmailField(label='Adres e-mail', max_length=128)
+ uczestnik3_header = HeaderField(label='')
+ uczestnik3_imie = forms.CharField(label='Imię', max_length=128)
+ uczestnik3_nazwisko = forms.CharField(label='Nazwisko', max_length=128)
+ uczestnik3_email = forms.EmailField(label='Adres e-mail', max_length=128)
+ uczestnik4_header = HeaderField(label='')
+ uczestnik4_imie = forms.CharField(label='Imię', max_length=128, required=False)
+ uczestnik4_nazwisko = forms.CharField(label='Nazwisko', max_length=128, required=False)
+ uczestnik4_email = forms.EmailField(label='Adres e-mail', max_length=128, required=False)
+ uczestnik5_header = HeaderField(label='')
+ uczestnik5_imie = forms.CharField(label='Imię', max_length=128, required=False)
+ uczestnik5_nazwisko = forms.CharField(label='Nazwisko', max_length=128, required=False)
+ uczestnik5_email = forms.EmailField(label='Adres e-mail', max_length=128, required=False)
+
+ ankieta_header = HeaderField(label='')
opis_kampanii = forms.CharField(
- label=u'Krótki opis realizacji oraz przebiegu kampanii', max_length=255, widget=forms.Textarea)
- co_sie_udalo = forms.CharField(label=u'Co udało Wam się zrealizować?', max_length=1024, widget=forms.Textarea)
+ label='Krótki opis realizacji oraz przebiegu kampanii', max_length=255, widget=forms.Textarea)
+ co_sie_udalo = forms.CharField(label='Co udało Wam się zrealizować?', max_length=1024, widget=forms.Textarea)
co_sie_nie_udalo = forms.CharField(
- label=u'Czy jest coś, co chcieliście zrealizować, a się nie udało? Jeśli tak, to dlaczego?', max_length=1024,
+ label='Czy jest coś, co chcieliście zrealizować, a się nie udało? Jeśli tak, to dlaczego?', max_length=1024,
widget=forms.Textarea)
wnioski = forms.CharField(
- label=u'Jakie wnioski na przyszłość wyciągnęliście z tego, czego się nie udało zrealizować?', max_length=1024,
+ label='Jakie wnioski na przyszłość wyciągnęliście z tego, czego się nie udało zrealizować?', max_length=1024,
widget=forms.Textarea)
zasieg = forms.CharField(
- label=u'Do ilu odbiorców udało Wam się dotrzeć z Waszą kompanią? Podaj liczbę, może być szacunkowa.',
+ label='Do ilu odbiorców udało Wam się dotrzeć z Waszą kompanią? Podaj liczbę, może być szacunkowa.',
max_length=1024, widget=forms.Textarea)
grupy_odbiorcow = forms.CharField(
- label=u'Do jakich grup odbiorców dotarliście (np. uczniowie, nauczyciele, rodzice, seniorzy, inni)?',
+ label='Do jakich grup odbiorców dotarliście (np. uczniowie, nauczyciele, rodzice, seniorzy, inni)?',
max_length=1024, widget=forms.Textarea)
plik = forms.FileField(
- label=u'Plik .zip ze stworzonymi materiałami (np. zdjęcia, dokumenty tekstowe)')
+ label='Plik .zip ze stworzonymi materiałami (np. zdjęcia, dokumenty tekstowe)')
materialy = forms.CharField(
- label=u'Adresy stworzonych materiałów online (jeśli dotyczy)', max_length=1024, widget=forms.Textarea,
+ label='Adresy stworzonych materiałów online (jeśli dotyczy)', max_length=1024, widget=forms.Textarea,
required=False)
- agree_header = HeaderField(label=u'Oświadczenia')
+ agree_header = HeaderField(label='Oświadczenia')
agree_terms = forms.BooleanField(
label='Regulamin',
help_text=mark_safe_lazy(
- u'Znam i akceptuję <a href="/media/chunks/attachment/Regulamin_konkursu_cojaczytam_edycja_2018.pdf">'
- u'Regulamin Konkursu</a>.'),
+ 'Znam i akceptuję <a href="/media/chunks/attachment/Regulamin_konkursu_cojaczytam_edycja_2018.pdf">'
+ 'Regulamin Konkursu</a>.'),
)
agree_data = forms.BooleanField(
label='Przetwarzanie danych osobowych',
- help_text=u'Oświadczam, że wyrażam zgodę na przetwarzanie danych osobowych zawartych w niniejszym formularzu '
- u'zgłoszeniowym przez Fundację Nowoczesna Polska (administratora danych) z siedzibą w Warszawie (00-514) '
- u'przy ul. Marszałkowskiej 84/92 lok. 125 na potrzeby organizacji Konkursu. Jednocześnie oświadczam, '
- u'że zostałam/em poinformowana/y o tym, że mam prawo wglądu w treść swoich danych i możliwość ich '
- u'poprawiania oraz że ich podanie jest dobrowolne, ale niezbędne do dokonania zgłoszenia.')
+ help_text='Oświadczam, że wyrażam zgodę na przetwarzanie danych osobowych zawartych w niniejszym formularzu '
+ 'zgłoszeniowym przez Fundację Nowoczesna Polska (administratora danych) z siedzibą w Warszawie (00-514) '
+ 'przy ul. Marszałkowskiej 84/92 lok. 125 na potrzeby organizacji Konkursu. Jednocześnie oświadczam, '
+ 'że zostałam/em poinformowana/y o tym, że mam prawo wglądu w treść swoich danych i możliwość ich '
+ 'poprawiania oraz że ich podanie jest dobrowolne, ale niezbędne do dokonania zgłoszenia.')
agree_license = forms.BooleanField(
label='Licencja',
help_text=mark_safe_lazy(
- u'Wyrażam zgodę oraz potwierdzam, że uczestnicy (lub ich przedstawiciele ustawowi – gdy dotyczy) '
- u'wyrazili zgodę na korzystanie ze stworzonych materiałów zgodnie z postanowieniami '
- u'<a href="http://freedomdefined.org/Definition/Pl">wolnej licencji</a>, takiej jak '
- u'<a href="https://creativecommons.org/licenses/by-sa/3.0/pl/">Creative Commons Uznanie autorstwa – '
- u'Na tych samych warunkach 3.0 PL</a>. Licencja pozwala każdemu na swobodne, nieodpłatne korzystanie '
- u'z utworu '
- u'w oryginale oraz w postaci opracowań do wszelkich celów wymagając poszanowania autorstwa i innych praw '
- u'osobistych oraz tego, aby ewentualne opracowania utworu były także udostępniane na tej samej licencji.'))
+ 'Wyrażam zgodę oraz potwierdzam, że uczestnicy (lub ich przedstawiciele ustawowi – gdy dotyczy) '
+ 'wyrazili zgodę na korzystanie ze stworzonych materiałów zgodnie z postanowieniami '
+ '<a href="http://freedomdefined.org/Definition/Pl">wolnej licencji</a>, takiej jak '
+ '<a href="https://creativecommons.org/licenses/by-sa/3.0/pl/">Creative Commons Uznanie autorstwa – '
+ 'Na tych samych warunkach 3.0 PL</a>. Licencja pozwala każdemu na swobodne, nieodpłatne korzystanie '
+ 'z utworu '
+ 'w oryginale oraz w postaci opracowań do wszelkich celów wymagając poszanowania autorstwa i innych praw '
+ 'osobistych oraz tego, aby ewentualne opracowania utworu były także udostępniane na tej samej licencji.'))
agree_wizerunek = forms.BooleanField(
label='Rozpowszechnianie wizerunku',
- help_text=u'Wyrażam zgodę oraz potwierdzam, że uczestnicy (lub ich przedstawiciele ustawowi – gdy dotyczy) '
- u'wyrazili zgodę na fotografowanie oraz nagrywanie, a następnie rozpowszechnianie ich '
- u'wizerunków w celach promocyjnych.')
+ help_text='Wyrażam zgodę oraz potwierdzam, że uczestnicy (lub ich przedstawiciele ustawowi – gdy dotyczy) '
+ 'wyrazili zgodę na fotografowanie oraz nagrywanie, a następnie rozpowszechnianie ich '
+ 'wizerunków w celach promocyjnych.')
class WorkshopsForm(ContactForm):
form_tag = 'warsztaty'
- form_title = u"Wolne Lektury Fest"
- nazwisko = forms.CharField(label=u'Imię i nazwisko uczestnika', max_length=128)
- instytucja = forms.CharField(label=u'Instytucja/organizacja', max_length=128, required=False)
- contact = forms.EmailField(label=u'Adres e-mail', max_length=128)
- tel = forms.CharField(label=u'Numer telefonu', max_length=32)
+ form_title = "Wolne Lektury Fest"
+ nazwisko = forms.CharField(label='Imię i nazwisko uczestnika', max_length=128)
+ instytucja = forms.CharField(label='Instytucja/organizacja', max_length=128, required=False)
+ contact = forms.EmailField(label='Adres e-mail', max_length=128)
+ tel = forms.CharField(label='Numer telefonu', max_length=32)
warsztat = forms.ChoiceField(choices=(
- ('skad-i-jak', u'Skąd i jak bezpiecznie korzystać z darmowych i wolnych wideo i zdjęć w sieci? '
- u'Jak wykorzystać wolne licencje by zwiększyć zasięg Twoich publikacji?'),
- ('jak-badac', u'Jak badać wykorzystanie zbiorów domeny publicznej?'),
- ('kultura', u'Kultura dostępna dla wszystkich')),
+ ('skad-i-jak', 'Skąd i jak bezpiecznie korzystać z darmowych i wolnych wideo i zdjęć w sieci? '
+ 'Jak wykorzystać wolne licencje by zwiększyć zasięg Twoich publikacji?'),
+ ('jak-badac', 'Jak badać wykorzystanie zbiorów domeny publicznej?'),
+ ('kultura', 'Kultura dostępna dla wszystkich')),
widget=forms.RadioSelect,
)
- agree_header = HeaderField(label=mark_safe_lazy(u'<strong>Oświadczenia</strong>'))
+ agree_header = HeaderField(label=mark_safe_lazy('<strong>Oświadczenia</strong>'))
agree_data = forms.BooleanField(
label='Przetwarzanie danych osobowych',
- help_text=u'Oświadczam, że wyrażam zgodę na przetwarzanie danych osobowych zawartych w niniejszym formularzu '
- u'zgłoszeniowym przez Fundację Nowoczesna Polska (administratora danych) z siedzibą w Warszawie (00-514) '
- u'przy ul. Marszałkowskiej 84/92 lok. 125 na potrzeby organizacji warsztatów w ramach wydarzenia '
- u'„WOLNE LEKTURY FEST”. Jednocześnie oświadczam, że zostałam/em poinformowana/y o tym, że mam prawo '
- u'wglądu w treść swoich danych i możliwość ich poprawiania oraz że ich podanie jest dobrowolne, '
- u'ale niezbędne do dokonania zgłoszenia.')
+ help_text='Oświadczam, że wyrażam zgodę na przetwarzanie danych osobowych zawartych w niniejszym formularzu '
+ 'zgłoszeniowym przez Fundację Nowoczesna Polska (administratora danych) z siedzibą w Warszawie (00-514) '
+ 'przy ul. Marszałkowskiej 84/92 lok. 125 na potrzeby organizacji warsztatów w ramach wydarzenia '
+ '„WOLNE LEKTURY FEST”. Jednocześnie oświadczam, że zostałam/em poinformowana/y o tym, że mam prawo '
+ 'wglądu w treść swoich danych i możliwość ich poprawiania oraz że ich podanie jest dobrowolne, '
+ 'ale niezbędne do dokonania zgłoszenia.')
agree_wizerunek = forms.BooleanField(
label='Rozpowszechnianie wizerunku',
- help_text=u'Wyrażam zgodę na fotografowanie i nagrywanie podczas warsztatów „WOLNE LEKTURY FEST” '
- u'24.11.2017 roku i następnie rozpowszechnianie mojego wizerunku w celach promocyjnych.')
+ help_text='Wyrażam zgodę na fotografowanie i nagrywanie podczas warsztatów „WOLNE LEKTURY FEST” '
+ '24.11.2017 roku i następnie rozpowszechnianie mojego wizerunku w celach promocyjnych.')
agree_gala = forms.BooleanField(
- label=u'Wezmę udział w uroczystej gali o godz. 19.00.', required=False)
+ label='Wezmę udział w uroczystej gali o godz. 19.00.', required=False)
class WLFest2018Form(ContactForm):
form_tag = 'wlfest2018'
- form_title = u"Wolne Lektury Fest"
- nazwisko = forms.CharField(label=u'Imię i nazwisko uczestnika', max_length=128)
- instytucja = forms.CharField(label=u'Instytucja/organizacja', max_length=128, required=False)
- contact = forms.EmailField(label=u'Adres e-mail', max_length=128)
- tel = forms.CharField(label=u'Numer telefonu', max_length=32)
+ form_title = "Wolne Lektury Fest"
+ nazwisko = forms.CharField(label='Imię i nazwisko uczestnika', max_length=128)
+ instytucja = forms.CharField(label='Instytucja/organizacja', max_length=128, required=False)
+ contact = forms.EmailField(label='Adres e-mail', max_length=128)
+ tel = forms.CharField(label='Numer telefonu', max_length=32)
warsztaty = forms.MultipleChoiceField(choices=(
- ('kim-sa-odbiorcy', u'Kim są odbiorcy zdigitalizowanych zasobów kultury w Polsce? (9:30-11:30)'),
- ('business-model-canvas', u'Business Model Canvas dla kultury (9:30-11:30)'),
- ('jak-byc-glam', u'Jak być GLAM? Współpraca pomiędzy instytucjami kultury a Wikipedią (12:00-14:00)'),
- ('wirtualne-muzea', u'Jak twórczo i zgodnie z prawem wykorzystywać zasoby dziedzictwa kulturowego '
- u'na przykładzie portalu „Wirtualne Muzea Małopolski” (12:00-14:00)'),
- ('jak-legalnie-tworzyc', u'Jak legalnie tworzyć i korzystać z cudzej twórczości (15:00-17:00)'),
- ('aplikacje-w-dzialaniach', u'Aplikacje w działaniach kulturalnych (15:00-17:00)')),
+ ('kim-sa-odbiorcy', 'Kim są odbiorcy zdigitalizowanych zasobów kultury w Polsce? (9:30-11:30)'),
+ ('business-model-canvas', 'Business Model Canvas dla kultury (9:30-11:30)'),
+ ('jak-byc-glam', 'Jak być GLAM? Współpraca pomiędzy instytucjami kultury a Wikipedią (12:00-14:00)'),
+ ('wirtualne-muzea', 'Jak twórczo i zgodnie z prawem wykorzystywać zasoby dziedzictwa kulturowego '
+ 'na przykładzie portalu „Wirtualne Muzea Małopolski” (12:00-14:00)'),
+ ('jak-legalnie-tworzyc', 'Jak legalnie tworzyć i korzystać z cudzej twórczości (15:00-17:00)'),
+ ('aplikacje-w-dzialaniach', 'Aplikacje w działaniach kulturalnych (15:00-17:00)')),
widget=forms.CheckboxSelectMultiple,
)
- agree_header = HeaderField(label=mark_safe_lazy(u'<strong>Oświadczenia</strong>'))
+ agree_header = HeaderField(label=mark_safe_lazy('<strong>Oświadczenia</strong>'))
agree_data = forms.BooleanField(
label='Przetwarzanie danych osobowych',
- help_text=u'Administratorem danych osobowych przetwarzanych w związku z organizacją wydarzenia '
- u'„WOLNE LEKTURY FEST” jest Fundacja Nowoczesna Polska '
- u'(ul. Marszałkowska 84/92 lok. 125, 00-514 Warszawa). Podanie danych osobowych jest konieczne '
- u'do dokonania rejestracji na wydarzenie. Dane są przetwarzane w zakresie niezbędnym '
- u'do przeprowadzenia wydarzenia, a także w celach prowadzenia statystyk, '
- u'ewaluacji i sprawozdawczości. Osobom, których dane są zbierane, przysługuje prawo dostępu '
- u'do treści swoich danych oraz ich poprawiania. Więcej informacji w polityce prywatności '
- u'(https://nowoczesnapolska.org.pl/prywatnosc/).')
+ help_text='Administratorem danych osobowych przetwarzanych w związku z organizacją wydarzenia '
+ '„WOLNE LEKTURY FEST” jest Fundacja Nowoczesna Polska '
+ '(ul. Marszałkowska 84/92 lok. 125, 00-514 Warszawa). Podanie danych osobowych jest konieczne '
+ 'do dokonania rejestracji na wydarzenie. Dane są przetwarzane w zakresie niezbędnym '
+ 'do przeprowadzenia wydarzenia, a także w celach prowadzenia statystyk, '
+ 'ewaluacji i sprawozdawczości. Osobom, których dane są zbierane, przysługuje prawo dostępu '
+ 'do treści swoich danych oraz ich poprawiania. Więcej informacji w polityce prywatności '
+ '(https://nowoczesnapolska.org.pl/prywatnosc/).')
agree_wizerunek = forms.BooleanField(
label='Rozpowszechnianie wizerunku',
- help_text=u'Wyrażam zgodę na fotografowanie i nagrywanie podczas warsztatów „WOLNE LEKTURY FEST” '
- u'28.11.2018 roku i następnie rozpowszechnianie mojego wizerunku w celach promocyjnych.')
+ help_text='Wyrażam zgodę na fotografowanie i nagrywanie podczas warsztatów „WOLNE LEKTURY FEST” '
+ '28.11.2018 roku i następnie rozpowszechnianie mojego wizerunku w celach promocyjnych.')
agree_gala = forms.BooleanField(
- label=u'Wezmę udział w spotkaniu z Julią Fiedorczuk o godz. 17:30.', required=False)
+ label='Wezmę udział w spotkaniu z Julią Fiedorczuk o godz. 17:30.', required=False)
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from allauth.socialaccount.forms import SignupForm
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
# has to be this order, because otherwise the form is lacking fields
class RegistrationForm(UserCreationForm, NewsletterForm):
- data_processing_part2 = u'''\
+ data_processing_part2 = '''\
Dane są przetwarzane w zakresie niezbędnym do prowadzenia serwisu, a także w celach prowadzenia statystyk, \
ewaluacji i sprawozdawczości. W przypadku wyrażenia dodatkowej zgody adres e-mail zostanie wykorzystany \
także w celu przesyłania newslettera Wolnych Lektur.'''
class SocialSignupForm(NewsletterForm, SignupForm):
- data_processing_part2 = u'''\
+ data_processing_part2 = '''\
Dane są przetwarzane w zakresie niezbędnym do prowadzenia serwisu, a także w celach prowadzenia statystyk, \
ewaluacji i sprawozdawczości. W przypadku wyrażenia dodatkowej zgody adres e-mail zostanie wykorzystany \
także w celu przesyłania newslettera Wolnych Lektur.'''
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import models, migrations
import django.db.models.deletion
import getpaid.abstract_mixin
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.db import migrations, models
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
# Django settings for wolnelektury project.
from .apps import *
from .basic import *
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
return s
LANGUAGES = tuple(sorted([
- ('pl', u'polski'),
- ('de', u'Deutsch'),
- ('en', u'English'),
- ('lt', u'lietuvių'),
- ('fr', u'français'),
- ('ru', u'русский'),
- ('es', u'español'),
- ('uk', u'українська'),
- # ('jp', u'日本語'),
- ('it', u'italiano'),
+ ('pl', 'polski'),
+ ('de', 'Deutsch'),
+ ('en', 'English'),
+ ('lt', 'lietuvių'),
+ ('fr', 'français'),
+ ('ru', 'русский'),
+ ('es', 'español'),
+ ('uk', 'українська'),
+ # ('jp', '日本語'),
+ ('it', 'italiano'),
], key=lambda x: x[0]))
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from wolnelektury.settings import *
THUMBNAIL_BACKEND = 'wolnelektury.test_utils.DummyThumbnailBackend'
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from datetime import date
from django.conf import settings
from django.template import Library
-# -*- coding: utf-8 -*-
# Source: http://djangosnippets.org/snippets/967/
# Author: adurdin
# Posted: August 13, 2008
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
class DummyThumbnailBackend:
class DummyThumbnail:
def __init__(self, url):
def send_noreply_mail(subject, message, recipient_list, **kwargs):
send_mail(
- u'[WolneLektury] ' + subject,
- message + u"\n\n-- \n" + ugettext(u'Message sent automatically. Please do not reply.'),
+ '[WolneLektury] ' + subject,
+ message + "\n\n-- \n" + ugettext('Message sent automatically. Please do not reply.'),
'no-reply@wolnelektury.pl', recipient_list, **kwargs)
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "wolnelektury.settings")