|
@@ -18,19 +18,30 @@ class Book:
|
|
|
|
|
|
@property
|
|
|
def authors(self):
|
|
|
- return self.specs["Auteur"].split("\n")
|
|
|
+ authors = self.specs.get("Auteur", None)
|
|
|
+ if authors:
|
|
|
+ return self.specs["Auteur"].split("\n")
|
|
|
+ return None
|
|
|
|
|
|
@property
|
|
|
def publisher(self):
|
|
|
- return self.specs["Uitgever"]
|
|
|
+ return self.specs.get("Uitgever", None)
|
|
|
|
|
|
@property
|
|
|
def year(self):
|
|
|
- return int(self.specs["Verschijningsdatum"].split(" ")[-1])
|
|
|
+ date = self.specs.get("Verschijningsdatum", None)
|
|
|
+ if date:
|
|
|
+ try:
|
|
|
+ year = re.match(r'.*(\d{4}).*', date).group(1)
|
|
|
+ except:
|
|
|
+ return None
|
|
|
+ else:
|
|
|
+ return int(year)
|
|
|
+ return None
|
|
|
|
|
|
@property
|
|
|
def language(self):
|
|
|
- lang = self.specs["Taal"]
|
|
|
+ lang = self.specs.get("Taal", None)
|
|
|
if lang in self.LANGUAGE_MAP:
|
|
|
return self.LANGUAGE_MAP[lang]
|
|
|
else:
|
|
@@ -45,7 +56,6 @@ class Book:
|
|
|
"Language": self.language,
|
|
|
"ISBN-13": self.isbn}
|
|
|
|
|
|
-
|
|
|
def parse_specs(self):
|
|
|
specs_lists = self.html.find_all("dl", class_="specs__list")
|
|
|
for specs_list in specs_lists:
|