Commit e2362b86 authored by jvoisin's avatar jvoisin

Improve epub support

Warn when there are encrypted fonts in an epub file
parent 626669f9
Pipeline #55681 failed with stages
in 52 seconds
import logging
import re
import uuid
import zipfile
import xml.etree.ElementTree as ET # type: ignore
from typing import Dict, Any
......@@ -27,7 +28,16 @@ class EPUBParser(archive.ZipParser):
}))
self.uniqid = uuid.uuid4()
def _specific_get_meta(self, full_path, file_path):
def is_archive_valid(self):
super().is_archive_valid()
with zipfile.ZipFile(self.filename) as zin:
for item in self._get_all_members(zin):
member_name = self._get_member_name(item)
if member_name.endswith('META-INF/encryption.xml'):
raise ValueError('the file contains encrypted fonts')
def _specific_get_meta(self, full_path, file_path) -> Dict[str, Any]:
if not file_path.endswith('.opf'):
return {}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment