From 4a1d7738a2a05d8659c8a342eac3abc97a50544e Mon Sep 17 00:00:00 2001 From: Dmitry Shelepnev <mitshel@mail.ru> Date: Sat, 21 Jan 2017 17:28:36 +0300 Subject: [PATCH] Fix issue #26. Add Counter.objects.get_lastscan() def --- opds_catalog/locale/ru/LC_MESSAGES/django.mo | Bin 4676 -> 4676 bytes opds_catalog/locale/ru/LC_MESSAGES/django.po | 17 ++-- opds_catalog/models.py | 8 ++ sopds/locale/ru/LC_MESSAGES/django.mo | Bin 5162 -> 5162 bytes sopds/locale/ru/LC_MESSAGES/django.po | 66 ++++++++------- .../locale/ru/LC_MESSAGES/django.mo | Bin 5571 -> 5632 bytes .../locale/ru/LC_MESSAGES/django.po | 76 +++++++++--------- sopds_web_backend/templates/sopds_footer.html | 2 +- sopds_web_backend/views.py | 2 +- 9 files changed, 91 insertions(+), 80 deletions(-) diff --git a/opds_catalog/locale/ru/LC_MESSAGES/django.mo b/opds_catalog/locale/ru/LC_MESSAGES/django.mo index 6edafff2e765cfb0a0573420d1984046b2504017..90d40bf9f82ebe36a6548f65bc4384659f1b4051 100644 GIT binary patch delta 21 ccmX@2aztfA3@3+?p@N~gm67S@6wU`6088Npf&c&j delta 21 ccmX@2aztfA3@3+yg@TcRm9gdK6wU`6089l2h5!Hn diff --git a/opds_catalog/locale/ru/LC_MESSAGES/django.po b/opds_catalog/locale/ru/LC_MESSAGES/django.po index 9b69d52..37037ac 100644 --- a/opds_catalog/locale/ru/LC_MESSAGES/django.po +++ b/opds_catalog/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-08 20:39+0300\n" +"POT-Creation-Date: 2017-01-21 17:25+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -191,30 +191,25 @@ msgstr "Найдены серии" msgid "Select language" msgstr "Выбор алфавита" -#: .\opds_catalog\feeds.py:790 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:106 +#: .\opds_catalog\feeds.py:790 .\opds_catalog\tests\test_feeds.py:106 #: .\opds_catalog\tests\test_feeds.py:119 #: .\opds_catalog\tests\test_feeds.py:130 msgid "Cyrillic" msgstr "Кириллица (РУС)" -#: .\opds_catalog\feeds.py:791 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:107 +#: .\opds_catalog\feeds.py:791 .\opds_catalog\tests\test_feeds.py:107 msgid "Latin" msgstr "Латинница (LAT)" -#: .\opds_catalog\feeds.py:792 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:108 +#: .\opds_catalog\feeds.py:792 .\opds_catalog\tests\test_feeds.py:108 msgid "Digits" msgstr "Цифры (0..9)" -#: .\opds_catalog\feeds.py:793 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:109 +#: .\opds_catalog\feeds.py:793 .\opds_catalog\tests\test_feeds.py:109 msgid "Other symbols" msgstr "Другие символы" -#: .\opds_catalog\feeds.py:794 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:110 +#: .\opds_catalog\feeds.py:794 .\opds_catalog\tests\test_feeds.py:110 msgid "Show all" msgstr "Показать все" diff --git a/opds_catalog/models.py b/opds_catalog/models.py index 2d29a89..81c9a6e 100644 --- a/opds_catalog/models.py +++ b/opds_catalog/models.py @@ -124,6 +124,14 @@ class CounterManager(models.Manager): return counter + def get_lastscan(self): + try: + lastscan = self.get(name='allbooks').update_time + except ObjectDoesNotExist: + lastscan = None + + return lastscan + class Counter(models.Model): name = models.CharField(primary_key=True, null=False, blank=False, max_length=16) value = models.IntegerField(null=False, default=0) diff --git a/sopds/locale/ru/LC_MESSAGES/django.mo b/sopds/locale/ru/LC_MESSAGES/django.mo index 40f7a05edad9c46b03cb78ba83fed0ebef0248f8..6a497d9edada54b562665b4f19821f982190cdc5 100644 GIT binary patch delta 21 ccmZ3bu}WiuA_s?&p@N~gm67RYO%6sL073x;0{{R3 delta 21 ccmZ3bu}WiuA_s?og@TcRm9gb!O%6sL074}N2LJ#7 diff --git a/sopds/locale/ru/LC_MESSAGES/django.po b/sopds/locale/ru/LC_MESSAGES/django.po index bc58a87..756e732 100644 --- a/sopds/locale/ru/LC_MESSAGES/django.po +++ b/sopds/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-08 20:39+0300\n" +"POT-Creation-Date: 2017-01-21 17:25+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -19,63 +19,67 @@ msgstr "" "10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%" "100>=11 && n%100<=14)? 2 : 3);\n" -#: .\sopds\settings.py:157 +#: .\sopds\settings.py:164 +msgid "Select language" +msgstr "" + +#: .\sopds\settings.py:165 msgid "Absolute path to books collection directory" msgstr "Абсолютный путь к каталогу с файлами книг" -#: .\sopds\settings.py:158 +#: .\sopds\settings.py:166 msgid "List of managed book files extensions" msgstr "Список расширений файлов, для включения в коллекцию книг" -#: .\sopds\settings.py:159 +#: .\sopds\settings.py:167 msgid "Turn once scanning directly" msgstr "Запустить внеочередное однократное сканирование коллекции книг" -#: .\sopds\settings.py:161 +#: .\sopds\settings.py:169 msgid "Enable authentication" msgstr "Включить аутентификацию" -#: .\sopds\settings.py:162 +#: .\sopds\settings.py:170 msgid "Enable alphabet submenu" msgstr "Включить субменю выбора алфавита" -#: .\sopds\settings.py:163 +#: .\sopds\settings.py:171 msgid "This flag hides found doublicates" msgstr "Флаг прячет найденные дубликаты книг" -#: .\sopds\settings.py:164 +#: .\sopds\settings.py:172 msgid "This flag activate showing cover of books" msgstr "Флаг активирует показ обложек книг" -#: .\sopds\settings.py:165 +#: .\sopds\settings.py:173 msgid "Max subitems count in alphabet menuitem" msgstr "Максимальное число подэлементов в элементах алфавитных меню" -#: .\sopds\settings.py:166 +#: .\sopds\settings.py:174 msgid "Max items on page" msgstr "Максимальное число элементов на странице" -#: .\sopds\settings.py:167 +#: .\sopds\settings.py:175 msgid "Create downloaded filename from book title" msgstr "Имя загружаемого файла формировать из названия книги" -#: .\sopds\settings.py:168 +#: .\sopds\settings.py:176 msgid "Path to image file showing for book without embedded cover" msgstr "Путь к изображению, для показа в качестве обложки для книг без обложек" -#: .\sopds\settings.py:171 +#: .\sopds\settings.py:179 msgid "This flag activate extraction metadata from fb2 files" msgstr "Флаг активирует извлеченеи метаданных из fb2-файлов" -#: .\sopds\settings.py:172 +#: .\sopds\settings.py:180 msgid "This flag activate zip files scanning" msgstr "Флаг разрешает сканированеи содержимого ZIP файлов" -#: .\sopds\settings.py:173 +#: .\sopds\settings.py:181 msgid "Set codepage for filenames inside zipfile" msgstr "Codepage для имен файлов внутри ZIP" -#: .\sopds\settings.py:174 +#: .\sopds\settings.py:182 msgid "" "Enables read metadata from inpx-file (and stop scanning deeper from ipx-file " "place)" @@ -83,67 +87,67 @@ msgstr "" "Считываем метаданные книг з INPX-файлов (при этом не сканируем файлы и " "каталоги, расположенные на уровне или ниже найденого INPX)" -#: .\sopds\settings.py:175 +#: .\sopds\settings.py:183 msgid "Skip scanning INPX with unchanged size after previous scan" msgstr "" "Не сканируем INPX, если его размер не изменился с предидущего сканирования" -#: .\sopds\settings.py:176 +#: .\sopds\settings.py:184 msgid "Test avialability zip files listed in INPX before add in collection" msgstr "" "Проверяем наличие zip файлов, перечисленных в INPX перед добавлением их " "содержимого в коллекцию" -#: .\sopds\settings.py:177 +#: .\sopds\settings.py:185 msgid "Test avialability book files listed in INPX before add in collection" msgstr "" "Тестируем наличие книг, перечисленных в INPX перед добавлением их " "содержимого в коллекцию" -#: .\sopds\settings.py:178 +#: .\sopds\settings.py:186 msgid "Logical deleting unavialable files" msgstr "Логическое удаление отсутствующих файлов" -#: .\sopds\settings.py:180 +#: .\sopds\settings.py:188 msgid "sheduled minutes for sopds_scanner (cron syntax)" msgstr "минуты для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:181 +#: .\sopds\settings.py:189 msgid "sheduled hours for sopds_scanner (cron syntax)" msgstr "часы для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:182 +#: .\sopds\settings.py:190 msgid "sheduled day for sopds_scanner (cron syntax)" msgstr "дни для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:183 +#: .\sopds\settings.py:191 msgid "sheduled day of weeks for sopds_scanner (cron syntax)" msgstr "дни недели для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:185 +#: .\sopds\settings.py:193 msgid "Path to FB2-EPUB converter program" msgstr "Путь к конвертеру FB2-EPUB" -#: .\sopds\settings.py:186 +#: .\sopds\settings.py:194 msgid "Path to FB2-MOBI converter program" msgstr "Путь к конвертеру FB2-MOBI" -#: .\sopds\settings.py:187 +#: .\sopds\settings.py:195 msgid "Path to temporary files directory" msgstr "Путь к временному каталогу" -#: .\sopds\settings.py:189 +#: .\sopds\settings.py:197 msgid "Path to logfile for sopds_server process" msgstr "Путь к логфайлу для процесса sopds_server" -#: .\sopds\settings.py:190 +#: .\sopds\settings.py:198 msgid "Path to logfile for sopds_scanner process" msgstr "Путь к логфайлу для процесса sopds_scanner" -#: .\sopds\settings.py:191 +#: .\sopds\settings.py:199 msgid "Path to pidfile for sopds_server process" msgstr "Путь к pid-файлу для процесса sopds_server" -#: .\sopds\settings.py:192 +#: .\sopds\settings.py:200 msgid "Path to pidfile for sopds_scanner process" msgstr "Путь к pid-файлу для процесса sopds_scanner" diff --git a/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo b/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo index c1e39ba33dd6678143992a889252337f9a76cd42..f7698cc762eb1aca1d84ce9a09afc98d0cbeb375 100644 GIT binary patch delta 1459 zcmX@C-Jnx{Pl#nI0|NttJp%)S3<Cp$2onQCBm)Bj4+}_?fuVqvfq{*IfuWF<fq|WY zfuVwxfq{d8fuVtwfq|2OfuWO?fq|QWfnhQ$0|P4q1H*i%_)=B|hA;*OhV@YWY-|vH zyle~%ybKHsVr&cy!VC=c3@U6448{x$3>It<i*nc)7(^Ku7>d~#7z98TurV+QGB7aA zVuM(?hK+%NkAZ<<8<alE#=yYEz`$^Y4dQ_NP;;I_`ES@57(jmc1m%BcV_=YCU|{$Q zR#(r!Ai)mND9;XYfGU))!w#{~h#lf`8+M4xUD+W%4rYfK9M2AMKnhfUK0CzWW$X+L z{0s~X?NI)7D1QZ1-3}04&%nU2A8Nrdb_RwDMh1rS><kRj3=9k&oD2-&3=9k@oDc`r za56B+F)%PRaWXK-GB7YK<b<f(&k2dT+fe!kRGlan1A`$01A_?{!~<zu5D(--`L$dO z4E3P6ZR3LYpqC30$1}JX7+x_lFf4$Ick?hX@GvkiOyhwVu$YH|L6U)iVIvR3;?q13 z{V$;6pLrM<wlOd;@bW_R9pQz9$VFZT1~CQ(hDW>%45|za3_p1p>KURL7#QUFAaPpF z$H1V?z`)SO2l3%HK8TO6@Iiv|Gatmq%>0lvBG1pjAi==EV9F1PDnEXRLn5GbGC#!J zJgB-_eg+0}kVp6-A##qt9>TZ|)$jnS;Wa<R<-edby8y&s5dnz9<OLw|wgL<cA`A=+ zUQqdX0Z52s2|yBAJCt4|z`&rvz`(E<s_q$-{#Y--z#zoH!0<<af#C!b0|UPx1A_qr z1H%nr1_n(A1_n+MNYELJFfgbwFfh1?K*X~}7#Nfp7#OCCK!S3o2m^x(0|Uc-s5%x= z28LV)1_o_W1_pTs28NlU5Oa2lLPGMCC?v${Z$Sl~h(c2J7f}WVMo88Nlb}2gVt@>> zW`I}%;)Ajzh_(e03=mI%m<kM#AP1EVpu`GF$e_3e$$_vXw5$Q8J8n?^7Y2zUVN(VM z21N!220I2wT!BIZByGb02?0=+0`c`3AVF-wz`&pjD!4$t1xY|LDCI+$;PM2NPCx}5 zs4M`9gAy<Y11SG7FfeE_K!Q_`fq}sYB+J0SU<Rc@6eub{SrJrFfpP+<qyveA3Mf#D zRtIrFS&ab_&mgW610>B@F+kD`Gbl$eFfiyaFfcHI6gZZaWNh|j-O0#YmRhu#nf)j; nhmoOzp}Ccj>E;Vu?^t-}Uf6MA*M)r-Hec9sVZ-J<{OoK1<^X&( delta 1393 zcmZqBIjmiOPl#nI0|Ntt9RmY{3<CoL4-*4JFara_A7+p!1A_-E0|Ofa1A`|k0|Pq) z1495S0|N&G149HW0|O@m14AM!0|Pe$14A||0|P4q14B7fyq1-LA&h~6p&hFK9#r2` zRt5%M1_p+AtPBjo3=H)Qe^?n9j2Rdh1lS-Jxv()Xh%zuRc(XAu2!JeLV_*<uU|=X> zgIL(Y#=yYGz`)Q4rRTCSFmN$2FsxyNIAA-}oV`%~5jF+}76t}}Q&9eSHU<VM1_p+! zV0HBj3?HBp-@yV541b{(v9LpY%Eu0Iu{b-#r>g7_0}a_B7Mrm{9PY>taj*wF0|P$; z14AT~p9$qxLDh9Z>4_lo>lqjrX0S6bR4_6yEM#Y3kY-?Dkm6)u5NBXuFyn;y$d8kO zL5_ieA%v5GL6(7mp_mh*ZXzcn%GN^ZQ&4r!IT;uX85kJYxF8;|;DUI-5z6=Hf;c#W zi-DmY6m;=ikhsm_Vqkd1$iPs<1@T!d4+8@a0|P?_55#~{9tH+U1_p*^9*D(rc_8X` zLB)^qFfeRmU|_fp)i;e75+aLv85qPE7#OzjGBBtzFfg3vWnhSAU|{&j%TN!FOJ6<) z25klgh8RAG4?FlEK3>KL3Cg2<5FcOVgQSg*d<+Z{3=9nH{E#%Ezz=bV7L+#Sholh) zeuz4Meg+0}kVp6-A+i8UujH?XXxzjP@#$VDeF|#Ob$*D09zn%HDN=-ifq_>5qEATx z5)!%skVNGLrBekM7&I6d7#g7JRzm450t^g73=9nW1sE7kFflM(suy5jFkoO{m@Uk} zpvl0%a7GvsWZ#4t7}P*M6oH8Ai7+rIgR-3nBnWFn7#LI-7#J3bK-3)<VPMDwWh)T| z26<3OibBk(5ru?cuP7v>=0f?)MIni~e!D0G10yKkL$W)V1jQ97A%e;TkN_w#Su!v% zFfl+Z2bBjPaUBLo@PgR-43HoPc>+{UfbzH&0|SFC10*qnf?pA&5Q-HTz)=oL{|pQk zP(cu710on8@vO@L@f}DAlxIN&4yY^;W?*12VSt1HsL%lgHK<Smm06%r0;x9x5e$&% z0|hxKp&KzkLI+f?K&1U4!2rsypm>D{GBB7jKnf*wXsHMi2c>)~21vpL6)4sW3=B#P q3=Dc8NhmhhoXdKUakB~gA!ZH(3k4$sD`U&e|G3_<Z2ry9$_4<f`)maO diff --git a/sopds_web_backend/locale/ru/LC_MESSAGES/django.po b/sopds_web_backend/locale/ru/LC_MESSAGES/django.po index 594622f..776549c 100644 --- a/sopds_web_backend/locale/ru/LC_MESSAGES/django.po +++ b/sopds_web_backend/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-08 20:39+0300\n" +"POT-Creation-Date: 2017-01-21 17:25+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -99,7 +99,7 @@ msgstr "Авторы:" #: .\sopds_web_backend\templates\sopds_books.html:60 #: .\sopds_web_backend\templates\sopds_menu.html:9 #: .\sopds_web_backend\templates\sopds_menu.html:31 -#: .\sopds_web_backend\views.py:484 .\sopds_web_backend\views.py:488 +#: .\sopds_web_backend\views.py:481 .\sopds_web_backend\views.py:485 msgid "Genres" msgstr "Жанры" @@ -107,7 +107,7 @@ msgstr "Жанры" #: .\sopds_web_backend\templates\sopds_logo.html:29 #: .\sopds_web_backend\templates\sopds_menu.html:10 #: .\sopds_web_backend\templates\sopds_menu.html:33 -#: .\sopds_web_backend\views.py:269 .\sopds_web_backend\views.py:469 +#: .\sopds_web_backend\views.py:267 .\sopds_web_backend\views.py:466 msgid "Series" msgstr "Серии" @@ -131,11 +131,11 @@ msgstr "Дубликаты книги:" msgid "You are here:" msgstr "Вы здесь:" -#: .\sopds_web_backend\templates\sopds_footer.html:5 +#: .\sopds_web_backend\templates\sopds_footer.html:6 msgid "BOOKSHELF" msgstr "КНИЖНАЯ ПОЛКА" -#: .\sopds_web_backend\templates\sopds_footer.html:18 +#: .\sopds_web_backend\templates\sopds_footer.html:19 msgid "" "Bookshelf is available only SimpleOPDS Catalog mode with activated user " "authorization." @@ -143,35 +143,39 @@ msgstr "" "Книжная полка доступна только в режиме работы SimpleOPDS Catalog со " "включенной авторизацией пользователей." -#: .\sopds_web_backend\templates\sopds_footer.html:22 +#: .\sopds_web_backend\templates\sopds_footer.html:23 msgid "STATISTICS" msgstr "СТАТИСТИКА" -#: .\sopds_web_backend\templates\sopds_footer.html:24 +#: .\sopds_web_backend\templates\sopds_footer.html:25 msgid "This сatalog contains:" msgstr "Этот каталог содержит:" -#: .\sopds_web_backend\templates\sopds_footer.html:25 +#: .\sopds_web_backend\templates\sopds_footer.html:26 msgid "books," msgstr "книг," -#: .\sopds_web_backend\templates\sopds_footer.html:26 +#: .\sopds_web_backend\templates\sopds_footer.html:27 msgid "authors," msgstr "авторов," -#: .\sopds_web_backend\templates\sopds_footer.html:27 +#: .\sopds_web_backend\templates\sopds_footer.html:28 msgid "genres and" msgstr "жанров и" -#: .\sopds_web_backend\templates\sopds_footer.html:28 +#: .\sopds_web_backend\templates\sopds_footer.html:29 msgid "series." msgstr "серий." -#: .\sopds_web_backend\templates\sopds_footer.html:31 +#: .\sopds_web_backend\templates\sopds_footer.html:32 msgid "Last collection scan date:" msgstr "Дата последнего сканирования:" -#: .\sopds_web_backend\templates\sopds_footer.html:37 +#: .\sopds_web_backend\templates\sopds_footer.html:33 +msgid "Never" +msgstr "Никогда" + +#: .\sopds_web_backend\templates\sopds_footer.html:38 msgid "RANDOM BOOK" msgstr "СЛУЧАЙНАЯ КНИГА" @@ -220,7 +224,7 @@ msgid "Log in" msgstr "Вход" #: .\sopds_web_backend\templates\sopds_logo.html:14 -#: .\sopds_web_backend\views.py:269 .\sopds_web_backend\views.py:308 +#: .\sopds_web_backend\views.py:267 .\sopds_web_backend\views.py:306 msgid "Search" msgstr "Найти" @@ -244,18 +248,18 @@ msgstr "Каталоги" #: .\sopds_web_backend\templates\sopds_menu.html:7 #: .\sopds_web_backend\templates\sopds_menu.html:17 -#: .\sopds_web_backend\views.py:91 .\sopds_web_backend\views.py:97 -#: .\sopds_web_backend\views.py:110 .\sopds_web_backend\views.py:122 -#: .\sopds_web_backend\views.py:131 .\sopds_web_backend\views.py:134 -#: .\sopds_web_backend\views.py:143 .\sopds_web_backend\views.py:147 -#: .\sopds_web_backend\views.py:157 .\sopds_web_backend\views.py:169 -#: .\sopds_web_backend\views.py:401 +#: .\sopds_web_backend\views.py:89 .\sopds_web_backend\views.py:95 +#: .\sopds_web_backend\views.py:108 .\sopds_web_backend\views.py:120 +#: .\sopds_web_backend\views.py:129 .\sopds_web_backend\views.py:132 +#: .\sopds_web_backend\views.py:141 .\sopds_web_backend\views.py:145 +#: .\sopds_web_backend\views.py:155 .\sopds_web_backend\views.py:167 +#: .\sopds_web_backend\views.py:398 msgid "Books" msgstr "Книги" #: .\sopds_web_backend\templates\sopds_menu.html:8 #: .\sopds_web_backend\templates\sopds_menu.html:24 -#: .\sopds_web_backend\views.py:308 .\sopds_web_backend\views.py:435 +#: .\sopds_web_backend\views.py:306 .\sopds_web_backend\views.py:432 msgid "Authors" msgstr "Авторы" @@ -285,7 +289,7 @@ msgid "Total: %(s_book_count)s books." msgstr "Всего: %(s_book_count)s книг." #: .\sopds_web_backend\templates\sopds_top.html:19 -#: .\sopds_web_backend\views.py:544 +#: .\sopds_web_backend\views.py:541 msgid "Logout" msgstr "Выход" @@ -294,52 +298,52 @@ msgid "Settings" msgstr "Настройки" #: .\sopds_web_backend\templates\sopds_top.html:24 -#: .\sopds_web_backend\views.py:516 +#: .\sopds_web_backend\views.py:513 msgid "Login" msgstr "Вход" -#: .\sopds_web_backend\views.py:91 .\sopds_web_backend\views.py:97 +#: .\sopds_web_backend\views.py:89 .\sopds_web_backend\views.py:95 msgid "Search by title" msgstr "Поиск по наименованию" -#: .\sopds_web_backend\views.py:110 +#: .\sopds_web_backend\views.py:108 msgid "Search by author" msgstr "Поиск по автору" -#: .\sopds_web_backend\views.py:122 +#: .\sopds_web_backend\views.py:120 msgid "Search by series" msgstr "Поиск по серии" -#: .\sopds_web_backend\views.py:131 .\sopds_web_backend\views.py:134 +#: .\sopds_web_backend\views.py:129 .\sopds_web_backend\views.py:132 msgid "Search by genre" msgstr "Поиск по жанру" -#: .\sopds_web_backend\views.py:143 .\sopds_web_backend\views.py:147 +#: .\sopds_web_backend\views.py:141 .\sopds_web_backend\views.py:145 msgid "Bookshelf" msgstr "Книжная полка" -#: .\sopds_web_backend\views.py:157 +#: .\sopds_web_backend\views.py:155 msgid "Doubles for book" msgstr "Дубликаты книги" -#: .\sopds_web_backend\views.py:363 +#: .\sopds_web_backend\views.py:361 msgid "ROOT" msgstr "НАЧАЛО" -#: .\sopds_web_backend\views.py:401 .\sopds_web_backend\views.py:435 -#: .\sopds_web_backend\views.py:469 .\sopds_web_backend\views.py:484 -#: .\sopds_web_backend\views.py:488 +#: .\sopds_web_backend\views.py:398 .\sopds_web_backend\views.py:432 +#: .\sopds_web_backend\views.py:466 .\sopds_web_backend\views.py:481 +#: .\sopds_web_backend\views.py:485 msgid "Select" msgstr "Выбор" -#: .\sopds_web_backend\views.py:511 +#: .\sopds_web_backend\views.py:508 msgid "HOME" msgstr "ГЛАВНАЯ" -#: .\sopds_web_backend\views.py:532 +#: .\sopds_web_backend\views.py:529 msgid "This account is not active!" msgstr "Учетная запись не активна!" -#: .\sopds_web_backend\views.py:535 +#: .\sopds_web_backend\views.py:532 msgid "User does not exist or the password is incorrect!" msgstr "Пользователь не существует или введен неправильный пароль!" diff --git a/sopds_web_backend/templates/sopds_footer.html b/sopds_web_backend/templates/sopds_footer.html index 095ced4..992ee0a 100644 --- a/sopds_web_backend/templates/sopds_footer.html +++ b/sopds_web_backend/templates/sopds_footer.html @@ -30,7 +30,7 @@ </p> <p style="font-size:90%;"> <b>{% trans "Last collection scan date:" %}</b> -<span class="label">{{ stats.lastscan_date }}</span> +<span class="label"> {% if stats.lastscan_date %}{{ stats.lastscan_date }}{% else %}{% trans "Never" %}{% endif %}</span> </p> </div> <div class="large-4 columns" style="padding:0; margin-top:1rem;"> diff --git a/sopds_web_backend/views.py b/sopds_web_backend/views.py index 64ca9ab..987496d 100644 --- a/sopds_web_backend/views.py +++ b/sopds_web_backend/views.py @@ -60,7 +60,7 @@ def sopds_processor(request): args['random_book'] = random_book stats = { d['name']:d['value'] for d in Counter.obj.all().values() } - stats['lastscan_date']=Counter.obj.get(name='allbooks').update_time + stats['lastscan_date']=Counter.objects.get_lastscan() args['stats'] = stats return args -- GitLab