Fix Options class behaviour

master
pictuga 2021-09-11 19:20:26 +02:00
parent bb82902ad1
commit 5da7121a77
2 changed files with 5 additions and 10 deletions

View File

@ -86,12 +86,12 @@ class Options:
else: else:
self.options = options or {} self.options = options or {}
def __getattr__(self, key): def __getattr__(self, key, default=None):
if key in self.options: if key in self.options:
return self.options[key] return self.options[key]
else: else:
return None return default
def __setitem__(self, key, value): def __setitem__(self, key, value):
self.options[key] = value self.options[key] = value
@ -99,12 +99,7 @@ class Options:
def __contains__(self, key): def __contains__(self, key):
return key in self.options return key in self.options
def get(self, key, default=None): get = __getitem__ = __getattr__
if key in self.options:
return self.options[key]
else:
return default
def ItemFix(item, options, feedurl='/'): 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) req = crawler.adv_get(url=url, timeout=TIMEOUT)
if req['contenttype'] in ['text/html', 'application/xhtml+xml', 'application/xml']: 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 = readabilite.parse(req['data'], encoding=req['encoding'])
html.make_links_absolute(req['url']) 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') 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) output = readabilite.get_article(req['data'], url=req['url'], encoding_in=req['encoding'], encoding_out='utf-8', debug=options.debug)
else: else: