'http://creativecommons.org/licenses/by-sa/3.0/': {
'icon': 'cc-by-sa',
'description': _('Creative Commons Attribution-ShareAlike 3.0 Unported'),
+ 'locative': 'licencji CC-BY-SA 3.0 PL',
},
'http://artlibre.org/licence/lal/pl/': {
'icon': 'lal',
'description': _('Free Art License 1.3'),
+ 'locative': 'Licencji Wolnej Sztuki 1.3',
}
}
LICENSES['http://creativecommons.org/licenses/by-sa/3.0/deed.pl'] = \
from django.db import connection, models, transaction
import django.dispatch
from django.contrib.contenttypes.fields import GenericRelation
+from django.template.loader import render_to_string
from django.urls import reverse
from django.utils.translation import ugettext_lazy as _, get_language
from django.utils.deconstruct import deconstructible
def zip_audiobooks(self, format_):
bm = BookMedia.objects.filter(book=self, type=format_)
paths = map(lambda bm: (None, bm.file.path), bm)
- return create_zip(paths, "%s_%s" % (self.slug, format_))
+ licenses = set()
+ for m in bm:
+ license = constants.LICENSES.get(
+ m.get_extra_info_json().get('license'), {}
+ ).get('locative')
+ if license:
+ licenses.add(license)
+ readme = render_to_string('catalogue/audiobook_zip_readme.txt', {
+ 'licenses': licenses,
+ })
+ return create_zip(paths, "%s_%s" % (self.slug, format_), {'informacje.txt': readme})
def search_index(self, book_info=None, index=None, index_tags=True, commit=True):
if not self.findable:
--- /dev/null
+Ten audiobook pochodzi z darmowej biblioteki internetowej Wolne Lektury. Znajdziesz w niej tysiące ebooków i setki audiobooków.
+Wolne Lektury to projekt prowadzony przez fundację Nowoczesna Polska. Jesteśmy organizacją pozarządową. Działamy dzięki wsparciu darczyńców takich jak Ty.
+Wspólnie możemy udostępnić kolejne książki. Wspieraj Wolne Lektury stałą comiesięczną kwotą. Dzięki temu wcześniej uzyskasz dostęp do wyjątkowych publikacji! Możesz też wesprzeć nas jednorazowo.
+Wejdź na https://wolnelektury.pl/towarzystwo/ i dorzuć się do nowych nagrań.
+
+Audiobooki Wolnych Lektur są udostępniane na wolnych licencjach, co oznacza, że możesz je swobodnie wykorzystywać, udostępniać i publikować pod warunkiem zachowania warunków licencji i zgodnie z Zasadami wykorzystania Wolnych Lektur: https://wolnelektury.pl/info/zasady-wykorzystania/
+
+{% if licenses %}Ten utwór jest jest udostępniony na {% for lic in licenses %}{{ lic }}{% if not forloop.last %}, {% endif %}{% endfor %}.
+
+{% endif %}Przekaż 1% na wolną bibliotekę KRS 0000070056: https://wolnelektury.pl/info/wesprzyj-nas/
+
+Zostań Przyjacielem Wolnych Lektur: https://wolnelektury.pl/towarzystwo/
+
+Słuchaj nas na YouTube: https://wolnelektury.pl/re/WolneLekturyYT/
+
+Fundacja Nowoczesna Polska
+ul. Marszałkowska 84/92 lok. 125
+00-514 Warszawa
+tel./fax: +48 22 621 30 17
+e-mail:fundacja@nowoczesnapolska.org.pl
+www.nowoczesnapolska.org.pl
+
+Organizacja Pożytku Publicznego
+Sąd Rejestrowy dla M.St. Warszawy w Warszawie,
+XII Wydział Gospodarczy
+KRS 0000070056, NIP 952-18-77-087
+
+Zapraszamy do wysłuchania audiobooków Wolnych Lektur: https://wolnelektury.pl/katalog/audiobooki/
{% load catalogue_tags %}
{% with extra_info=book.get_extra_info_json %}
-<p>
- {% if extra_info.license %}
- {% trans "This work is licensed under:" %}
- <a href="{{ extra_info.license }}">{{ extra_info.license_description }}</a>
- {% else %}
- {% blocktrans %}This work isn't covered by copyright and is part of the
- public domain, which means it can be freely used, published and
- distributed. If there are any additional copyrighted materials
- provided with this work (such as annotations, motifs etc.), those
- materials are licensed under the
- <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0</a>
- license.{% endblocktrans %}
- {% endif %}
-</p>
+ <p>
+ Wszystkie zasoby Wolnych Lektur możesz swobodnie wykorzystywać,
+ publikować i rozpowszechniać pod warunkiem zachowania warunków
+ licencji i zgodnie z <a href="https://wolnelektury.pl/info/zasady-wykorzystania/">Zasadami wykorzystania Wolnych Lektur</a>.<br>
+
+ {% if extra_info.license %}
+ Ten utwór jest jest udostępniony na
+ <a href="{{ extra_info.license }}">{% license_locative extra_info.license extra_info.license_description %}</a>.
+ {% else %}
+ Ten utwór jest w domenie publicznej.
+ {% endif %}
+ <br>
+ Wszystkie materiały dodatkowe (przypisy, motywy literackie) są
+ udostępnione na <a href="https://artlibre.org/licence/lal/pl/">Licencji Wolnej Sztuki 1.3</a>.<br>
+ Fundacja Nowoczesna Polska zastrzega sobie prawa do wydania
+ krytycznego zgodnie z art. Art.99(2) Ustawy o prawach autorskich
+ i prawach pokrewnych. Wykorzystując zasoby z Wolnych Lektur,
+ należy pamiętać o zapisach licencji oraz zasadach, które
+ spisaliśmy w <a href="https://wolnelektury.pl/info/zasady-wykorzystania/">Zasadach wykorzystania Wolnych Lektur</a>.
+ Zapoznaj się z nimi, zanim udostępnisz dalej nasze książki.
+ </p>
{% if extra_info.source_name %}
<p>{% trans "Resource prepared based on:" %} {{ extra_info.source_name }}</p>
}
+@register.simple_tag
+def license_locative(license_url, default):
+ return LICENSES.get(license_url, {}).get('locative', default)
+
+
@register.filter
def class_name(obj):
return obj.__class__.__name__
# @task
-def create_zip(paths, zip_slug):
+def create_zip(paths, zip_slug, file_contents=None):
"""
Creates a zip in MEDIA_ROOT/zip directory containing files from path.
Resulting archive filename is ${zip_slug}.zip
if arcname is None:
arcname = path.basename(p)
zipf.write(p, arcname)
+ if file_contents:
+ for arcname, content in file_contents.items():
+ zipf.writestr(arcname, content)
finally:
zipf.close()