Несколько вопросов.

7 years 3 months ago #929 by i_stas
i_stas created the topic: Несколько вопросов.
CentOS Linux 7.2.1511 selinux disabled
Python-3.5.2
sopds v.0.38 zip с сайта. файлы в архиве датированы 22 дек 2016 19:51

изначально у меня была флибуста на апрель 2015. 140 гигов. 321000 книг.
sopds их импортировал.
я докачал разницу, +58 гигов,
подлложил в каталог к остальным книгам, файл inpx заменил новым
запустил сканириование "python3 manage.py sopds_scanner scan --verbose"

лег спать. утром смотрю, всё те же 321000 книг.
тщательно перепроверил всё. что всё скачано, что архивы целые, что inpx корректный свежий от этой версии библиотеки.
запустил сканирование, подождал час
321000 книг.

удалил inpx
запустил сканирование. подождал три часа.
380662 книг.


=======================================
второй вопрос - а как ему шаблоны поправит по вкусу?

Please Войти or Create an account to join the conversation.

  • i_stas
  • i_stas's Avatar Topic Author
  • Offline
  • Новый участник
  • Новый участник
More
7 years 3 months ago #930 by i_stas
i_stas replied the topic: Несколько вопросов.
Третий вопрос.

А как бы отфильтровать и показывать мне книги только на русском, или только на французском? Убрать другие языки.

Четвертый вопрос.

Как ищутся дубли?
вот например дубли авторов?
Ефремов И Всего: 1 книг.
ЕФРЕМОВ ИВАН Всего: 1 книг.
Ефремов Иван Всего: 153 книг.
Все три - один и тот же автор.

Как ищутся дубли книг?

Please Войти or Create an account to join the conversation.

  • i_stas
  • i_stas's Avatar Topic Author
  • Offline
  • Новый участник
  • Новый участник
More
7 years 3 months ago - 7 years 3 months ago #935 by mitshel
mitshel replied the topic: Несколько вопросов.
По вашим вопросам могу ответить следующее:

1) обратите внимание на следующую опцию, которая описана в README.md:
SOPDS_INPX_SKIP_UNCHANGED - Если True, то сканер пропускает повторное сканирование, если размер INPX не изменялся.
(по умолчанию SOPDS_INPX_SKIP_UNCHANGED = True)
2) Пока никак, но думаю над этим.
3) Дубли ищутся только в выдачах списка книг при совпадении наименования и списка авторов
Last Edit: 7 years 3 months ago by mitshel.

Please Войти or Create an account to join the conversation.

  • mitshel
  • mitshel's Avatar
  • Offline
  • Администратор
  • Администратор
More
7 years 2 months ago #1037 by i_stas
i_stas replied the topic: Несколько вопросов.

1) Если в settyngs.py параметра нет, то по умолчанию SOPDS_INPX_SKIP_UNCHANGED = True. "сканер пропускает повторное сканирование, если размер INPX не изменялся."


Но во первых, размер изменился (и дата/время.) во вторых, он же что то делал целый час, но новых книг не добавил. Пусть он не сканирует повторно те архивы, которые описаны в inpx. Но рядом же появились новые архивы с книгами? Почему не просканировать только их?
А если у меня смешанная коллекция книг, и к одной части есть inpx и а у другой нет (не было и никогда не будет). Как в этом случае добавлять новые книги в библиотеку?

2) Пока никак, но думаю над этим.

Это относится к вопросу о шаблонах\дизайне\внешнем виде библиотеки или фильтру по языку?
В любом случае спасибо.

3) Дубли ищутся только в выдачах списка книг при совпадении наименования и списка авторов


Я привел пример, где, на мой взгляд, два автора однозначно полностью совпадают, если сравнение делать в uppercase.
С третьим примером, в общем то понятно, что технически решить административно-организационный вопрос в колхозной библиотеке невозможно. И невозможно заставить с уважением относится к авторами и писать их имена полностью и без ошибок.

Please Войти or Create an account to join the conversation.

  • i_stas
  • i_stas's Avatar Topic Author
  • Offline
  • Новый участник
  • Новый участник
More
7 years 2 months ago - 7 years 2 months ago #1039 by mitshel
mitshel replied the topic: Несколько вопросов.

Но во первых, размер изменился (и дата/время.) во вторых, он же что то делал целый час, но новых книг не добавил.

К сожалению тоже не могу сказать что у вас происходило. Попробуйте выполнить сканирование с опцией --verbose:
python3 manage.py sopds_scanner scan --verbose
Увидите все сами, если останутся вопросы или найдете ошибку пришлите пожалуйста лог.

