From f7015d259477a15b715bb78ba47f1c838a08dab7 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 17 Apr 2018 07:00:40 -0400 Subject: [PATCH] add template staticfiles --- index.py | 11 +++++++---- templates/static/archive.png | Bin 0 -> 1475 bytes templates/static/complete.png | Bin 0 -> 9711 bytes templates/static/external.png | Bin 0 -> 1647 bytes templates/static/incomplete.png | Bin 0 -> 6841 bytes templates/static/spinner.gif | Bin 0 -> 10949 bytes 6 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 templates/static/archive.png create mode 100644 templates/static/complete.png create mode 100644 templates/static/external.png create mode 100644 templates/static/incomplete.png create mode 100644 templates/static/spinner.gif diff --git a/index.py b/index.py index 3882e1a8..168670d1 100644 --- a/index.py +++ b/index.py @@ -3,11 +3,13 @@ import json from datetime import datetime from string import Template +from distutils.dir_util import copy_tree from config import ( INDEX_TEMPLATE, INDEX_ROW_TEMPLATE, LINK_INDEX_TEMPLATE, + TEMPLATE_STATICFILES, ARCHIVE_PERMISSIONS, ARCHIVE_DIR, ANSI, @@ -31,11 +33,10 @@ def write_links_index(out_dir, links): write_json_links_index(out_dir, links) write_html_links_index(out_dir, links) - print('[√] [{}] Archive index is now up-to-date with {}{}{} links.'.format( + print('[√] [{}] Main archive index now up-to-date: {}/index.html'.format( datetime.now().strftime('%Y-%m-%d %H:%M:%S'), - ANSI['green'], - len(links), - ANSI['reset'], + out_dir, + )) def write_json_links_index(out_dir, links): @@ -71,6 +72,8 @@ def write_html_links_index(out_dir, links): path = os.path.join(out_dir, 'index.html') + copy_tree(TEMPLATE_STATICFILES, os.path.join(out_dir, "static")) + with open(INDEX_TEMPLATE, 'r', encoding='utf-8') as f: index_html = f.read() diff --git a/templates/static/archive.png b/templates/static/archive.png new file mode 100644 index 0000000000000000000000000000000000000000..169f77f0d05780554fdfefaba9eabb12415306fe GIT binary patch literal 1475 zcmeAS@N?(olHy`uVBq!ia0y~yVA##Tz;KR(je&t7t-e@-fq_A?#5JNMI6tkVJh3R1 z!7(L2DOJHUH!(dmC^a#qvhZZ84Fdyfs;7%%NX4x;cTX4I4ijNZ@c4M|#Q`7IgGSbu zMLkq6h^ol8tUI83Vx_{Xh7#5kErGqK{a!gRrY(?coA`sl@qyjG{AcT)XxM!J!^ZC* zp~H3J$W&bkpUCx@d+n~RUUfZq@4oBVk?Xg^7^;gvT(7p4%uW7Hkdo??3eP?cQ zO8>!<*Dq{sAAetSTlwGViT_Vtw_CEmANxkohbbDdYB{_TMFnxjYd=)akJc(3iW5Tnd{{+e&})u);t z%Dv~W`{wGojHXKanHzQ|CEfEkdox+-Pya*DoO|+GZ&E+r_t$E@y~qB?p8C><1-p}+ z3_jP*Pn<9IvyR7~#C z`u=|RpQdNbbJI_E73kiRTK!%2rg&PR($~+~oBv*Il&np?-*IMpRc+l{cKf$K`~PM7 zJJoNkcX?7g`|jlR$4nCI3!b)mn5eIszbmHqrd{OUvvxv_`mOCAj0_A6E-7(4?jPc+ zKg-Yh^Va>;BE>fx)|l`R9|#s!lpmQNc}q=6VL1Z>!;yvk`KPnzec1i`YX8~qch)H1 z?q2od|K+aht_|_t>%sI3$E8i;(>_!SK2u(Q`rFpEd{;i)xMsy`B2iU% zP<*R~U;Q%o&r0cxx$oX|6zut0Yn$r8c(I#1@7*ek_l{Cy+=|g=RnvtM$ zOyYdCP36I+M?%|`t^3|s-{}|Z^Hkb9qebdl$h$4ttu8kXN-%>028KVj)J{5Zuhv6_ z`Q{g=8=u!Hu8xyPHaPa?#|($HmtCrsiTedO-f+AjSSA369=dP#y>pdqzHSh9Be-Ho z>+x=vu)|w<1KssZpL}sKNOpf_YTa*i|M8B0XN$>Gfd2{p2Ax(JLQ-xxYksyNH#0ttul1be|N4Tu>b2SrW+4d)#}E+-ogE3ZL~hyi=%rEbH}i3 z+If5So)-cWDib!ZisM<3bKmaWy$bEB9PS@dH;(PwcJcGKt^34gE!(#LR@7;S>~;6%@c85iPrPyEb@cTO=IO_Rt36bvef{<28vk7mH?tO56i>4!wm09C{qb|Y ztJQy|xnFW~7#SFjtll}lHg3Ir4r}M{N0*du3Y4|TLSWN{JJOpqFa4Y+S8@87*o5AC cRtbi@{boVIY)UH_7#J8lUHx3vIVCg!02orUz5oCK literal 0 HcmV?d00001 diff --git a/templates/static/complete.png b/templates/static/complete.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8cf46019f077fb23a01cffe9b35d362a1c667f GIT binary patch literal 9711 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 literal 0 HcmV?d00001 diff --git a/templates/static/incomplete.png b/templates/static/incomplete.png new file mode 100644 index 0000000000000000000000000000000000000000..77b07a652ddfd73742e1d2ca8deb8641b45ea8ba GIT binary patch literal 6841 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 a^`D0!@BW{t^ZwHqK)}=0&t;ucLK6Ty2E)hz literal 0 HcmV?d00001 diff --git a/templates/static/spinner.gif b/templates/static/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..73388102ad961eefe33d1680ec416e9c9643ed1f GIT binary patch literal 10949 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 G4AuZuWR1)K literal 0 HcmV?d00001