Adds request header functionality and fixes indexing
The headers are useful for working around 401 errors. The indexing changes prevent crashes from tuple identifiers.
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user