diff --git a/comic_download/comic_strip.py b/comic_download/comic_strip.py index 9db0cd7..f77bd0b 100644 --- a/comic_download/comic_strip.py +++ b/comic_download/comic_strip.py @@ -79,7 +79,7 @@ def get_identifier_string(identifier): return identifier elif type(identifier) == tuple or type(identifier) == list: # Check for spaces. Their presence influenced the delimiter string. - if any(re.search(r'\s', id) for id in identifier): + if any(re.search(r'\s', str(id)) for id in identifier): delimiter = ' - ' else: delimiter = '-' @@ -100,6 +100,12 @@ class ImageRepo(ABC): seperately. """ + download_headers = { + "accept-language": "en-US,en;q=0.9", + "dnt": "1", + "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" + } + def __init__(self, identifier, image_type): """ Creates an information repository @@ -249,7 +255,7 @@ class ImageRepo(ABC): for name in iterator: logging.info(" Downloading repository %s resource %s", self.get_identifier_string(), name) image_path = NamedTemporaryFile(mode='wb', suffix=str(name), prefix=self.get_identifier_string(), delete = False) - result = requests.get(self.image_urls[name]) + result = requests.get(self.image_urls[name], headers=self.download_headers) result.raise_for_status() image_path.write(result.content) image_path.close() @@ -330,8 +336,8 @@ class Comic(ImageRepo, ABC): """ with self._index_lock: if not self.identifier in self.strip_index: - self.strip_index[self.identifier] = {} - self.strip_index[self.identifier][strip.identifier] = strip.get_filename() + self.strip_index[self.get_identifier_string()] = {} + self.strip_index[self.get_identifier_string()][strip.identifier] = strip.get_filename() def is_strip_present(self, base_path: Path, suffix: str, identifier) -> bool: """ @@ -342,11 +348,11 @@ class Comic(ImageRepo, ABC): :param identifier: The identifier to check. :returns: True if the strip file has been saved. """ - if not self.identifier in self.strip_index: + if not self.get_identifier_string() in self.strip_index: return False - if not identifier in self.strip_index[self.identifier]: + if not identifier in self.strip_index[self.get_identifier_string()]: return False - path = Path(base_path, self.strip_index[self.identifier][identifier] + suffix) + path = Path(base_path, self.strip_index[self.get_identifier_string()][identifier] + suffix) return path.exists()