Пусть он не сканирует повторно те архивы, которые описаны в inpx. Но рядом же появились новые архивы с книгами? Почему не просканировать только их?
А если у меня смешанная коллекция книг, и к одной части есть inpx и а у другой нет (не было и никогда не будет). Как в этом случае добавлять новые книги в библиотеку?

Если в папке находится INPX файл и включен режим SOPDS_INPX_ENABLE=True, то файлы, расположенные в этой папке и ниже сканироваться не будут. Но вы можете расположить своим файлы которые не описаны в INPX в папке на том же уровне, например:
+ МОЯ БИБЛИОТЕКА
!
+---+  INPX библиотека
!     +---  INPX файл
!     +---  Другие файлы и каталоги
!
+---+ Библиотека без INPX файла

Теперь по поводу дубликатов:
ЕФРЕМОВ ИВАН Всего: 1 книг.
Ефремов Иван Всего: 153 книг.
Похоже Ефремовы Иваны у вас отличаются не только размером букв, но и еще чем-то, может количеством пробелов, может алфавитом буквы "Е" и т.д. Дело в том, что при добавлении в базу данных нового найденного автора как раз и происходит Case-Independent сравнение, т.е. в БД не могут попасть два Ефремовых Ивана, если они отличаются только размером букв.
Last Edit: 7 years 2 months ago by mitshel.

Please Войти or Create an account to join the conversation.

  • mitshel
  • mitshel's Avatar
  • Offline
  • Администратор
  • Администратор
More
7 years 2 months ago #1055 by i_stas
i_stas replied the topic: Несколько вопросов.

К сожалению тоже не могу сказать что у вас происходило. Попробуйте выполнить сканирование с опцией --verbose:

Оказывается у меня совершенно случайно сохранился лог.

Первый запуск.
Startup once book-scan.
2016-12-22 22:02:25,129 INFO      ***** Starting sopds-scan...
2016-12-22 22:02:25,136 INFO     Start process INPX file = /home/flibusta/fb2.Flibusta.Net/flibusta_fb2_local.inpx
.......................   пропустим много строчек Start process ZIP for INP archive  
2016-12-22 22:29:14,543 INFO     Books added      : 272173
2016-12-22 22:29:14,543 INFO     Books skipped    : 0
2016-12-22 22:29:14,543 INFO     Bad books        : 0
2016-12-22 22:29:14,543 INFO     Books DB entries deleted : (0, {})
2016-12-22 22:29:14,543 INFO     Books in archives: 272173
2016-12-22 22:29:14,544 INFO     Archives scanned : 5
2016-12-22 22:29:14,544 INFO     Archives skipped : 0
2016-12-22 22:29:14,544 INFO     Bad archives     : 0
2016-12-22 22:29:14,544 INFO     Time estimated:0 hours, 26 minutes, 49 seconds.
Complete book-scan.
272173 книги. Я в первом сообщении немного ошибся, но суть передал верно.

Здесь скачал и добавил в папку архивы и соответствующий .inpx .
Запустил сканирование, лег спать.
Startup once book-scan.
2016-12-26 23:54:18,502 INFO      ***** Starting sopds-scan...
2016-12-27 00:09:28,200 INFO     Start process INPX file = /home/flibusta/fb2.Flibusta.Net/flibusta_fb2_local.inpx
.......................   пропустим много строчек Start process ZIP for INP archive  
2016-12-27 01:18:55,897 INFO     Books added      : 321024
2016-12-27 01:18:55,898 INFO     Books skipped    : 0
2016-12-27 01:18:55,898 INFO     Bad books        : 0
2016-12-27 01:18:55,898 INFO     Books DB entries deleted : (1032312, {'opds_catalog.bgenre': 322986, 'opds_catalog.bseries': 118275, 'opds_catalog.bookshelf': 0, 'opds_catalog.bauthor': 318878, 'opds_catalog.Book': 272173})
2016-12-27 01:18:55,898 INFO     Books in archives: 321024
2016-12-27 01:18:55,898 INFO     Archives scanned : 0
2016-12-27 01:18:55,898 INFO     Archives skipped : 0
2016-12-27 01:18:55,898 INFO     Bad archives     : 0
2016-12-27 01:18:55,904 INFO     Time estimated:1 hours, 24 minutes, 37 seconds.
Complete book-scan.
На следующий день посмотрел. На первый взгляд вроде ОК.
Только.......
Там откуда я качал сказано что итого книг должно быть больше примерно на 20%.

