瀏覽代碼

update soundcloud and add comments

Thomas Pointhuber 10 年之前
父節點
當前提交
64a68a7296
共有 2 個檔案被更改,包括 29 行新增5 行删除
  1. 29
    4
      searx/engines/soundcloud.py
  2. 0
    1
      searx/settings.yml

+ 29
- 4
searx/engines/soundcloud.py 查看文件

1
+## Soundcloud (Music)
2
+# 
3
+# @website     https://soundcloud.com
4
+# @provide-api yes (https://developers.soundcloud.com/)
5
+# 
6
+# @using-api   yes
7
+# @results     JSON
8
+# @stable      yes
9
+# @parse       url, title, content
10
+
1
 from json import loads
11
 from json import loads
2
 from urllib import urlencode
12
 from urllib import urlencode
3
 
13
 
14
+# engine dependent config
4
 categories = ['music']
15
 categories = ['music']
16
+paging = True
5
 
17
 
18
+# api-key
6
 guest_client_id = 'b45b1aa10f1ac2941910a7f0d10f8e28'
19
 guest_client_id = 'b45b1aa10f1ac2941910a7f0d10f8e28'
7
-url = 'https://api.soundcloud.com/'
8
-search_url = url + 'search?{query}&facet=model&limit=20&offset={offset}&linked_partitioning=1&client_id='+guest_client_id  # noqa
9
 
20
 
10
-paging = True
21
+# search-url
22
+url = 'https://api.soundcloud.com/'
23
+search_url = url + 'search?{query}&facet=model&limit=20&offset={offset}&linked_partitioning=1&client_id={client_id}'
11
 
24
 
12
 
25
 
26
+# do search-request
13
 def request(query, params):
27
 def request(query, params):
14
     offset = (params['pageno'] - 1) * 20
28
     offset = (params['pageno'] - 1) * 20
29
+
15
     params['url'] = search_url.format(query=urlencode({'q': query}),
30
     params['url'] = search_url.format(query=urlencode({'q': query}),
16
-                                      offset=offset)
31
+                                      offset=offset,
32
+                                      client_id=guest_client_id)
33
+
17
     return params
34
     return params
18
 
35
 
19
 
36
 
37
+# get response from search-request
20
 def response(resp):
38
 def response(resp):
21
     results = []
39
     results = []
40
+
22
     search_res = loads(resp.text)
41
     search_res = loads(resp.text)
42
+
43
+    # parse results
23
     for result in search_res.get('collection', []):
44
     for result in search_res.get('collection', []):
24
         if result['kind'] in ('track', 'playlist'):
45
         if result['kind'] in ('track', 'playlist'):
25
             title = result['title']
46
             title = result['title']
26
             content = result['description']
47
             content = result['description']
48
+
49
+            # append result
27
             results.append({'url': result['permalink_url'],
50
             results.append({'url': result['permalink_url'],
28
                             'title': title,
51
                             'title': title,
29
                             'content': content})
52
                             'content': content})
53
+
54
+    # return results
30
     return results
55
     return results

+ 0
- 1
searx/settings.yml 查看文件

86
 
86
 
87
   - name : soundcloud
87
   - name : soundcloud
88
     engine : soundcloud
88
     engine : soundcloud
89
-    categories : music
90
     shortcut : sc
89
     shortcut : sc
91
 
90
 
92
   - name : stackoverflow
91
   - name : stackoverflow