stanislavvv: (Default)
stanislavvv ([personal profile] stanislavvv) wrote2025-06-19 10:26 pm

мелкие проблемы декодирования fb2

В моей nih-библиотеке поверх кучи fb2 в десятках .zip есть такая штука, как обновление данных.
В первый этап обновления входит, что все fb2 извлекаются, из них выковыриваются метаданные и обложки и сохраняются для дальнейшего использования.
Пока писал библиотеку, наступил на следующие варианты э... несоответствий в fb2:

1. файлы размером меньше, чем минимальный размер метаданных. Просто пропускаем, там интересного быть не может, сколько ни смотрел глазами — не находил.
2. кривой xml (если кто не в курсе — fb2 таки xml). Обходится использованием питоновской BeautifulSoap и, при необходимости, отдельным указанием неймспейса.
4. кривые данные в xml, к примеру, структура FictionBook сильно не там, где ожидается. Отдельные функции для поиска нужного (разные поля запрятываются по-разному).
5. криво закодированные картинки в base64 (интересовали обложки). Забил и сделал кучу try...except, среди которых декодируется:
  - как есть
  - дополненные символами = до нужной длины
  - обрезанные с конца от 1 до 6 символов (тут цифру взял с потолка)

Вероятно, список будет пополняться, так как на картинки в base64 обратил внимание только сегодня.
 



Post a comment in response:

(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org