Fix Options class behaviour
continuous-integration/drone/push Build is failing Details

pictuga 2021-09-11 19:20:26 +02:00
parent 000a5cda7a
commit 7766d06b50
2 changed files with 5 additions and 10 deletions

View File

@ -86,12 +86,12 @@ class Options:
else:
self.options = options or {}
def __getattr__(self, key):
def __getattr__(self, key, default=None):
if key in self.options:
return self.options[key]
else:
return None
return default
def __setitem__(self, key, value):
self.options[key] = value
@ -99,12 +99,7 @@ class Options:
def __contains__(self, key):
return key in self.options
def get(self, key, default=None):
if key in self.options:
return self.options[key]
else:
return default
get = __getitem__ = __getattr__
def ItemFix(item, options, feedurl='/'):

View File

@ -199,7 +199,7 @@ def cgi_get(environ, start_response):
req = crawler.adv_get(url=url, timeout=TIMEOUT)
if req['contenttype'] in ['text/html', 'application/xhtml+xml', 'application/xml']:
if options.get == 'page':
if options['get'] == 'page':
html = readabilite.parse(req['data'], encoding=req['encoding'])
html.make_links_absolute(req['url'])
@ -211,7 +211,7 @@ def cgi_get(environ, start_response):
output = lxml.etree.tostring(html.getroottree(), encoding='utf-8', method='html')
elif options.get == 'article':
elif options['get'] == 'article':
output = readabilite.get_article(req['data'], url=req['url'], encoding_in=req['encoding'], encoding_out='utf-8', debug=options.debug)
else: