mirror of
https://github.com/pirate/ArchiveBox.git
synced 2025-08-24 07:03:03 +02:00
Avoid KeyError on Pocket API parser
When trying to import my pocket library I got a lot of ` KeyError` on Python. Pocket API has a few idiosyncrasies, such as sometimes returning the keys on json, sometimes not. ` ` ` sh archivebox add --parser pocket_api pocket://my_username ` ` ` Gave me this errors ` ` ` File "/app/archivebox/parsers/pocket_api.py", line 54, in link_from_article title = article['resolved_title'] or article['given_title'] or url KeyError: 'resolved_title' ` ` ` This commit are the patches I've changed to successfully import my library
This commit is contained in:
@@ -47,11 +47,11 @@ def get_pocket_articles(api: Pocket, since=None, page=0):
|
|||||||
|
|
||||||
|
|
||||||
def link_from_article(article: dict, sources: list):
|
def link_from_article(article: dict, sources: list):
|
||||||
url: str = article['resolved_url'] or article['given_url']
|
url: str = articl.get('resolved_url') or article['given_url']
|
||||||
broken_protocol = _BROKEN_PROTOCOL_RE.match(url)
|
broken_protocol = _BROKEN_PROTOCOL_RE.match(url)
|
||||||
if broken_protocol:
|
if broken_protocol:
|
||||||
url = url.replace(f'{broken_protocol.group(1)}:/', f'{broken_protocol.group(1)}://')
|
url = url.replace(f'{broken_protocol.group(1)}:/', f'{broken_protocol.group(1)}://')
|
||||||
title = article['resolved_title'] or article['given_title'] or url
|
title = article.get('resolved_title') or article.get('given_title') or url
|
||||||
|
|
||||||
return Link(
|
return Link(
|
||||||
url=url,
|
url=url,
|
||||||
|
Reference in New Issue
Block a user