diff --git a/README.md b/README.md index d943b184ec1968816f6825458e88f9865d57456d..52d396eee3b49c78e53a7d460a436c457df77cdd 100644 --- a/README.md +++ b/README.md @@ -363,5 +363,7 @@ MySQL по сравнению с sqlite работает гораздо быст (по умолчанию SOPDS_SCAN_SHED_DAY = '*') (по умолчанию SOPDS_SCAN_SHED_DOW = '*') +**SOPDS_SCAN_START_DIRECTLY** - установка для этого параметра значения True, приведет к тому, что при очередной проверке процессом sopds_scanner этого флага (каждые 10 минут) +запустится внеочередное сканированеи коллекции, а указаный флаг вновь сброситься в False. diff --git a/opds_catalog/locale/ru/LC_MESSAGES/django.mo b/opds_catalog/locale/ru/LC_MESSAGES/django.mo index 73c42f1fa86c2dbd3d47be7d580952432cbf5f34..b8ce07bebde12e91545c6f63cb90373489b87da4 100644 Binary files a/opds_catalog/locale/ru/LC_MESSAGES/django.mo and b/opds_catalog/locale/ru/LC_MESSAGES/django.mo differ diff --git a/opds_catalog/locale/ru/LC_MESSAGES/django.po b/opds_catalog/locale/ru/LC_MESSAGES/django.po index d78a2507b8e277ca4ad4e935f4ed3c3357daeec8..dad85db7ae23d5876bc1ce45519926f4a34a3838 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-06 21:29+0300\n" +"POT-Creation-Date: 2017-01-08 15: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" @@ -20,87 +20,87 @@ 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" -#: .\opds_catalog\feeds.py:127 +#: .\opds_catalog\feeds.py:129 #, python-format msgid "All books by %(author)s" msgstr "Все книги автора %(author)s" -#: .\opds_catalog\feeds.py:139 +#: .\opds_catalog\feeds.py:141 msgid "Book doublicates" msgstr "Дубликаты книги" -#: .\opds_catalog\feeds.py:160 .\opds_catalog\feeds.py:245 -#: .\opds_catalog\feeds.py:247 .\opds_catalog\tests\test_feeds.py:22 +#: .\opds_catalog\feeds.py:162 .\opds_catalog\feeds.py:247 +#: .\opds_catalog\feeds.py:249 .\opds_catalog\tests\test_feeds.py:24 msgid "By catalogs" msgstr "По каталогам" -#: .\opds_catalog\feeds.py:161 .\opds_catalog\tests\test_feeds.py:23 +#: .\opds_catalog\feeds.py:163 .\opds_catalog\tests\test_feeds.py:25 #, python-format msgid "Catalogs: %(catalogs)s, books: %(books)s." msgstr "Каталогов: %(catalogs)s, книг: %(books)s." -#: .\opds_catalog\feeds.py:162 +#: .\opds_catalog\feeds.py:164 msgid "By authors" msgstr "По авторам" -#: .\opds_catalog\feeds.py:163 .\opds_catalog\tests\test_feeds.py:24 +#: .\opds_catalog\feeds.py:165 .\opds_catalog\tests\test_feeds.py:26 #, python-format msgid "Authors: %(authors)s." msgstr "Авторов: %(authors)s." -#: .\opds_catalog\feeds.py:164 +#: .\opds_catalog\feeds.py:166 msgid "By titles" msgstr "По наименованиям" -#: .\opds_catalog\feeds.py:165 +#: .\opds_catalog\feeds.py:167 #, python-format msgid "Books: %(books)s." msgstr "Книг: %(books)s." -#: .\opds_catalog\feeds.py:166 +#: .\opds_catalog\feeds.py:168 msgid "By genres" msgstr "По жанрам" -#: .\opds_catalog\feeds.py:167 .\opds_catalog\tests\test_feeds.py:25 +#: .\opds_catalog\feeds.py:169 .\opds_catalog\tests\test_feeds.py:27 #, python-format msgid "Genres: %(genres)s." msgstr "Жанров: %(genres)s." -#: .\opds_catalog\feeds.py:168 +#: .\opds_catalog\feeds.py:170 msgid "By series" msgstr "По сериям" -#: .\opds_catalog\feeds.py:169 +#: .\opds_catalog\feeds.py:171 #, python-format msgid "Series: %(series)s." msgstr "Серий: %(series)s." -#: .\opds_catalog\feeds.py:173 +#: .\opds_catalog\feeds.py:175 #, python-format msgid "%(username)s Book shelf" msgstr "Книжная полка (%(username)s)" -#: .\opds_catalog\feeds.py:174 +#: .\opds_catalog\feeds.py:176 #, python-format msgid "%(username)s books readed: %(bookshelf)s." msgstr "Книг прочитано (%(username)s): %(bookshelf)s." -#: .\opds_catalog\feeds.py:305 .\opds_catalog\feeds.py:549 +#: .\opds_catalog\feeds.py:307 .\opds_catalog\feeds.py:551 #, python-format msgid "<b>Authors: </b>%(authors)s<br/>" msgstr "<b>Авторов: </b>%(authors)s<br/>" -#: .\opds_catalog\feeds.py:306 .\opds_catalog\feeds.py:550 +#: .\opds_catalog\feeds.py:308 .\opds_catalog\feeds.py:552 #, python-format msgid "<b>Genres: </b>%(genres)s<br/>" msgstr "<b>Жанров: </b>%(genres)s<br/>" -#: .\opds_catalog\feeds.py:307 .\opds_catalog\feeds.py:551 +#: .\opds_catalog\feeds.py:309 .\opds_catalog\feeds.py:553 #, python-format msgid "<b>Series: </b>%(series)s<br/>" msgstr "<b>Серий: </b>%(series)s<br/>" -#: .\opds_catalog\feeds.py:308 .\opds_catalog\feeds.py:552 +#: .\opds_catalog\feeds.py:310 .\opds_catalog\feeds.py:554 #, python-format msgid "" "<b>File: </b>%(filename)s<br/><b>File size: </b>%(filesize)s<br/><b>Changes " @@ -109,163 +109,163 @@ msgstr "" "<b>Файл: </b>%(filename)s<br/><b>Размер файла: </b>%(filesize)s<br/><b>Дата " "изменения: </b>%(docdate)s<br/>" -#: .\opds_catalog\feeds.py:341 .\opds_catalog\tests\test_feeds.py:58 +#: .\opds_catalog\feeds.py:343 .\opds_catalog\tests\test_feeds.py:60 msgid "Search by titles" msgstr "Поиск по наименованиям" -#: .\opds_catalog\feeds.py:341 +#: .\opds_catalog\feeds.py:343 msgid "Search books by title" msgstr "Поиск книг по наименованию" -#: .\opds_catalog\feeds.py:342 +#: .\opds_catalog\feeds.py:344 msgid "Search by authors" msgstr "Поиск авторов" -#: .\opds_catalog\feeds.py:342 +#: .\opds_catalog\feeds.py:344 msgid "Search authors by name" msgstr "Поиск авторов по имени" -#: .\opds_catalog\feeds.py:343 +#: .\opds_catalog\feeds.py:345 msgid "Search series" msgstr "Поиск серий" -#: .\opds_catalog\feeds.py:375 +#: .\opds_catalog\feeds.py:377 msgid "Books found" msgstr "Найдены книги" -#: .\opds_catalog\feeds.py:375 +#: .\opds_catalog\feeds.py:377 msgid "doubles hide" msgstr "дубликаты скрыты" -#: .\opds_catalog\feeds.py:375 +#: .\opds_catalog\feeds.py:377 msgid "doubles show" msgstr "дубликаты показаны" -#: .\opds_catalog\feeds.py:553 +#: .\opds_catalog\feeds.py:555 #, python-format msgid "<b>Doubles count: </b>%(doubles)s<br/>" msgstr "<b>Число дубликатов: </b>%(doubles)s<br/>" -#: .\opds_catalog\feeds.py:567 +#: .\opds_catalog\feeds.py:569 msgid "Series by authors select" msgstr "Выбор серий у автора" -#: .\opds_catalog\feeds.py:588 +#: .\opds_catalog\feeds.py:590 msgid "Books by series" msgstr "Книги по сериям" -#: .\opds_catalog\feeds.py:588 +#: .\opds_catalog\feeds.py:590 msgid "Books by author and series" msgstr "Книги по авторам и сериям" -#: .\opds_catalog\feeds.py:589 +#: .\opds_catalog\feeds.py:591 msgid "Books outside series" msgstr "Книги вне серий" -#: .\opds_catalog\feeds.py:589 +#: .\opds_catalog\feeds.py:591 msgid "Books by author outside series" msgstr "Книги автора вне серий" -#: .\opds_catalog\feeds.py:590 +#: .\opds_catalog\feeds.py:592 msgid "Books by alphabet" msgstr "Книги по алфавиту" -#: .\opds_catalog\feeds.py:590 +#: .\opds_catalog\feeds.py:592 msgid "Books by author alphabetical order" msgstr "Книги автора в алфавитном порядке" -#: .\opds_catalog\feeds.py:621 +#: .\opds_catalog\feeds.py:623 msgid "Authors found" msgstr "Найдены авторы" -#: .\opds_catalog\feeds.py:674 .\opds_catalog\feeds.py:752 +#: .\opds_catalog\feeds.py:676 .\opds_catalog\feeds.py:754 #, python-format msgid "Books count: %s" msgstr "Всего: %s книг" -#: .\opds_catalog\feeds.py:690 +#: .\opds_catalog\feeds.py:692 msgid "Series found" msgstr "Найдены серии" -#: .\opds_catalog\feeds.py:776 +#: .\opds_catalog\feeds.py:778 msgid "Select language" msgstr "Выбор алфавита" -#: .\opds_catalog\feeds.py:788 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:104 -#: .\opds_catalog\tests\test_feeds.py:117 -#: .\opds_catalog\tests\test_feeds.py:128 +#: .\opds_catalog\feeds.py:790 .\opds_catalog\models.py:36 +#: .\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:789 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:105 +#: .\opds_catalog\feeds.py:791 .\opds_catalog\models.py:36 +#: .\opds_catalog\tests\test_feeds.py:107 msgid "Latin" msgstr "Латинница (LAT)" -#: .\opds_catalog\feeds.py:790 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:106 +#: .\opds_catalog\feeds.py:792 .\opds_catalog\models.py:36 +#: .\opds_catalog\tests\test_feeds.py:108 msgid "Digits" msgstr "Цифры (0..9)" -#: .\opds_catalog\feeds.py:791 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:107 +#: .\opds_catalog\feeds.py:793 .\opds_catalog\models.py:36 +#: .\opds_catalog\tests\test_feeds.py:109 msgid "Other symbols" msgstr "Другие символы" -#: .\opds_catalog\feeds.py:792 .\opds_catalog\models.py:36 -#: .\opds_catalog\tests\test_feeds.py:108 +#: .\opds_catalog\feeds.py:794 .\opds_catalog\models.py:36 +#: .\opds_catalog\tests\test_feeds.py:110 msgid "Show all" msgstr "Показать все" -#: .\opds_catalog\feeds.py:822 +#: .\opds_catalog\feeds.py:824 msgid "Select books by substring" msgstr "Поиск книг по подстроке" -#: .\opds_catalog\feeds.py:859 .\opds_catalog\feeds.py:1025 +#: .\opds_catalog\feeds.py:861 .\opds_catalog\feeds.py:1027 #, python-format msgid "Found: %s books" msgstr "Найдено %s книг" -#: .\opds_catalog\feeds.py:880 +#: .\opds_catalog\feeds.py:882 msgid "Select authors by substring" msgstr "Поиск авторов по подстроке" -#: .\opds_catalog\feeds.py:917 +#: .\opds_catalog\feeds.py:919 #, python-format msgid "Found: %s authors" msgstr "Найдено %s авторов" -#: .\opds_catalog\feeds.py:938 +#: .\opds_catalog\feeds.py:940 msgid "Select series by substring" msgstr "Поиск серий по подстроке" -#: .\opds_catalog\feeds.py:975 +#: .\opds_catalog\feeds.py:977 #, python-format msgid "Found: %s series" msgstr "Найдено %s серий" -#: .\opds_catalog\feeds.py:996 +#: .\opds_catalog\feeds.py:998 #, python-format msgid "Select genres (%s)" msgstr "Выбор жанра (%s)" -#: .\opds_catalog\feeds.py:996 +#: .\opds_catalog\feeds.py:998 msgid "section" msgstr "секция" -#: .\opds_catalog\feeds.py:996 +#: .\opds_catalog\feeds.py:998 msgid "subsection" msgstr "подсекция" -#: .\opds_catalog\opdsdb.py:36 -msgid "Unknown genre" -msgstr "Неизвестный жанр" - -#: .\opds_catalog\tests\test_feeds.py:76 +#: .\opds_catalog\tests\test_feeds.py:78 +#, python-format msgid "All books by %(full_name)s" msgstr "Все книги автора %(full_name)s" +#~ msgid "Unknown genre" +#~ msgstr "Неизвестный жанр" + #~ msgid "Book name:" #~ msgstr "Название:" diff --git a/opds_catalog/management/commands/sopds_scanner.py b/opds_catalog/management/commands/sopds_scanner.py index 2a771cf4677c55c08793b13d9afb94c8147df121..f55ba794b4d46473db0d5cfdc4b5ea2d32684022 100644 --- a/opds_catalog/management/commands/sopds_scanner.py +++ b/opds_catalog/management/commands/sopds_scanner.py @@ -18,6 +18,7 @@ from constance import config class Command(BaseCommand): help = 'Scan Books Collection.' + scan_is_active = False def add_arguments(self, parser): parser.add_argument('command', help='Use [ scan | start | stop | restart ]') @@ -65,6 +66,12 @@ class Command(BaseCommand): self.restart(pid) def scan(self): + if self.scan_is_active: + self.stdout.write('Scan process already active. Skip currend job.') + return + + self.scan_is_active = True + if connection.connection and not connection.is_usable(): del(connections._connections.default) @@ -72,6 +79,7 @@ class Command(BaseCommand): with transaction.atomic(): scanner.scan_all() Counter.objects.update_known_counters() + self.scan_is_active = False def update_shedule(self): self.SCAN_SHED_DAY = config.SOPDS_SCAN_SHED_DAY @@ -85,13 +93,16 @@ class Command(BaseCommand): if connection.connection and not connection.is_usable(): del(connections._connections.default) settings.constance_update_all() - if self.SCAN_SHED_MIN==config.SOPDS_SCAN_SHED_MIN and \ + if not (self.SCAN_SHED_MIN==config.SOPDS_SCAN_SHED_MIN and \ self.SCAN_SHED_HOUR==config.SOPDS_SCAN_SHED_HOUR and \ self.SCAN_SHED_DOW==config.SOPDS_SCAN_SHED_DOW and \ - self.SCAN_SHED_DAY==config.SOPDS_SCAN_SHED_DAY: - return - self.update_shedule() - + self.SCAN_SHED_DAY==config.SOPDS_SCAN_SHED_DAY): + self.update_shedule() + if config.SOPDS_SCAN_START_DIRECTLY: + config.SOPDS_SCAN_START_DIRECTLY + self.stdout.write('Startup scannyng directly by SOPDS_SCAN_START_DIRECTLY flag.') + self.scan() + def start(self): writepid(self.pidfile) self.SCAN_SHED_DAY = config.SOPDS_SCAN_SHED_DAY diff --git a/sopds/locale/ru/LC_MESSAGES/django.mo b/sopds/locale/ru/LC_MESSAGES/django.mo index b963715d578ccf1849569a7aeb290539a5d7c621..370e4e6031ee2d42c8b15b87bce5058f314e5c54 100644 Binary files a/sopds/locale/ru/LC_MESSAGES/django.mo and b/sopds/locale/ru/LC_MESSAGES/django.mo differ diff --git a/sopds/locale/ru/LC_MESSAGES/django.po b/sopds/locale/ru/LC_MESSAGES/django.po index 208e7f9b647a2e02a5173b6a7b09613224ad8186..9262837d4ec4c5277fdd3c5222434b0269d02845 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-06 21:29+0300\n" +"POT-Creation-Date: 2017-01-08 15: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,35 +19,35 @@ 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:152 +#: .\sopds\settings.py:156 msgid "Absolute path to books collection directory" msgstr "Абсолютный путь к каталогу с файлами книг" -#: .\sopds\settings.py:153 +#: .\sopds\settings.py:157 msgid "List of managed book files extensions" msgstr "Список расширений файлов, для включения в коллекцию книг" -#: .\sopds\settings.py:154 +#: .\sopds\settings.py:158 msgid "This flag hides found doublicates" msgstr "Флаг прячет найденные дубликаты книг" -#: .\sopds\settings.py:155 +#: .\sopds\settings.py:159 msgid "This flag activate showing cover of books" msgstr "Флаг активирует показ обложек книг" -#: .\sopds\settings.py:156 +#: .\sopds\settings.py:160 msgid "This flag activate extraction metadata from fb2 files" msgstr "Флаг активирует извлеченеи метаданных из fb2-файлов" -#: .\sopds\settings.py:157 +#: .\sopds\settings.py:161 msgid "This flag activate zip files scanning" msgstr "Флаг разрешает сканированеи содержимого ZIP файлов" -#: .\sopds\settings.py:158 +#: .\sopds\settings.py:162 msgid "Set codepage for filenames inside zipfile" msgstr "Codepage для имен файлов внутри ZIP" -#: .\sopds\settings.py:159 +#: .\sopds\settings.py:163 msgid "" "Enables read metadata from inpx-file (and stop scanning deeper from ipx-file " "place)" @@ -55,87 +55,91 @@ msgstr "" "Считываем метаданные книг з INPX-файлов (при этом не сканируем файлы и " "каталоги, расположенные на уровне или ниже найденого INPX)" -#: .\sopds\settings.py:160 +#: .\sopds\settings.py:164 msgid "Skip scanning INPX with unchanged size after previous scan" msgstr "" "Не сканируем INPX, если его размер не изменился с предидущего сканирования" -#: .\sopds\settings.py:161 +#: .\sopds\settings.py:165 msgid "Test avialability zip files listed in INPX before add in collection" msgstr "" "Проверяем наличие zip файлов, перечисленных в INPX перед добавлением их " "содержимого в коллекцию" -#: .\sopds\settings.py:162 +#: .\sopds\settings.py:166 msgid "Test avialability book files listed in INPX before add in collection" msgstr "" "Тестируем наличие книг, перечисленных в INPX перед добавлением их " "содержимого в коллекцию" -#: .\sopds\settings.py:164 +#: .\sopds\settings.py:168 msgid "Max subitems count in alphabet menuitem" msgstr "Максимальное число подэлементов в элементах алфавитных меню" -#: .\sopds\settings.py:165 +#: .\sopds\settings.py:169 msgid "Max items on page" msgstr "Максимальное число элементов на странице" -#: .\sopds\settings.py:166 +#: .\sopds\settings.py:170 msgid "Path to FB2-EPUB converter program" msgstr "Путь к конвертеру FB2-EPUB" -#: .\sopds\settings.py:167 +#: .\sopds\settings.py:171 msgid "Path to FB2-MOBI converter program" msgstr "Путь к конвертеру FB2-MOBI" -#: .\sopds\settings.py:168 +#: .\sopds\settings.py:172 msgid "Path to temporary files directory" msgstr "Путь к временному каталогу" -#: .\sopds\settings.py:169 +#: .\sopds\settings.py:173 msgid "Create downloaded filename from book title" msgstr "Имя загружаемого файла формировать из названия книги" -#: .\sopds\settings.py:170 +#: .\sopds\settings.py:174 msgid "Enable alphabet submenu" msgstr "Включить субменю выбора алфавита" -#: .\sopds\settings.py:171 +#: .\sopds\settings.py:175 msgid "Path to image file showing for book without embedded cover" msgstr "Путь к изображению, для показа в качестве обложки для книг без обложек" -#: .\sopds\settings.py:172 +#: .\sopds\settings.py:176 msgid "Enable authentication" msgstr "Включить аутентификацию" -#: .\sopds\settings.py:173 +#: .\sopds\settings.py:177 msgid "Path to logfile for sopds_server process" msgstr "Путь к логфайлу для процесса sopds_server" -#: .\sopds\settings.py:174 +#: .\sopds\settings.py:178 msgid "Path to logfile for sopds_scanner process" msgstr "Путь к логфайлу для процесса sopds_scanner" -#: .\sopds\settings.py:175 +#: .\sopds\settings.py:179 msgid "Path to pidfile for sopds_server process" msgstr "Путь к pid-файлу для процесса sopds_server" -#: .\sopds\settings.py:176 +#: .\sopds\settings.py:180 msgid "Path to pidfile for sopds_scanner process" msgstr "Путь к pid-файлу для процесса sopds_scanner" -#: .\sopds\settings.py:177 +#: .\sopds\settings.py:181 msgid "sheduled minutes for sopds_scanner (cron syntax)" msgstr "минуты для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:178 +#: .\sopds\settings.py:182 msgid "sheduled hours for sopds_scanner (cron syntax)" msgstr "часы для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:179 +#: .\sopds\settings.py:183 msgid "sheduled day for sopds_scanner (cron syntax)" msgstr "дни для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:180 +#: .\sopds\settings.py:184 msgid "sheduled day of weeks for sopds_scanner (cron syntax)" msgstr "дни недели для планировщика sopds_Scanner (как в cron)" + +#: .\sopds\settings.py:185 +msgid "Turn once scanning directly" +msgstr "Запустить внеочередное однократное сканирование коллекции книг" diff --git a/sopds/settings.py b/sopds/settings.py index c1449884f28f6783eb61115c7e45695a417d10cc..912fb1f549e834e16f8ab63d6693f87ec8e62b50 100644 --- a/sopds/settings.py +++ b/sopds/settings.py @@ -181,11 +181,12 @@ CONSTANCE_CONFIG = { 'SOPDS_SCAN_SHED_MIN': ('0',_('sheduled minutes for sopds_scanner (cron syntax)')), 'SOPDS_SCAN_SHED_HOUR': ('0,12',_('sheduled hours for sopds_scanner (cron syntax)')), 'SOPDS_SCAN_SHED_DAY': ('*',_('sheduled day for sopds_scanner (cron syntax)')), - 'SOPDS_SCAN_SHED_DOW': ('*',_('sheduled day of weeks for sopds_scanner (cron syntax)')), + 'SOPDS_SCAN_SHED_DOW': ('*',_('sheduled day of weeks for sopds_scanner (cron syntax)')), + 'SOPDS_SCAN_START_DIRECTLY': (False,_('Turn once scanning directly')), } CONSTANCE_CONFIG_FIELDSETS = { - '1. General Options': ('SOPDS_ROOT_LIB', 'SOPDS_BOOK_EXTENSIONS',), + '1. General Options': ('SOPDS_ROOT_LIB', 'SOPDS_BOOK_EXTENSIONS','SOPDS_SCAN_START_DIRECTLY'), '2. Server Options': ('SOPDS_AUTH', 'SOPDS_ALPHABET_MENU', 'SOPDS_DOUBLES_HIDE', 'SOPDS_COVER_SHOW', 'SOPDS_SPLITITEMS', 'SOPDS_MAXITEMS', 'SOPDS_TITLE_AS_FILENAME', 'SOPDS_NOCOVER_PATH'), '3. Scanner Options': ('SOPDS_FB2PARSE','SOPDS_ZIPSCAN','SOPDS_ZIPCODEPAGE', 'SOPDS_INPX_ENABLE', 'SOPDS_INPX_SKIP_UNCHANGED', 'SOPDS_INPX_TEST_ZIP', 'SOPDS_INPX_TEST_FILES', 'SOPDS_DELETE_LOGICAL'), '4. Scanner Shedule': ('SOPDS_SCAN_SHED_MIN', 'SOPDS_SCAN_SHED_HOUR', 'SOPDS_SCAN_SHED_DAY','SOPDS_SCAN_SHED_DOW'), diff --git a/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo b/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo index e0c74d30839a8d0b1097c270c2c30d715e18a81d..25bcd2ecb91b672c4ebf0f5cacc903546f69ac13 100644 Binary files a/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo and b/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo differ diff --git a/sopds_web_backend/locale/ru/LC_MESSAGES/django.po b/sopds_web_backend/locale/ru/LC_MESSAGES/django.po index 2ab2c87499fb9320aba9df3c6f973fd24b30f25f..ec460fb17e22a1f2646a33773473bee72a96ee19 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-06 21:29+0300\n" +"POT-Creation-Date: 2017-01-08 15: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:480 .\sopds_web_backend\views.py:484 +#: .\sopds_web_backend\views.py:484 .\sopds_web_backend\views.py:488 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:267 .\sopds_web_backend\views.py:465 +#: .\sopds_web_backend\views.py:269 .\sopds_web_backend\views.py:469 msgid "Series" msgstr "Серии" @@ -220,7 +220,7 @@ msgid "Log in" msgstr "Вход" #: .\sopds_web_backend\templates\sopds_logo.html:14 -#: .\sopds_web_backend\views.py:267 .\sopds_web_backend\views.py:306 +#: .\sopds_web_backend\views.py:269 .\sopds_web_backend\views.py:308 msgid "Search" msgstr "Найти" @@ -238,24 +238,24 @@ msgstr "Автор" #: .\sopds_web_backend\templates\sopds_menu.html:6 #: .\sopds_web_backend\templates\sopds_menu.html:16 -#: .\sopds_web_backend\views.py:362 +#: .\sopds_web_backend\views.py:364 msgid "Catalogs" msgstr "Каталоги" #: .\sopds_web_backend\templates\sopds_menu.html:7 #: .\sopds_web_backend\templates\sopds_menu.html:17 -#: .\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:397 +#: .\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 msgid "Books" msgstr "Книги" #: .\sopds_web_backend\templates\sopds_menu.html:8 #: .\sopds_web_backend\templates\sopds_menu.html:24 -#: .\sopds_web_backend\views.py:306 .\sopds_web_backend\views.py:431 +#: .\sopds_web_backend\views.py:308 .\sopds_web_backend\views.py:435 msgid "Authors" msgstr "Авторы" @@ -285,7 +285,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:540 +#: .\sopds_web_backend\views.py:544 msgid "Logout" msgstr "Выход" @@ -294,52 +294,52 @@ msgid "Settings" msgstr "Настройки" #: .\sopds_web_backend\templates\sopds_top.html:24 -#: .\sopds_web_backend\views.py:512 +#: .\sopds_web_backend\views.py:516 msgid "Login" msgstr "Вход" -#: .\sopds_web_backend\views.py:89 .\sopds_web_backend\views.py:95 +#: .\sopds_web_backend\views.py:91 .\sopds_web_backend\views.py:97 msgid "Search by title" msgstr "Поиск по наименованию" -#: .\sopds_web_backend\views.py:108 +#: .\sopds_web_backend\views.py:110 msgid "Search by author" msgstr "Поиск по автору" -#: .\sopds_web_backend\views.py:120 +#: .\sopds_web_backend\views.py:122 msgid "Search by series" msgstr "Поиск по серии" -#: .\sopds_web_backend\views.py:129 .\sopds_web_backend\views.py:132 +#: .\sopds_web_backend\views.py:131 .\sopds_web_backend\views.py:134 msgid "Search by genre" msgstr "Поиск по жанру" -#: .\sopds_web_backend\views.py:141 .\sopds_web_backend\views.py:145 +#: .\sopds_web_backend\views.py:143 .\sopds_web_backend\views.py:147 msgid "Bookshelf" msgstr "Книжная полка" -#: .\sopds_web_backend\views.py:155 +#: .\sopds_web_backend\views.py:157 msgid "Doubles for book" msgstr "Дубликаты книги" -#: .\sopds_web_backend\views.py:361 +#: .\sopds_web_backend\views.py:363 msgid "ROOT" msgstr "НАЧАЛО" -#: .\sopds_web_backend\views.py:397 .\sopds_web_backend\views.py:431 -#: .\sopds_web_backend\views.py:465 .\sopds_web_backend\views.py:480 -#: .\sopds_web_backend\views.py:484 +#: .\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 msgid "Select" msgstr "Выбор" -#: .\sopds_web_backend\views.py:507 +#: .\sopds_web_backend\views.py:511 msgid "HOME" msgstr "ГЛАВНАЯ" -#: .\sopds_web_backend\views.py:528 +#: .\sopds_web_backend\views.py:532 msgid "This account is not active!" msgstr "Учетная запись не активна!" -#: .\sopds_web_backend\views.py:531 +#: .\sopds_web_backend\views.py:535 msgid "User does not exist or the password is incorrect!" msgstr "Пользователь не существует или введен неправильный пароль!"