Запустил еще раз.
2016-12-27 11:35:50,907 INFO      ***** Starting sopds-scan...
2016-12-27 11:35:51,005 INFO     Start process INPX file = /home/flibusta/fb2.Flibusta.Net/flibusta_fb2_local.inpx
.......................   пропустим много строчек Start process ZIP for INP archive  
2016-12-27 12:30:47,648 INFO     Books added      : 321024
2016-12-27 12:30:47,648 INFO     Books skipped    : 0
2016-12-27 12:30:47,648 INFO     Bad books        : 0
2016-12-27 12:30:47,648 INFO     Books DB entries deleted : (0, {})
2016-12-27 12:30:47,648 INFO     Books in archives: 321024
2016-12-27 12:30:47,648 INFO     Archives scanned : 0
2016-12-27 12:30:47,649 INFO     Archives skipped : 0
2016-12-27 12:30:47,649 INFO     Bad archives     : 0
2016-12-27 12:30:47,649 INFO     Time estimated:0 hours, 54 minutes, 56 seconds.
Без изменений.

Много думал.

Удалил inpx, запустил сканирование.
2016-12-27 14:05:37,680 INFO      ***** Starting sopds-scan...
.......................   пропустим много строчек fb2 parse error 
2016-12-27 17:14:58,430 INFO     Books added      : 380662
2016-12-27 17:14:58,468 INFO     Books skipped    : 0
2016-12-27 17:14:58,469 INFO     Bad books        : 28
2016-12-27 17:14:58,469 INFO     Books DB entries deleted : (0, {})
2016-12-27 17:14:58,469 INFO     Books in archives: 380662
2016-12-27 17:14:58,469 INFO     Archives scanned : 101
2016-12-27 17:14:58,469 INFO     Archives skipped : 0
2016-12-27 17:14:58,469 INFO     Bad archives     : 0
2016-12-27 17:14:58,469 INFO     Time estimated:3 hours, 9 minutes, 20 seconds.

380662 это уже +/- "то что надо".

(в том числе) -28 битых или (не считая) +28 битых?

Если в папке находится INPX файл и включен режим SOPDS_INPX_ENABLE=True, то файлы, расположенные в этой папке и ниже сканироваться не будут. Но вы можете расположить своим файлы которые не описаны в INPX в папке на том же уровне, например:


SOPDS_INPX_ENABLE= Default

Такого параметра в settings.py нет.

Спасибо за совет. Буду иметь в виду.

Похоже Ефремовы Иваны у вас отличаются не только размером букв, но и еще чем-то, может количеством пробелов, может алфавитом буквы "Е" и т.д. Дело в том, что при добавлении в базу данных нового найденного автора как раз и происходит Case-Independent сравнение, т.е. в БД не могут попасть два Ефремовых Ивана, если они отличаются только размером букв.



Ефремов с одной книгой это
Название книги: ТАИС АФИНСКАЯ
Авторы: ЕФРЕМОВ ИВАН
Жанры Альтернативная история, попаданцы
Файл: f.fb2-280768-285622.zip/281283.fb2
Размер файла: 1906Кб.
Дата правки: 03.06.2012
[code]
   <author>
    <first-name>ИВАН</first-name>
    <middle-name>АНТОНОВИЧ</middle-name>
    <last-name>ЕФРЕМОВ</last-name>
   </author>
   <book-title>ТАИС АФИНСКАЯ</book-title>
[/code]

У Ефремова с 153 книгами есть
Название книги: Таис Афинская
Авторы: Ефремов Иван
Жанры Историческая проза, Советская классическая проза
Файл: fb2-119691-132107.zip/126668.fb2
Размер файла: 1822Кб.
Дата правки: 05.10.2004 
[code]<author>
<first-name>Иван</first-name>
<middle-name>Антонович</middle-name>
<last-name>Ефремов</last-name>
</author>

Название книги: Таис Афинская
Авторы: Ефремов Иван
Жанры Исторические приключения
Файл: f.fb2-311762-314957.zip/312133.fb2
Размер файла: 1839Кб.
Дата правки: 02.04.2008
<author><first-name>Иван</first-name><middle-name>Антонович</middle-name><last-name>Ефремов</last-name></author><book-title>Таис Афинская</book-title>
[/code]

Скорее всего баг в коде. Потому что еще один пример некорректной работы регистронезависмого сравнения есть рядом. Может быть оно, как всегда, регистронезависимо только английский алфавит сравнивает, а русский санкции запрещают?
Ефиминюк Марина Всего: 12 книг.
ЕФИМИНЮК Марина Всего: 1 книг.
Attachments:

Please Войти or Create an account to join the conversation.

  • i_stas
  • i_stas's Avatar Topic Author
  • Offline
  • Новый участник
  • Новый участник
More
Time to create page: 0.217 seconds