From: Radek Czajka <radekczajka@nowoczesnapolska.org.pl>
Date: Wed, 12 Feb 2014 10:09:26 +0000 (+0100)
Subject: Cleaning: timezone issues, deprecated urls.py imports, missing notes.
X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/99f6dd4f1ff0390de9a9bbd4e3352b953cb9a235?hp=da000570285d53adef7dd9d799ee49398e0e370b

Cleaning: timezone issues, deprecated urls.py imports, missing notes.
---

diff --git a/apps/ajaxable/__init__.py b/apps/ajaxable/__init__.py
index a0105436b..ffa37881b 100644
--- a/apps/ajaxable/__init__.py
+++ b/apps/ajaxable/__init__.py
@@ -1,3 +1,7 @@
+# -*- 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.
+#
 """
 Provides a way to create forms behaving correctly as AJAX forms
 as well as standalone forms without any Javascript.
diff --git a/apps/ajaxable/templatetags/ajaxable_tags.py b/apps/ajaxable/templatetags/ajaxable_tags.py
index 229047891..351e9f13d 100644
--- a/apps/ajaxable/templatetags/ajaxable_tags.py
+++ b/apps/ajaxable/templatetags/ajaxable_tags.py
@@ -1,3 +1,7 @@
+# -*- 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 import template
 from ajaxable.utils import placeholdized
 register = template.Library()
diff --git a/apps/ajaxable/utils.py b/apps/ajaxable/utils.py
index 2f03309f1..0c8fcd4ec 100755
--- a/apps/ajaxable/utils.py
+++ b/apps/ajaxable/utils.py
@@ -1,3 +1,7 @@
+# -*- 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 functools import wraps
 
 from django.http import (HttpResponse, HttpResponseRedirect,
diff --git a/apps/api/handlers.py b/apps/api/handlers.py
index b436024b1..c118d95df 100644
--- a/apps/api/handlers.py
+++ b/apps/api/handlers.py
@@ -1,7 +1,7 @@
 # -*- 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 datetime, timedelta
 import json
 from urlparse import urljoin
@@ -10,6 +10,7 @@ from django.conf import settings
 from django.contrib.sites.models import Site
 from django.core.cache import get_cache
 from django.core.urlresolvers import reverse
+from django.utils.timezone import utc
 from piston.handler import AnonymousBaseHandler, BaseHandler
 from piston.utils import rc
 from sorl.thumbnail import default
@@ -21,6 +22,7 @@ from catalogue.models import Book, Tag, BookMedia, Fragment, Collection
 from catalogue.utils import related_tag_name
 from picture.models import Picture
 from picture.forms import PictureImportForm
+from wolnelektury.utils import tz
 
 from stats.utils import piwik_track
 
@@ -466,7 +468,7 @@ class CatalogueHandler(BaseHandler):
         """
         # set to five minutes ago, to avoid concurrency issues
         if t is None:
-            t = datetime.now() - timedelta(seconds=settings.API_WAIT)
+            t = datetime.utcnow().replace(tzinfo=utc) - timedelta(seconds=settings.API_WAIT)
         # set to whole second in case DB supports something smaller
         return t.replace(microsecond=0)
 
@@ -537,7 +539,7 @@ class CatalogueHandler(BaseHandler):
 
     @classmethod
     def book_changes(cls, request=None, since=0, until=None, fields=None):
