From 636fd34b05155b81691222ad80c4a3746d0c2fc1 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Thu, 20 Dec 2018 12:42:49 +0100 Subject: [PATCH 1/1] mobile PDF option --- .../catalogue/locale/pl/LC_MESSAGES/django.mo | Bin 7796 -> 7891 bytes .../catalogue/locale/pl/LC_MESSAGES/django.po | 62 +++++++++--------- .../templates/catalogue/book_detail.html | 1 + apps/catalogue/urls.py | 1 + apps/catalogue/views.py | 5 +- lib/librarian | 2 +- 6 files changed, 37 insertions(+), 34 deletions(-) diff --git a/apps/catalogue/locale/pl/LC_MESSAGES/django.mo b/apps/catalogue/locale/pl/LC_MESSAGES/django.mo index 8c88b6b0f57032ea8e4714db5e6b1d6715421fed..87bdfbf99918ebd14b3b38bcbee449a45c4cd98f 100644 GIT binary patch delta 2940 zcmZA3eN0t#9LMn=aP0vUgp3pD0W8!fbXW|%6#jq%2;xHQZ=p2l|RJ<26Y&{40 zGkNxU5ze4q61pBVyEtJ?6R;1o;56zlp&snT`|*8@#?zRB7x6Cq1@Fc`Q0@M)*Q1za zEcH0#l9`8Umx=tD%^X}NXiOz1nsJT2u?JbC=|Bx|0F$r>bFd$?@JH0j6Bw0KlY(lO ziJE9Gs(mqPf*Vm8EXVt>5u+I2yuyhZ973h^D5}FxP#vB}b#MuliEphpFowDs>lIDM z>FCB(%t76+vIbC@=)woE2ZKuS2b}E2GpLT-w9mP)v$vL>aYv7@`I@BhwOuIqE^_CdhQGBMbvY{ zs1<&1>(@~O{Df+!_o{aBsEH(5=LR`ZLpQ3UMW_dJtt;*Q)u@S;qE@us-mgVv&W}oc zJFn3Dx1(_WB5ph7tG(*N0e^8~;SDFq!3P zGi9UNtwjw`hI%y>sEIY8Qoj%N+^d+#_~r;F%D@2X!Sl%eFkhhtxPtopeziukL)Fnj zoQKO%8S$Xn`%nY7*z4V>P1lR8!JNP}JcCjC{>L~`DsG}ubsIH-X)H?}CZX=TQ3Gb+ zeB6Y~unqN@oqpYkvW;y zZ2djt&wR{*6q*Y-3$LSg{W$Vx61bR&S*QtBqcR#mP2>Ou)p4J_aT2?zpSAS@def#W zLp9ie%19mZh-pTxum`omqo{vFj-#F*L@n$xvS>4k+MKuXL7bXM{vYEcjb-RY1*)MR zwR_u8DeuNY{1CJ7cg#aKqv_pOqn>ZDw&4@hyHOcEi+b)m)B;A3Ihe886geIW$GDq_`;UjhtFAz0^{vYrnK@+o?P2nj6!~&w6C?K9DR8k53`>s+>(zLHm`@6PZSc`l#^u*C(qbQE&7Q$ zp}Ga4%9;Z3r zX$+VZRZZT#w&Dc5zA8`O)yN+PzKnW3JbqQ7vzKSQexFn0Z*&^`JH7Ruz(8qq&~-`6@&JS%m|zd~~kasU7T delta 2854 zcmX}tYfRO39LMn=H$xyqP>PE|gn(T198lzD7$BF>1hXVHg9;K92qYvB&x{_359$Hf z+LEod+8Sj^r`CgN^FbGD)Mn-;v*}vS2PNfJo8egY{=oP2-}#=`@Av!v{=fVGoC}-& zF7sW94L#|&juOd4RH$>OasDp8xXwg47mrhTFP_72`~^esH(ZK;SpFZ3BtLKE;bc~j zk42Sd@mib&i|K?SN}1FpnYjK(2+08ii&`~Wq!Pf!E-0`>gYcK;__PX03T zakG5s`8kZjReWgx*|?Pc-8vGwQOp;EcGakk8gUgiVG;IY0e*<;_*dlPZt$h&=1>C; zWi)y|4mHq3)XJq{9G0R6wjHDC-|Zn0iyf#2hfxilKs9g@wIUOyAD5B;7PU1q7=t%4 z8-o~y?&q3is1CQHR=5c}uoHc1;1UUS^e3v~Ez5_{ibfoX8dwTy>2gs6@}l;>2DKuM zsHNYHjKv*9&3q73aSYY|$L85(tiK+ZwhC9Umi!&d*D@{5s2#PW*uNsONjEe89?m!z9$;h~0Ps#Tu1p^Oe+)5qw39}8VqBa+KNcj zKoU_)osOzkgh^P1nsGC#UKg^vZUAY@=Z=%mYc^qihH7XA({UEH0BqDGU_m%!u#+v=Hs-L-$6YW!)$a|lag3}Ep-+J)wm4{a2(6< z9BOaF=v5Cyn@PBld=_dcn^E=pQ4{bXeYsJj3HP>@pG8gNJIkL>X8rZxWePOoYp4hR zMU^LTGG!X-)aRg9#B2FV)XeKp&$XaBIAZrlP_N-AYHMCWt@wo9f5%5c54?wJ_#>RF7XKr3uyo3Yt!$fFhWg>sYV}%KfC@`AV-L}y_x~{~Ofdu0 zknmcj1D__Ui5IO*XipCjvC4313j&w6O=n}H6=-`85YH3)2yNR7^zR-ebUi`rCiEMi zD~BjwNG*P~gASSYH=Af87PbyI5ygbw9$owtxCVkCinxtR|`mo#Mb%M`EXC+OU&IwR`~nQryEtCb5OcCGO`ZW#N>2$moZm zkJwD;dX896>`}(9Cj$x8soqX(9s53_cq}7wW=UsfYggYP|9s?lu>alY;n0kod6m7b zEq(3XU3pb4eXS*_`5td!o~IzsyCKzER8mlsMl89@>C-D;wxcd*re NI6gVVKbf#5>_05m>dXKD diff --git a/apps/catalogue/locale/pl/LC_MESSAGES/django.po b/apps/catalogue/locale/pl/LC_MESSAGES/django.po index 53b753b1..6387b5d6 100644 --- a/apps/catalogue/locale/pl/LC_MESSAGES/django.po +++ b/apps/catalogue/locale/pl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Platforma Redakcyjna\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-03-15 18:38+0100\n" +"POT-Creation-Date: 2018-12-20 12:30+0100\n" "PO-Revision-Date: 2014-03-27 13:17+0100\n" "Last-Translator: Radek Czajka \n" "Language-Team: Fundacja Nowoczesna Polska =20) ? 1 : 2);\n" "X-Generator: Poedit 1.5.4\n" -#: forms.py:39 +#: forms.py:40 msgid "Text file must be UTF-8 encoded." msgstr "Plik powinien mieć kodowanie UTF-8." -#: forms.py:42 +#: forms.py:43 msgid "You must either enter text or upload a file" msgstr "Proszę wpisać tekst albo wybrać plik do załadowania" -#: forms.py:51 +#: forms.py:52 msgid "ZIP file" msgstr "Plik ZIP" -#: forms.py:52 +#: forms.py:53 msgid "Directories are documents in chunks" msgstr "Katalogi zawierają dokumenty w częściach" -#: forms.py:76 forms.py:165 +#: forms.py:77 forms.py:178 msgid "Assigned to" msgstr "Przypisane do" -#: forms.py:97 forms.py:111 +#: forms.py:98 forms.py:112 msgid "Chunk with this slug already exists" msgstr "Część z tym slugiem już istnieje" -#: forms.py:120 +#: forms.py:121 msgid "Append to" msgstr "Dołącz do" -#: views.py:168 +#: views.py:172 #, python-format msgid "Slug already used for %s" msgstr "Slug taki sam jak dla pliku %s" -#: views.py:170 +#: views.py:174 msgid "Slug already used in repository." msgstr "Dokument o tym slugu już istnieje w repozytorium." -#: views.py:176 +#: views.py:180 msgid "File should be UTF-8 encoded." msgstr "Plik powinien mieć kodowanie UTF-8." -#: views.py:595 models/book.py:56 +#: views.py:619 models/book.py:56 msgid "books" msgstr "książki" -#: views.py:597 +#: views.py:621 msgid "scan gallery" msgstr "galeria skanów" @@ -105,19 +105,19 @@ msgstr "Książka nie ma części." msgid "Not all chunks have publishable revisions." msgstr "Niektóre części nie są gotowe do publikacji." -#: models/book.py:272 models/image.py:82 +#: models/book.py:272 models/image.py:86 msgid "Invalid XML" msgstr "Nieprawidłowy XML" -#: models/book.py:274 models/image.py:84 +#: models/book.py:274 models/image.py:88 msgid "No Dublin Core found." msgstr "Brak sekcji Dublin Core." -#: models/book.py:276 models/image.py:86 +#: models/book.py:276 models/image.py:90 msgid "Invalid Dublin Core" msgstr "Nieprawidłowy Dublin Core" -#: models/book.py:279 models/image.py:90 +#: models/book.py:279 models/image.py:94 msgid "rdf:about is not" msgstr "rdf:about jest różny od" @@ -216,7 +216,7 @@ msgstr "Użytkownicy aktywni od" msgid "Activity" msgstr "Aktywność" -#: templates/catalogue/base.html:8 +#: templates/catalogue/base.html:10 msgid "Platforma Redakcyjna" msgstr "Platforma Redakcyjna" @@ -226,8 +226,7 @@ msgid "Append book" msgstr "Dołącz książkę" #: templates/catalogue/book_detail.html:18 -#: templates/catalogue/book_edit.html:13 -#: templates/catalogue/chunk_edit.html:16 +#: templates/catalogue/book_edit.html:13 templates/catalogue/chunk_edit.html:16 #: templates/catalogue/image_detail.html:18 msgid "Save" msgstr "Zapisz" @@ -272,33 +271,32 @@ msgid "PDF version" msgstr "Wersja PDF" #: templates/catalogue/book_detail.html:72 +msgid "PDF version for mobiles" +msgstr "Wersja PDF na telefony" + +#: templates/catalogue/book_detail.html:73 msgid "EPUB version" msgstr "Wersja EPUB" -#: templates/catalogue/book_detail.html:73 +#: templates/catalogue/book_detail.html:74 msgid "MOBI version" msgstr "Wersja MOBI" -#: templates/catalogue/book_detail.html:86 +#: templates/catalogue/book_detail.html:88 #: templates/catalogue/image_detail.html:57 msgid "Publish" msgstr "Opublikuj" -#: templates/catalogue/book_detail.html:90 +#: templates/catalogue/book_detail.html:92 #: templates/catalogue/image_detail.html:61 msgid "Log in to publish." msgstr "Zaloguj się, aby opublikować." -#: templates/catalogue/book_detail.html:93 +#: templates/catalogue/book_detail.html:95 #: templates/catalogue/image_detail.html:64 msgid "This book can't be published yet, because:" msgstr "Ta książka nie może jeszcze zostać opublikowana. Powód:" -#: templates/catalogue/book_detail.html:103 -#: templates/catalogue/image_detail.html:72 -msgid "Comments" -msgstr "Komentarze" - #: templates/catalogue/book_edit.html:5 msgid "Edit book" msgstr "Edytuj książkę" @@ -494,8 +492,7 @@ msgstr "Twoje ostatnie edycje" msgid "Recent activity for" msgstr "Ostatnia aktywność dla:" -#: templates/catalogue/upload_pdf.html:5 -#: templates/catalogue/upload_pdf.html:11 +#: templates/catalogue/upload_pdf.html:5 templates/catalogue/upload_pdf.html:11 msgid "PDF file upload" msgstr "Ładowanie pliku PDF" @@ -581,6 +578,9 @@ msgstr "Zmiana" msgid "Comment" msgstr "Komentarz" +#~ msgid "Comments" +#~ msgstr "Komentarze" + #~ msgid "Mark publishable" #~ msgstr "Oznacz do publikacji" diff --git a/apps/catalogue/templates/catalogue/book_detail.html b/apps/catalogue/templates/catalogue/book_detail.html index 65a22876..4712edf3 100755 --- a/apps/catalogue/templates/catalogue/book_detail.html +++ b/apps/catalogue/templates/catalogue/book_detail.html @@ -69,6 +69,7 @@ {% trans "HTML version" %}
{% trans "TXT version" %}
{% trans "PDF version" %}
+ {% trans "PDF version for mobiles" %}
{% trans "EPUB version" %}
{% trans "MOBI version" %}

