Skip to content

Commit 871d848

Browse files
'Refactored by Sourcery' (#14)
Co-authored-by: Sourcery AI <>
1 parent f5adbc3 commit 871d848

8 files changed

+52
-83
lines changed

darkseid/comicarchive.py

+31-39
Original file line numberDiff line numberDiff line change
@@ -201,18 +201,12 @@ def is_writable(self):
201201
if self.archive_type == self.ArchiveType.Unknown:
202202
return False
203203

204-
if not os.access(self.path, os.W_OK):
205-
return False
206-
207-
return True
204+
return bool(os.access(self.path, os.W_OK))
208205

209206
def seems_to_be_a_comic_archive(self):
210207
"""Returns a boolean as to whether the file is a comic archive"""
211208

212-
if (self.is_zip()) and (self.get_number_of_pages() > 0):
213-
return True
214-
215-
return False
209+
return bool((self.is_zip()) and (self.get_number_of_pages() > 0))
216210

217211
def get_page(self, index):
218212
"""Returns an image(page) from an archive"""
@@ -292,11 +286,13 @@ def read_metadata(self):
292286
self.metadata = ComicInfoXml().metadata_from_string(raw_metadata)
293287

294288
# validate the existing page list (make sure count is correct)
295-
if len(self.metadata.pages) != 0:
296-
if len(self.metadata.pages) != self.get_number_of_pages():
297-
# pages array doesn't match the actual number of images we're seeing
298-
# in the archive, so discard the data
299-
self.metadata.pages = []
289+
if (
290+
len(self.metadata.pages) != 0
291+
and len(self.metadata.pages) != self.get_number_of_pages()
292+
):
293+
# pages array doesn't match the actual number of images we're seeing
294+
# in the archive, so discard the data
295+
self.metadata.pages = []
300296

301297
if len(self.metadata.pages) == 0:
302298
self.metadata.set_default_page_list(self.get_number_of_pages())
@@ -316,19 +312,18 @@ def read_raw_metadata(self):
316312
def write_metadata(self, metadata):
317313
"""Write the metadata to the archive"""
318314

319-
if metadata is not None:
320-
self.apply_archive_info_to_metadata(metadata, calc_page_sizes=True)
321-
md_string = ComicInfoXml().string_from_metadata(metadata)
322-
write_success = self.archiver.write_archive_file(
323-
self.ci_xml_filename, md_string
324-
)
325-
if write_success:
326-
self.has_md = True
327-
self.metadata = metadata
328-
self.reset_cache()
329-
return write_success
330-
331-
return False
315+
if metadata is None:
316+
return False
317+
self.apply_archive_info_to_metadata(metadata, calc_page_sizes=True)
318+
md_string = ComicInfoXml().string_from_metadata(metadata)
319+
write_success = self.archiver.write_archive_file(
320+
self.ci_xml_filename, md_string
321+
)
322+
if write_success:
323+
self.has_md = True
324+
self.metadata = metadata
325+
self.reset_cache()
326+
return write_success
332327

333328
def remove_metadata(self):
334329
"""Remove the metadata from the archive if present"""
@@ -347,12 +342,15 @@ def has_metadata(self):
347342

348343
if self.has_md is None:
349344

350-
if not self.seems_to_be_a_comic_archive():
345+
if (
346+
not self.seems_to_be_a_comic_archive()
347+
or self.seems_to_be_a_comic_archive()
348+
and self.ci_xml_filename
349+
not in self.archiver.get_archive_filename_list()
350+
):
351351
self.has_md = False
352-
elif self.ci_xml_filename in self.archiver.get_archive_filename_list():
353-
self.has_md = True
354352
else:
355-
self.has_md = False
353+
self.has_md = True
356354
return self.has_md
357355

358356
def apply_archive_info_to_metadata(self, metadata, calc_page_sizes=False):
@@ -362,12 +360,12 @@ def apply_archive_info_to_metadata(self, metadata, calc_page_sizes=False):
362360

363361
if calc_page_sizes:
364362
for page in metadata.pages:
365-
idx = int(page["Image"])
366363
if (
367364
"ImageSize" not in page
368365
or "ImageHeight" not in page
369366
or "ImageWidth" not in page
370367
):
368+
idx = int(page["Image"])
371369
data = self.get_page(idx)
372370
if data is not None:
373371
try:
@@ -380,11 +378,6 @@ def apply_archive_info_to_metadata(self, metadata, calc_page_sizes=False):
380378
except IOError:
381379
page["ImageSize"] = str(len(data))
382380

383-
else:
384-
if "ImageSize" not in page:
385-
data = self.get_page(idx)
386-
page["ImageSize"] = str(len(data))
387-
388381
def metadata_from_filename(self, parse_scan_info=True):
389382
"""Attempts to get the metadata from the filename"""
390383

@@ -403,9 +396,8 @@ def metadata_from_filename(self, parse_scan_info=True):
403396
metadata.year = fnp.year
404397
if fnp.issue_count != "":
405398
metadata.issueCount = fnp.issue_count
406-
if parse_scan_info:
407-
if fnp.remainder != "":
408-
metadata.scanInfo = fnp.remainder
399+
if parse_scan_info and fnp.remainder != "":
400+
metadata.scanInfo = fnp.remainder
409401

410402
metadata.isEmpty = False
411403

darkseid/comicinfoxml.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ class ComicInfoXml:
5151
]
5252