-        since = datetime.fromtimestamp(int(since))
+        since = datetime.fromtimestamp(int(since), tz)
         until = cls.until(until)
 
         changes = {
@@ -603,7 +605,7 @@ class CatalogueHandler(BaseHandler):
 
     @classmethod
     def tag_changes(cls, request=None, since=0, until=None, fields=None, categories=None):
-        since = datetime.fromtimestamp(int(since))
+        since = datetime.fromtimestamp(int(since), tz)
         until = cls.until(until)
 
         changes = {
diff --git a/apps/api/helpers.py b/apps/api/helpers.py
index acb491afc..62578e7c3 100644
--- a/apps/api/helpers.py
+++ b/apps/api/helpers.py
@@ -1,5 +1,7 @@
 # -*- 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 time import mktime
 from piston.resource import Resource
 
diff --git a/apps/api/settings.py b/apps/api/settings.py
index 2e02e412a..0802c5453 100644
--- a/apps/api/settings.py
+++ b/apps/api/settings.py
@@ -1,3 +1,7 @@
+# -*- 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
 
diff --git a/apps/api/tests.py b/apps/api/tests.py
index 518a3e2c0..b72af1b22 100644
--- a/apps/api/tests.py
+++ b/apps/api/tests.py
@@ -1,5 +1,7 @@
 # -*- 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 os import path
 
 from django.core.files.uploadedfile import SimpleUploadedFile
diff --git a/apps/api/urls.py b/apps/api/urls.py
index a2e3197ef..0267ba097 100644
--- a/apps/api/urls.py
+++ b/apps/api/urls.py
@@ -1,5 +1,8 @@
 # -*- coding: utf-8 -*-
-from django.conf.urls.defaults import *
+# 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 patterns, url
 from django.views.decorators.csrf import csrf_exempt
 from django.views.generic import TemplateView
 from piston.authentication import OAuthAuthentication, oauth_access_token 
diff --git a/apps/catalogue/tests/__init__.py b/apps/catalogue/tests/__init__.py
index 17a05b47c..9c7a77c76 100644
--- a/apps/catalogue/tests/__init__.py
+++ b/apps/catalogue/tests/__init__.py
@@ -1,3 +1,7 @@
+# -*- 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 catalogue.tests.book_import import *
 from catalogue.tests.bookmedia import *
 from catalogue.tests.cover import *
diff --git a/apps/catalogue/tests/book_import.py b/apps/catalogue/tests/book_import.py
index 76061d05a..0d4f47041 100644
--- a/apps/catalogue/tests/book_import.py
+++ b/apps/catalogue/tests/book_import.py
@@ -1,4 +1,7 @@
 # -*- 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 import settings
 
 from django.core.files.base import ContentFile, File
diff --git a/apps/catalogue/tests/bookmedia.py b/apps/catalogue/tests/bookmedia.py
index da427e8b5..0c015f209 100644
--- a/apps/catalogue/tests/bookmedia.py
+++ b/apps/catalogue/tests/bookmedia.py
@@ -1,4 +1,7 @@
 # -*- 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 import settings
 from os.path import basename, exists, join, dirname
 from django.core.files.base import ContentFile, File
diff --git a/apps/catalogue/tests/cover.py b/apps/catalogue/tests/cover.py
index 765c56b07..b73b387d4 100755
--- a/apps/catalogue/tests/cover.py
+++ b/apps/catalogue/tests/cover.py
@@ -1,4 +1,7 @@
 # -*- 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.files.base import ContentFile
 from catalogue.test_utils import BookInfoStub, PersonStub, info_args, WLTestCase
 from catalogue.models import Book
diff --git a/apps/catalogue/tests/search.py b/apps/catalogue/tests/search.py
index 93bec870e..77afae4c3 100644
--- a/apps/catalogue/tests/search.py
+++ b/apps/catalogue/tests/search.py
@@ -1,4 +1,7 @@
 # -*- 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 catalogue import models, views
 from catalogue.test_utils import *
 
diff --git a/apps/catalogue/tests/tags.py b/apps/catalogue/tests/tags.py
index c3d50e284..503b98bbc 100644
--- a/apps/catalogue/tests/tags.py
+++ b/apps/catalogue/tests/tags.py
@@ -1,4 +1,7 @@
 # -*- 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.files.base import ContentFile
 from django.test import Client
 from catalogue import models
diff --git a/apps/catalogue/tests/templatetags.py b/apps/catalogue/tests/templatetags.py
index 7a2ac36b9..a66d604de 100644
--- a/apps/catalogue/tests/templatetags.py
+++ b/apps/catalogue/tests/templatetags.py
@@ -1,4 +1,7 @@
 # -*- 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 catalogue import models
 from catalogue.templatetags import catalogue_tags
 from catalogue.test_utils import *
diff --git a/apps/catalogue/urls.py b/apps/catalogue/urls.py
index 53928589d..7b1fb3d50 100644
--- a/apps/catalogue/urls.py
+++ b/apps/catalogue/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 from django.db.models import Max
 from django.views.generic import ListView, RedirectView
 from catalogue.feeds import AudiobookFeed
diff --git a/apps/dictionary/urls.py b/apps/dictionary/urls.py
index 1a33af966..63e4bbd06 100755
--- a/apps/dictionary/urls.py
+++ b/apps/dictionary/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 from dictionary.views import NotesView
 
 urlpatterns = patterns('dictionary.views',
diff --git a/apps/funding/models.py b/apps/funding/models.py
index ba1494753..1eff8b4c6 100644
--- a/apps/funding/models.py
+++ b/apps/funding/models.py
@@ -9,6 +9,7 @@ from django.core.mail import send_mail
 from django.conf import settings
 from django.template.loader import render_to_string
 from django.db import models
+from django.utils.timezone import utc
 from django.utils.translation import ugettext_lazy as _, ugettext, override
 import getpaid
 from catalogue.models import Book
@@ -148,7 +149,7 @@ class Offer(models.Model):
                 'remaining': self.remaining(),
                 'current': self.current(),
             })
-        self.notified_end = datetime.now()
+        self.notified_end = datetime.utcnow().replace(tzinfo=utc)
         self.save()
 
     def notify_near(self, force=False):
@@ -165,7 +166,7 @@ class Offer(models.Model):
                 'sum': sum_,
                 'need': need,
             })
