General A/B testing.
[wolnelektury.git] / src / catalogue / __init__.py
index 16c1326..1290f81 100644 (file)
@@ -1,9 +1,9 @@
-# -*- 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 logging
 from django.conf import settings as settings
+from django.utils.module_loading import import_string
 from catalogue.utils import AppSettings
 
 
@@ -12,7 +12,7 @@ default_app_config = 'catalogue.apps.CatalogueConfig'
 
 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 = {
@@ -25,6 +25,7 @@ class Settings(AppSettings):
     REDAKCJA_URL = "http://redakcja.wolnelektury.pl"
     GOOD_LICENSES = {r'CC BY \d\.\d', r'CC BY-SA \d\.\d'}
     RELATED_RANDOM_PICTURE_CHANCE = .5
+    GET_MP3_LENGTH = 'catalogue.utils.get_mp3_length'
 
     def _more_DONT_BUILD(self, value):
         for format_ in ['cover', 'pdf', 'epub', 'mobi', 'fb2', 'txt']:
@@ -45,5 +46,8 @@ class Settings(AppSettings):
                 value[format_] = getattr(settings, attname)
         return value
 
+    def _more_GET_MP3_LENGTH(self, value):
+        return import_string(value)
+
 
 app_settings = Settings('CATALOGUE')