Fix Options class behaviour
This commit is contained in:
		@@ -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='/'):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user