Add error messages in lofter extractor
This commit is contained in:
@@ -23,6 +23,8 @@ class LofterExtractor(Extractor):
|
|||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
for post in self.posts():
|
for post in self.posts():
|
||||||
|
if post is None:
|
||||||
|
continue
|
||||||
if "post" in post:
|
if "post" in post:
|
||||||
post = post["post"]
|
post = post["post"]
|
||||||
|
|
||||||
@@ -129,6 +131,9 @@ class LofterAPI():
|
|||||||
url, method="POST", params=params, data=data)
|
url, method="POST", params=params, data=data)
|
||||||
info = response.json()
|
info = response.json()
|
||||||
|
|
||||||
|
if info["meta"]["status"] == 4200:
|
||||||
|
raise exception.NotFoundError("blog")
|
||||||
|
|
||||||
if info["meta"]["status"] != 200:
|
if info["meta"]["status"] != 200:
|
||||||
self.extractor.log.debug("Server response: %s", info)
|
self.extractor.log.debug("Server response: %s", info)
|
||||||
raise exception.StopExtraction("API request failed")
|
raise exception.StopExtraction("API request failed")
|
||||||
@@ -142,6 +147,9 @@ class LofterAPI():
|
|||||||
|
|
||||||
yield from posts
|
yield from posts
|
||||||
|
|
||||||
|
if data["offset"] < 0:
|
||||||
|
break
|
||||||
|
|
||||||
if params["offset"] + len(posts) < data["offset"]:
|
if params["offset"] + len(posts) < data["offset"]:
|
||||||
break
|
break
|
||||||
params["offset"] = data["offset"]
|
params["offset"] = data["offset"]
|
||||||
|
|||||||
Reference in New Issue
Block a user