5353
def get_parseable_credits(self):
54-
parsable_credits = []
55-
parsable_credits.extend(self.writer_synonyms)
54+
parsable_credits = list(self.writer_synonyms)
5655
parsable_credits.extend(self.penciller_synonyms)
5756
parsable_credits.extend(self.inker_synonyms)
5857
parsable_credits.extend(self.colorist_synonyms)

darkseid/filenameparser.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@ def repl(match):
2828
def fix_spaces(self, string, remove_dashes=True):
2929
"""Returns a string with the spaces fixed"""
3030

31-
if remove_dashes:
32-
placeholders = ["[-_]", " +"]
33-
else:
34-
placeholders = ["[_]", " +"]
31+
placeholders = ["[-_]", " +"] if remove_dashes else ["[_]", " +"]
3532
for place_holder in placeholders:
3633
string = re.sub(place_holder, self.repl, string)
3734
return string # .strip()

darkseid/genericmetadata.py

+12-18
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ def __init__(self):
7474
self.teams = None
7575
self.locations = None
7676

77-
self.credits = list()
78-
self.tags = list()
79-
self.pages = list()
77+
self.credits = []
78+
self.tags = []
79+
self.pages = []
8080

8181
# Some CoMet-only items
8282
self.price = None
@@ -157,11 +157,7 @@ def assign(cur, new):
157157

158158
def overlay_credits(self, new_credits):
159159
for credit in new_credits:
160-
if "primary" in credit and credit["primary"]:
161-
primary = True
162-
else:
163-
primary = False
164-
160+
primary = True if "primary" in credit and credit["primary"] else False
165161
# Remove credit role if person is blank
166162
if credit["person"] == "":
167163
for r in reversed(self.credits):
@@ -174,8 +170,7 @@ def overlay_credits(self, new_credits):
174170
def set_default_page_list(self, count):
175171
# generate a default page list, with the first page marked as the cover
176172
for i in range(count):
177-
page_dict = dict()
178-
page_dict["Image"] = str(i)
173+
page_dict = {"Image": str(i)}
179174
if i == 0:
180175
page_dict["Type"] = PageType.FrontCover
181176
self.pages.append(page_dict)
@@ -190,21 +185,20 @@ def get_archive_page_index(self, pagenum):
190185

191186
def get_cover_page_index_list(self):
192187
# return a list of archive page indices of cover pages
193-
coverlist = []
194-
for page in self.pages:
195-
if "Type" in page and page["Type"] == PageType.FrontCover:
196-
coverlist.append(int(page["Image"]))
188+
coverlist = [
189+
int(page["Image"])
190+
for page in self.pages
191+
if "Type" in page and page["Type"] == PageType.FrontCover
192+
]
197193

198-
if len(coverlist) == 0:
194+
if not coverlist:
199195
coverlist.append(0)
200196

201197
return coverlist
202198

203199
def add_credit(self, person, role, primary=False):
204200

205-
credit = dict()
206-
credit["person"] = person
207-
credit["role"] = role
201+
credit = {"person": person, "role": role}
208202
if primary:
209203
credit["primary"] = primary
210204

darkseid/issuestring.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,7 @@ def __init__(self, text):
3131
text = str(text)
3232

3333
# skip the minus sign if it's first
34-
if text[0] == "-":
35-
start = 1
36-
else:
37-
start = 0
38-
34+
start = 1 if text[0] == "-" else 0
3935
# if it's still not numeric at start skip it
4036
if text[start].isdigit() or text[start] == ".":
4137
# walk through the string, look for split point (the first

tests/test_darkseid_comicarchive.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ def fake_comic(tmp_path):
3838
finally:
3939
zf.close()
4040

41-
comic = ComicArchive(z_file)
42-
43-
return comic
41+
return ComicArchive(z_file)
4442

4543

4644
def test_zip_file_exists(fake_comic):

tests/test_darkseid_filenameparser.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66

77
@pytest.fixture()
88
def comic_name():
9-
comic = "Afterlife_With_Archie_V1_#002_(of_08)_(2013)"
10-
return comic
9+
return "Afterlife_With_Archie_V1_#002_(of_08)_(2013)"
1110

1211

1312
def test_special_format():

tests/test_darkseid_utils.py

+4-10
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,8 @@ def test_unique_name(tmp_path):
2828

2929
def test_recursive_list_with_file(tmp_path):
3030
temp_file = tmp_path / "test.cbz"
31-
expected_result = []
32-
expected_result.append(temp_file)
33-
34-
file_list = []
35-
file_list.append(temp_file)
31+
expected_result = [temp_file]
32+
file_list = [temp_file]
3633
result = utils.get_recursive_filelist(file_list)
3734

3835
assert result == expected_result
@@ -49,13 +46,10 @@ def test_recursive_list_with_directory(tmp_path):
4946
temp_file_2 = temp_dir / "test-2.cbz"
5047
temp_file_2.write_text("content")
5148

52-
expected_result = []
53-
expected_result.append(temp_file_2)
54-
expected_result.append(temp_file_1)
49+
expected_result = [temp_file_2, temp_file_1]
5550
expected_result = sorted(expected_result)
5651

57-
file_list = []
58-
file_list.append(temp_dir)
52+
file_list = [temp_dir]
5953
result = utils.get_recursive_filelist(file_list)
6054

6155
assert result == expected_result

0 commit comments

Comments
 (0)