diff options
| author | Adam Tauber <asciimoo@gmail.com> | 2013-12-30 14:04:37 -0800 |
|---|---|---|
| committer | Adam Tauber <asciimoo@gmail.com> | 2013-12-30 14:04:37 -0800 |
| commit | ff0bbd3566ea126b0cd0cb8b9c60d30c8105e765 (patch) | |
| tree | a33c6fa048af482303e40231423dc341b0c56325 /searx | |
| parent | 141b04c6dde9df0e6b7f2e2b30ec8131429c8932 (diff) | |
| parent | d3e272d0350aec7d8c397bd2fd8ae5c1a84362bb (diff) | |
Merge pull request #10 from dalf/master
bug fixes and dailymotion engine
Diffstat (limited to 'searx')
| -rw-r--r-- | searx/engines/dailymotion.py | 32 | ||||
| -rwxr-xr-x | searx/engines/flickr.py | 2 | ||||
| -rw-r--r-- | searx/engines/xpath.py | 2 |
3 files changed, 34 insertions, 2 deletions
diff --git a/searx/engines/dailymotion.py b/searx/engines/dailymotion.py new file mode 100644 index 000000000..7046132f3 --- /dev/null +++ b/searx/engines/dailymotion.py @@ -0,0 +1,32 @@ +from urllib import urlencode +from json import loads +from cgi import escape + +categories = ['videos'] +localization = 'en' + +# see http://www.dailymotion.com/doc/api/obj-video.html +search_url = 'https://api.dailymotion.com/videos?fields=title,description,duration,url,thumbnail_360_url&sort=relevance&limit=25&page=1&{query}' + +def request(query, params): + global search_url + params['url'] = search_url.format(query=urlencode({'search': query, 'localization': localization })) + return params + + +def response(resp): + results = [] + search_res = loads(resp.text) + if not 'list' in search_res: + return results + for res in search_res['list']: + title = res['title'] + url = res['url'] + if res['thumbnail_360_url']: + content = '<a href="{0}" title="{0}" ><img src="{1}" /></a><br />'.format(url, res['thumbnail_360_url']) + else: + content = '' + if res['description']: + content += escape(res['description'][:500]) + results.append({'url': url, 'title': title, 'content': content}) + return results diff --git a/searx/engines/flickr.py b/searx/engines/flickr.py index 04a24552a..a9832856d 100755 --- a/searx/engines/flickr.py +++ b/searx/engines/flickr.py @@ -7,7 +7,7 @@ from urlparse import urljoin categories = ['images'] url = 'https://secure.flickr.com/' -search_url = url+'search/?q={query}' +search_url = url+'search/?{query}' def request(query, params): params['url'] = search_url.format(query=urlencode({'q': query})) diff --git a/searx/engines/xpath.py b/searx/engines/xpath.py index 068f2ba61..ad3a97ffa 100644 --- a/searx/engines/xpath.py +++ b/searx/engines/xpath.py @@ -28,7 +28,7 @@ def extract_url(xpath_results): url = xpath_results[0].attrib.get('href') else: url = xpath_results.attrib.get('href') - if not url.startswith('http://') or not url.startswith('https://'): + if not url.startswith('http://') and not url.startswith('https://'): url = 'http://'+url parsed_url = urlparse(url) if not parsed_url.netloc: |