-        self.notified_near = datetime.now()
+        self.notified_near = datetime.utcnow().replace(tzinfo=utc)
         self.save()
 
     def notify_published(self):
@@ -273,7 +274,7 @@ class Funding(models.Model):
         with override(self.language_code or app_settings.DEFAULT_LANGUAGE):
             send_mail(subject,
                 render_to_string(template_name, context),
-                getattr(settings, 'CONTACT_EMAIL', 'wolnelektury@nowoczesnapolska.org.pl'),
+                settings.CONTACT_EMAIL,
                 [self.email],
                 fail_silently=False
             )
@@ -317,7 +318,7 @@ getpaid.signals.user_data_query.connect(user_data_query_listener)
 def payment_status_changed_listener(sender, instance, old_status, new_status, **kwargs):
     """ React to status changes from getpaid. """
     if old_status != 'paid' and new_status == 'paid':
-        instance.order.payed_at = datetime.now()
+        instance.order.payed_at = datetime.utcnow().replace(tzinfo=utc)
         instance.order.save()
         if instance.order.email:
             instance.order.notify(
diff --git a/apps/funding/templatetags/funding_tags.py b/apps/funding/templatetags/funding_tags.py
index f59a79619..0d6064f70 100755
--- a/apps/funding/templatetags/funding_tags.py
+++ b/apps/funding/templatetags/funding_tags.py
@@ -1,3 +1,7 @@
+# -*- 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 import template
 from ..models import Offer
 from ..utils import sanitize_payment_title
diff --git a/apps/funding/utils.py b/apps/funding/utils.py
index 2b5f58f4d..ff6e9f4a1 100644
--- a/apps/funding/utils.py
+++ b/apps/funding/utils.py
@@ -1,4 +1,7 @@
-# -*- coding: utf-8
+# -*- 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 re
 import string
 from fnpdjango.utils.text.slughifi import char_map
diff --git a/apps/infopages/admin.py b/apps/infopages/admin.py
index e5bc93cc6..14a06afa9 100644
--- a/apps/infopages/admin.py
+++ b/apps/infopages/admin.py
@@ -1,3 +1,7 @@
+# -*- 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.contrib import admin
 
 from modeltranslation.admin import TranslationAdmin
@@ -6,4 +10,4 @@ from infopages.models import InfoPage
 class InfoPageAdmin(TranslationAdmin):
     list_display = ('title', 'slug', 'main_page')
 
-admin.site.register(InfoPage, InfoPageAdmin)
\ No newline at end of file
+admin.site.register(InfoPage, InfoPageAdmin)
diff --git a/apps/infopages/urls.py b/apps/infopages/urls.py
index 081e0ef39..206f7cbf9 100755
--- a/apps/infopages/urls.py
+++ b/apps/infopages/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 
 
 urlpatterns = patterns('infopages.views',
diff --git a/apps/lesmianator/__init__.py b/apps/lesmianator/__init__.py
index 0932a1c6e..f3aa78cd8 100644
--- a/apps/lesmianator/__init__.py
+++ b/apps/lesmianator/__init__.py
@@ -1,4 +1,8 @@
 # -*- 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.
+#
+
 # Leśmianator do działania wymaga pliku dictionary.p w katalogu aplikacji
 # plik ten powinien zawierać słownik postaci:
 # <3-znakowy ciąg> => <kolejny znak> => <częstość występowania> 
diff --git a/apps/lesmianator/models.py b/apps/lesmianator/models.py
index 7fceda2fe..b462dcaa1 100644
--- a/apps/lesmianator/models.py
+++ b/apps/lesmianator/models.py
@@ -10,6 +10,7 @@ from StringIO import StringIO
 from django.core.files.base import ContentFile
 from django.db import models
 from django.db.models import permalink
+from django.utils.timezone import utc
 from django.utils.translation import ugettext_lazy as _
 from django.core.urlresolvers import reverse
 from django.db.models.signals import m2m_changed
@@ -40,7 +41,7 @@ class Poem(models.Model):
 
     def visit(self):
         self.view_count += 1
-        self.seen_at = datetime.now()
+        self.seen_at = datetime.utcnow().replace(tzinfo=utc)
         self.save()
 
     def __unicode__(self):
diff --git a/apps/lesmianator/urls.py b/apps/lesmianator/urls.py
index de48644f1..1770140b9 100644
--- a/apps/lesmianator/urls.py
+++ b/apps/lesmianator/urls.py
@@ -2,8 +2,7 @@
 # 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.defaults import *
-from catalogue.models import Book
+from django.conf.urls import url, patterns
 
 urlpatterns = patterns('lesmianator.views',
     url(r'^$', 'main_page', name='lesmianator'),
diff --git a/apps/lesmianator/views.py b/apps/lesmianator/views.py
index 7b289b7b6..e74d21fea 100644
--- a/apps/lesmianator/views.py
+++ b/apps/lesmianator/views.py
@@ -1,5 +1,7 @@
-# Create your views 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.http import Http404
 from django.shortcuts import render_to_response, get_object_or_404
 from django.template import RequestContext
diff --git a/apps/libraries/admin.py b/apps/libraries/admin.py
index 5fa88df54..5629e93a0 100644
--- a/apps/libraries/admin.py
+++ b/apps/libraries/admin.py
@@ -1,3 +1,7 @@
+# -*- 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.contrib import admin
 
 from libraries.models import Library, Catalog
diff --git a/apps/libraries/models.py b/apps/libraries/models.py
index 5f92421fc..96473eb03 100644
--- a/apps/libraries/models.py
+++ b/apps/libraries/models.py
@@ -1,3 +1,7 @@
+# -*- 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.db import models
 from django.utils.translation import ugettext_lazy as _
 
@@ -38,4 +42,4 @@ class Library(models.Model):
 
     @models.permalink
     def get_absolute_url(self):
-        return ('libraries_library_view', [self.catalog.slug, self.slug])
\ No newline at end of file
+        return ('libraries_library_view', [self.catalog.slug, self.slug])
diff --git a/apps/libraries/urls.py b/apps/libraries/urls.py
index 01531a9ed..93d605d2b 100644
--- a/apps/libraries/urls.py
+++ b/apps/libraries/urls.py
@@ -1,4 +1,8 @@
-from django.conf.urls.defaults import patterns, 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.
+#
+from django.conf.urls import patterns, url
 from django.http import HttpResponseRedirect
 
 
@@ -7,4 +11,4 @@ urlpatterns = patterns('libraries.views',
     url(r'^/$', lambda x: HttpResponseRedirect(x.path[:-1])),
     url(r'^/(?P<slug>[a-zA-Z0-9_-]+)$', 'catalog_view', name='libraries_catalog_view'),
     url(r'^/(?P<catalog_slug>[a-zA-Z0-9_-]+)/(?P<slug>[a-zA-Z0-9_-]+)$', 'library_view', name='libraries_library_view'),
-)
\ No newline at end of file
+)
diff --git a/apps/libraries/views.py b/apps/libraries/views.py
index f79f2a1ea..83ab6b14e 100644
--- a/apps/libraries/views.py
+++ b/apps/libraries/views.py
@@ -1,3 +1,7 @@
+# -*- 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.shortcuts import render_to_response, get_object_or_404
 from django.template import RequestContext, Template, TemplateSyntaxError
 
@@ -17,4 +21,4 @@ def catalog_view(request, slug):
 def library_view(request, catalog_slug, slug):
     context = RequestContext(request)
     context['library'] = get_object_or_404(Library.objects.filter(slug = slug).filter(catalog__slug = catalog_slug))
-    return render_to_response('libraries/library_view.html', context_instance = context)
\ No newline at end of file
+    return render_to_response('libraries/library_view.html', context_instance = context)
diff --git a/apps/modeltranslation/testurls.py b/apps/modeltranslation/testurls.py
index 8cb4d86d2..a789ee3b9 100644
--- a/apps/modeltranslation/testurls.py
+++ b/apps/modeltranslation/testurls.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-from django.conf.urls.defaults import *
+from django.conf.urls import patterns, url
 
 urlpatterns = patterns('',
     url(r'^set_language/$', 'django.views.i18n.set_language', {},
diff --git a/apps/oai/handlers.py b/apps/oai/handlers.py
index 4e3fefcb2..142b81ff2 100644
--- a/apps/oai/handlers.py
+++ b/apps/oai/handlers.py
@@ -1,3 +1,7 @@
+# -*- 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 oaipmh import server, common, metadata, error
 from catalogue.models import Book, Tag
 from api.models import Deleted
diff --git a/apps/oai/tests/__init__.py b/apps/oai/tests/__init__.py
index 08a39d7ba..561ef604a 100644
--- a/apps/oai/tests/__init__.py
+++ b/apps/oai/tests/__init__.py
@@ -1 +1,5 @@
+# -*- 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 oai.tests.oaipmhapi import *
diff --git a/apps/oai/tests/oaipmhapi.py b/apps/oai/tests/oaipmhapi.py
index b4947fe3d..15f3ff3aa 100644
--- a/apps/oai/tests/oaipmhapi.py
+++ b/apps/oai/tests/oaipmhapi.py
@@ -1,5 +1,7 @@
-
-
+# -*- 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 catalogue.test_utils import WLTestCase
 from catalogue import models
 from nose.tools import raises
diff --git a/apps/oai/urls.py b/apps/oai/urls.py
index 406209f7f..13ea9f12a 100644
--- a/apps/oai/urls.py
+++ b/apps/oai/urls.py
@@ -1,5 +1,8 @@
-
-from django.conf.urls.defaults 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.
+#
+from django.conf.urls import patterns, url
 
 urlpatterns = patterns('oai.views',
                        url(r'^$', 'oaipmh', name='oaipmh'))
diff --git a/apps/oai/views.py b/apps/oai/views.py
index 5ef5bd43b..7155d69fb 100644
--- a/apps/oai/views.py
+++ b/apps/oai/views.py
@@ -1,4 +1,7 @@
-
+# -*- 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 oai.handlers import Catalogue, NS_DCTERMS, nsdcterms
 from oaipmh.server import ServerBase, oai_dc_writer, NS_OAIDC, NS_DC, NS_XSI, nsoaidc, nsdc
 from oaipmh.metadata import MetadataRegistry
diff --git a/apps/opds/tests/__init__.py b/apps/opds/tests/__init__.py
index 856f2f2e5..8d51b7b92 100755
--- a/apps/opds/tests/__init__.py
+++ b/apps/opds/tests/__init__.py
@@ -1,4 +1,7 @@
 # -*- 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 lxml import etree
 from django.core.files.base import ContentFile
 import catalogue
diff --git a/apps/opds/urls.py b/apps/opds/urls.py
index 1a316b6be..00831f0b3 100644
--- a/apps/opds/urls.py
+++ b/apps/opds/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 from opds.views import RootFeed, ByCategoryFeed, ByTagFeed, UserFeed, UserSetFeed, SearchFeed
 
 
diff --git a/apps/pdcounter/templatetags/time_tags.py b/apps/pdcounter/templatetags/time_tags.py
index e454acd6b..b8cc57123 100755
--- a/apps/pdcounter/templatetags/time_tags.py
+++ b/apps/pdcounter/templatetags/time_tags.py
@@ -1,3 +1,7 @@
+# -*- 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 datetime
 import pytz
 from django.conf import settings
diff --git a/apps/picture/admin.py b/apps/picture/admin.py
index fb6bcf261..f107d3196 100644
--- a/apps/picture/admin.py
+++ b/apps/picture/admin.py
@@ -1,4 +1,7 @@
-
+# -*- 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.contrib import admin
 from picture.models import Picture
 from sorl.thumbnail.admin import AdminImageMixin
diff --git a/apps/picture/forms.py b/apps/picture/forms.py
index 9d0c5a54b..2ad47b0b8 100644
--- a/apps/picture/forms.py
+++ b/apps/picture/forms.py
@@ -1,3 +1,7 @@
+# -*- 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 import forms
 from django.utils.translation import ugettext_lazy as _
 from picture.models import Picture
diff --git a/apps/picture/models.py b/apps/picture/models.py
index d8783cb62..a0179de53 100644
--- a/apps/picture/models.py
+++ b/apps/picture/models.py
@@ -1,3 +1,7 @@
+# -*- 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.db import models, transaction
 import catalogue.models
 from django.db.models import permalink
diff --git a/apps/picture/templatetags/picture_tags.py b/apps/picture/templatetags/picture_tags.py
index 826f6aaf5..f0949a225 100644
--- a/apps/picture/templatetags/picture_tags.py
+++ b/apps/picture/templatetags/picture_tags.py
@@ -1,3 +1,7 @@
+# -*- 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 import template
 from django.template import Node, Variable, Template, Context
 from catalogue.utils import split_tags
diff --git a/apps/picture/tests/__init__.py b/apps/picture/tests/__init__.py
index 8817a1c18..b2e50b00f 100644
--- a/apps/picture/tests/__init__.py
+++ b/apps/picture/tests/__init__.py
@@ -1 +1,5 @@
+# -*- 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 picture.tests.picture_import import *
diff --git a/apps/picture/tests/picture_import.py b/apps/picture/tests/picture_import.py
index 68c875391..e1bbd167e 100644
--- a/apps/picture/tests/picture_import.py
+++ b/apps/picture/tests/picture_import.py
@@ -1,4 +1,7 @@
 # -*- 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
diff --git a/apps/picture/views.py b/apps/picture/views.py
index 4d5d85499..3e471b0e8 100644
--- a/apps/picture/views.py
+++ b/apps/picture/views.py
@@ -1,4 +1,7 @@
-
+# -*- 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.contrib.auth.decorators import permission_required
 from django.utils.datastructures import SortedDict
 from django.shortcuts import render_to_response, get_object_or_404
diff --git a/apps/polls/admin.py b/apps/polls/admin.py
index 29fc0aaec..965f6c09b 100644
--- a/apps/polls/admin.py
+++ b/apps/polls/admin.py
@@ -1,3 +1,7 @@
+# -*- 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.contrib import admin
 
 from models import Poll, PollItem
@@ -18,4 +22,4 @@ class PollItemAdmin(admin.ModelAdmin):
     
     
 admin.site.register(Poll, PollAdmin)
-admin.site.register(PollItem, PollItemAdmin)
\ No newline at end of file
+admin.site.register(PollItem, PollItemAdmin)
diff --git a/apps/polls/forms.py b/apps/polls/forms.py
index f9ca9078a..fba346853 100644
--- a/apps/polls/forms.py
+++ b/apps/polls/forms.py
@@ -1,3 +1,7 @@
+# -*- 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 import forms
 
 
@@ -7,4 +11,4 @@ class PollForm(forms.Form):
     def __init__(self, *args, **kwargs):
         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()]
\ No newline at end of file
+        self.fields['vote'].choices = [(item.id, item.content) for item in poll.items.all()]
diff --git a/apps/polls/models.py b/apps/polls/models.py
index d63e5aa3e..16713e479 100644
--- a/apps/polls/models.py
+++ b/apps/polls/models.py
@@ -1,3 +1,7 @@
+# -*- 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.db import models
 from django.utils.translation import ugettext_lazy as _
 from django.core.exceptions import ValidationError
@@ -57,4 +61,4 @@ class PollItem(models.Model):
         self.vote_count = self.vote_count + 1
         self.save()
         session.setdefault(USED_POLLS_KEY, set()).add(self.poll.id)
-        session.save()
\ No newline at end of file
+        session.save()
diff --git a/apps/polls/templatetags/polls_tags.py b/apps/polls/templatetags/polls_tags.py
index e69a7ce96..d17d30956 100644
--- a/apps/polls/templatetags/polls_tags.py
+++ b/apps/polls/templatetags/polls_tags.py
@@ -1,3 +1,7 @@
+# -*- 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 import template
 from ..forms import PollForm
 
@@ -15,4 +19,4 @@ def poll(context, poll, show_results = True, redirect_to = ''):
                 voted_already = voted_already,
                 vote_count = poll.vote_count,
                 show_results = show_results
-           )
\ No newline at end of file
+           )
diff --git a/apps/polls/urls.py b/apps/polls/urls.py
index 87738d5a0..fcd0ac6b7 100644
--- a/apps/polls/urls.py
+++ b/apps/polls/urls.py
@@ -1,4 +1,8 @@
-from django.conf.urls import patterns, url, include
+# -*- 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 patterns, url
 
 
 urlpatterns = patterns('polls.views',
diff --git a/apps/polls/views.py b/apps/polls/views.py
index c9cb5ded9..1dcd38767 100644
--- a/apps/polls/views.py
+++ b/apps/polls/views.py
@@ -1,3 +1,7 @@
+# -*- 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.views.decorators.http import require_http_methods
 from django.shortcuts import get_object_or_404, redirect, render_to_response
 from django.core.urlresolvers import reverse
@@ -31,4 +35,4 @@ def poll(request, slug):
         return render_to_response('polls/poll.html', context)
         
         
-            
\ No newline at end of file
+            
diff --git a/apps/reporting/urls.py b/apps/reporting/urls.py
index cb5998783..e78f961b2 100755
--- a/apps/reporting/urls.py
+++ b/apps/reporting/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 
 
 urlpatterns = patterns('reporting.views',
diff --git a/apps/search/__init__.py b/apps/search/__init__.py
index 8081416c6..6253c9d9e 100644
--- a/apps/search/__init__.py
+++ b/apps/search/__init__.py
@@ -1,2 +1,5 @@
-
+# -*- 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 index import Index, Search, SearchResult
diff --git a/apps/search/context_processors.py b/apps/search/context_processors.py
index cfb2f2eb7..3cb9256c6 100644
--- a/apps/search/context_processors.py
+++ b/apps/search/context_processors.py
@@ -1,4 +1,7 @@
-
+# -*- 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.urlresolvers import reverse
 from search.forms import SearchForm
 
diff --git a/apps/search/custom.py b/apps/search/custom.py
index dcb55eb44..b3b704d0b 100644
--- a/apps/search/custom.py
+++ b/apps/search/custom.py
@@ -1,4 +1,7 @@
-
+# -*- 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 sunburnt import sunburnt
 from lxml import etree
 import urllib
diff --git a/apps/search/index.py b/apps/search/index.py
index f9a3c89ae..7fb60b508 100644
--- a/apps/search/index.py
+++ b/apps/search/index.py
@@ -1,5 +1,7 @@
 # -*- 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 import settings
 
 import os
diff --git a/apps/search/management/commands/reindex.py b/apps/search/management/commands/reindex.py
index 7032565a0..4a17acda9 100755
--- a/apps/search/management/commands/reindex.py
+++ b/apps/search/management/commands/reindex.py
@@ -1,3 +1,7 @@
+# -*- 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 sys
 from django.core.management.base import BaseCommand
 
diff --git a/apps/search/management/commands/snippets.py b/apps/search/management/commands/snippets.py
index 058ea052e..77065471b 100755
--- a/apps/search/management/commands/snippets.py
+++ b/apps/search/management/commands/snippets.py
@@ -1,3 +1,7 @@
+# -*- 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.management.base import BaseCommand
 
 from glob import glob
diff --git a/apps/search/tests/__init__.py b/apps/search/tests/__init__.py
index 403c290f0..80c974e58 100644
--- a/apps/search/tests/__init__.py
+++ b/apps/search/tests/__init__.py
@@ -1 +1,5 @@
+# -*- 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 search.tests.index import *
diff --git a/apps/search/tests/index.py b/apps/search/tests/index.py
index 3e3d290e2..d244a2cb0 100644
--- a/apps/search/tests/index.py
+++ b/apps/search/tests/index.py
@@ -1,4 +1,7 @@
 # -*- 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 import settings
 from django.test.utils import override_settings
 from catalogue.test_utils import WLTestCase, get_fixture
diff --git a/apps/search/urls.py b/apps/search/urls.py
index 607f094cd..695a7e603 100644
--- a/apps/search/urls.py
+++ b/apps/search/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 
 urlpatterns = patterns('search.views',
     url(r'^$', 'main', name='search'),
diff --git a/apps/search/views.py b/apps/search/views.py
index 9a0b469a1..dc9e27b51 100644
--- a/apps/search/views.py
+++ b/apps/search/views.py
@@ -1,5 +1,7 @@
 # -*- 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 import settings
 from django.shortcuts import render_to_response, get_object_or_404
 from django.template import RequestContext
diff --git a/apps/social/urls.py b/apps/social/urls.py
index 9e6de00b1..657b29713 100755
--- a/apps/social/urls.py
+++ b/apps/social/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 from social.views import ObjectSetsFormView
 
 urlpatterns = patterns('social.views',
diff --git a/apps/social/utils.py b/apps/social/utils.py
index 00cf43e28..43bc02905 100755
--- a/apps/social/utils.py
+++ b/apps/social/utils.py
@@ -1,3 +1,7 @@
+# -*- 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.db.models import Q
 from catalogue.models import Book, Tag
 from catalogue import utils
diff --git a/apps/suggest/urls.py b/apps/suggest/urls.py
index ae4ac1573..2f7017213 100644
--- a/apps/suggest/urls.py
+++ b/apps/suggest/urls.py
@@ -2,7 +2,7 @@
 # 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.defaults import *
+from django.conf.urls import patterns, url
 from suggest import views
 
 urlpatterns = patterns('',
diff --git a/apps/waiter/__init__.py b/apps/waiter/__init__.py
index d3696b741..9c83ee36e 100644
--- a/apps/waiter/__init__.py
+++ b/apps/waiter/__init__.py
@@ -1,3 +1,7 @@
+# -*- 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.
+#
 """
 Celery waiter.
 
@@ -5,4 +9,4 @@ Takes orders for files generated by async Celery tasks.
 Serves the file when ready. Kindly asks the user to wait if not.
 
 Author: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
-"""
\ No newline at end of file
+"""
diff --git a/apps/waiter/models.py b/apps/waiter/models.py
index 10f92897e..8b6ff94e5 100644
--- a/apps/waiter/models.py
+++ b/apps/waiter/models.py
@@ -1,3 +1,7 @@
+# -*- 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 os.path import join, isfile
 from django.core.urlresolvers import reverse
 from django.db import models
diff --git a/apps/waiter/settings.py b/apps/waiter/settings.py
index 08e88d34a..aaa9f03b3 100644
--- a/apps/waiter/settings.py
+++ b/apps/waiter/settings.py
@@ -1,3 +1,7 @@
+# -*- 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 os.path import abspath, join
 from django.conf import settings
 
diff --git a/apps/waiter/tasks.py b/apps/waiter/tasks.py
index 4c3933ef1..89db402a3 100644
--- a/apps/waiter/tasks.py
+++ b/apps/waiter/tasks.py
@@ -1,3 +1,7 @@
+# -*- 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 celery.signals import task_postrun
 from waiter.models import WaitedFile
 
diff --git a/apps/waiter/urls.py b/apps/waiter/urls.py
index 484ef3e44..21352c786 100644
--- a/apps/waiter/urls.py
+++ b/apps/waiter/urls.py
@@ -1,4 +1,8 @@
-from django.conf.urls.defaults 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.
+#
+from django.conf.urls import patterns, url
 
 urlpatterns = patterns('waiter.views',
     url(r'^(?P<path>.*)$', 'wait', name='waiter'),
diff --git a/apps/waiter/utils.py b/apps/waiter/utils.py
index 0957e9d80..1edc2faa1 100644
--- a/apps/waiter/utils.py
+++ b/apps/waiter/utils.py
@@ -1,3 +1,7 @@
+# -*- 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 os.path import abspath, join, exists
 from shutil import rmtree
 from waiter.settings import WAITER_ROOT
diff --git a/apps/waiter/views.py b/apps/waiter/views.py
index 6e076b306..0892ca91b 100644
--- a/apps/waiter/views.py
+++ b/apps/waiter/views.py
@@ -1,3 +1,7 @@
+# -*- 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 os.path import join
 from waiter.models import WaitedFile
 from waiter.settings import WAITER_URL
diff --git a/apps/wolnelektury_core/context_processors.py b/apps/wolnelektury_core/context_processors.py
index c91211605..5885e039b 100644
--- a/apps/wolnelektury_core/context_processors.py
+++ b/apps/wolnelektury_core/context_processors.py
@@ -1,3 +1,7 @@
+# -*- 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 import settings
 
 def extra_settings(request):
diff --git a/apps/wolnelektury_core/management/commands/localepack.py b/apps/wolnelektury_core/management/commands/localepack.py
index 4ec743441..26eee83a5 100644
--- a/apps/wolnelektury_core/management/commands/localepack.py
+++ b/apps/wolnelektury_core/management/commands/localepack.py
@@ -1,4 +1,7 @@
-
+# -*- 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 optparse import make_option
 from django.conf import settings
 from django.core.management.base import BaseCommand
diff --git a/apps/wolnelektury_core/templatetags/common_tags.py b/apps/wolnelektury_core/templatetags/common_tags.py
index ccaf03bfd..eddf9f13f 100644
--- a/apps/wolnelektury_core/templatetags/common_tags.py
+++ b/apps/wolnelektury_core/templatetags/common_tags.py
@@ -1,3 +1,7 @@
+# -*- 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 import template
 register = template.Library()
 
diff --git a/apps/wolnelektury_core/views.py b/apps/wolnelektury_core/views.py
index f2a774b60..80156bfd8 100644
--- a/apps/wolnelektury_core/views.py
+++ b/apps/wolnelektury_core/views.py
@@ -1,3 +1,7 @@
+# -*- 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 datetime
 import feedparser
 
diff --git a/wolnelektury/urls.py b/wolnelektury/urls.py
index 6c254519c..88f951a34 100644
--- a/wolnelektury/urls.py
+++ b/wolnelektury/urls.py
@@ -1,4 +1,7 @@
 # -*- 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
 
 from django.conf.urls.defaults import *
diff --git a/wolnelektury/utils.py b/wolnelektury/utils.py
index ad5722201..0c256e5df 100644
--- a/wolnelektury/utils.py
+++ b/wolnelektury/utils.py
@@ -1,10 +1,16 @@
+# -*- 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 pytz
 from django.utils import timezone
 from django.conf import settings
 
+tz = pytz.timezone(settings.TIME_ZONE)
+
 def localtime_to_utc(localtime):
     return timezone.utc.normalize(
-        pytz.timezone(settings.TIME_ZONE).localize(localtime)
+        tz.localize(localtime)
     )
 
 def utc_for_js(dt):