diff --git a/apps/catalogue/urls.py b/apps/catalogue/urls.py index 022839e8..e81c0a36 100644 --- a/apps/catalogue/urls.py +++ b/apps/catalogue/urls.py @@ -43,6 +43,7 @@ urlpatterns = patterns('catalogue.views', url(r'^book/(?P[^/]+)/epub$', 'book_epub', name="catalogue_book_epub"), url(r'^book/(?P[^/]+)/mobi$', 'book_mobi', name="catalogue_book_mobi"), url(r'^book/(?P[^/]+)/pdf$', 'book_pdf', name="catalogue_book_pdf"), + url(r'^book/(?P[^/]+)/pdf-mobile$', 'book_pdf', kwargs={'mobile': True}, name="catalogue_book_pdf_mobile"), url(r'^chunk_add/(?P[^/]+)/(?P[^/]+)/$', 'chunk_add', name="catalogue_chunk_add"), diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index 76001f9e..b6521c7f 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -264,7 +264,7 @@ def book_html(request, slug): @never_cache -def book_pdf(request, slug): +def book_pdf(request, slug, mobile=False): book = get_object_or_404(Book, slug=slug) if not book.accessible(request): return HttpResponseForbidden("Not authorized.") @@ -272,7 +272,8 @@ def book_pdf(request, slug): # TODO: move to celery doc = book.wldocument() # TODO: error handling - pdf_file = doc.as_pdf(cover=True, ilustr_path=book.gallery_path()) + customizations = ['26pt', 'nothemes', 'nomargins', 'notoc'] if mobile else None + pdf_file = doc.as_pdf(cover=True, ilustr_path=book.gallery_path(), customizations=customizations) from catalogue.ebook_utils import serve_file return serve_file(pdf_file.get_filename(), book.slug + '.pdf', 'application/pdf') diff --git a/lib/librarian b/lib/librarian index 2efffe35..03c22584 160000 --- a/lib/librarian +++ b/lib/librarian @@ -1 +1 @@ -Subproject commit 2efffe35d382709702c66b9f03131662ae2605fb +Subproject commit 03c2258429bf8f80e88025fce45126960bfcd827 -- 2.20.1