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