Skip to content

Commit

Permalink
fix(Issue): error when series doesn't have any trade paperback
Browse files Browse the repository at this point in the history
  • Loading branch information
pruizlezcano committed Sep 1, 2023
1 parent b6e7b37 commit 8bbd122
Showing 1 changed file with 45 additions and 45 deletions.
90 changes: 45 additions & 45 deletions src/comicgeeks/classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from comicgeeks.extract import extract
from comicgeeks.utils import get_characters, get_series, randomword


class Issue:
None

Expand Down Expand Up @@ -231,53 +232,52 @@ def _get_data(self):
r = self._session.get(url)
r.raise_for_status()
r = r.json()
if r["count"] == 0:
raise Exception("No series found")
soup = BeautifulSoup(r["list"], features="lxml")
content = soup.find(id="comic-list-issues")

trade_paperbacks = []
for issue in content.find_all("li"):
title = issue.find(class_="title").text.strip()
number = re.findall(r"\d+", title)
number = number[-1] if number else 1
issue_id = int(issue.find("a")["href"].split("/")[2])
i = Trade_Paperback(
issue_id=issue_id,
session=self._session,
)
if r["count"] > 0:
soup = BeautifulSoup(r["list"], features="lxml")
content = soup.find(id="comic-list-issues")

for issue in content.find_all("li"):
title = issue.find(class_="title").text.strip()
number = re.findall(r"\d+", title)
number = number[-1] if number else 1
issue_id = int(issue.find("a")["href"].split("/")[2])
i = Trade_Paperback(
issue_id=issue_id,
session=self._session,
)

i.name = title
i.url = url
i.store_date = issue.find(class_="date")["data-date"]
i.price = (
float(issue.find(class_="price").text.split("·")[1].strip()[1::])
if issue.find(class_="price")
else "Unknown"
)
i.publisher = r["series"]["publisher_name"]
i.cover = issue.find("img")["data-src"]
i.number = str(number) if number else ""
comic_controller = issue.findAll(class_="comic-controller")
i.user = {
"pull": True if "active" in comic_controller[0]["class"] else False,
"collect": True
if len(comic_controller) >= 2
and "active" in comic_controller[1]["class"]
else False,
"readlist": True
if len(comic_controller) >= 3
and "active" in comic_controller[2]["class"]
else False,
"wishlist": True
if len(comic_controller) >= 4
and "active" in comic_controller[3]["class"]
else False,
"rating": int(issue["data-rating"])
if "data-rating" in issue
else "Unknown",
}
trade_paperbacks.append(i)
i.name = title
i.url = url
i.store_date = issue.find(class_="date")["data-date"]
i.price = (
float(issue.find(class_="price").text.split("·")[1].strip()[1::])
if issue.find(class_="price")
else "Unknown"
)
i.publisher = r["series"]["publisher_name"]
i.cover = issue.find("img")["data-src"]
i.number = str(number) if number else ""
comic_controller = issue.findAll(class_="comic-controller")
i.user = {
"pull": True if "active" in comic_controller[0]["class"] else False,
"collect": True
if len(comic_controller) >= 2
and "active" in comic_controller[1]["class"]
else False,
"readlist": True
if len(comic_controller) >= 3
and "active" in comic_controller[2]["class"]
else False,
"wishlist": True
if len(comic_controller) >= 4
and "active" in comic_controller[3]["class"]
else False,
"rating": int(issue["data-rating"])
if "data-rating" in issue
else "Unknown",
}
trade_paperbacks.append(i)

self._name = r["series"]["title"]
self._publisher = r["series"]["publisher_name"]
Expand Down

0 comments on commit 8bbd122

Please sign in to comment.