Skip to content

Commit 04107b4

Browse files
committed
Merge pull request #32 from PolBaladas/suggestCLI
Add suggest method in loklak.py and link to loklak CLI command
2 parents ea4165a + 259f101 commit 04107b4

File tree

3 files changed

+41
-5
lines changed

3 files changed

+41
-5
lines changed

bin/loklak

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#!/usr/bin/env python
22
# encoding: utf-8
33
import argparse
4-
import loklak
4+
from loklak import Loklak
55
from pprint import pprint
66
import os
77

88
parser = argparse.ArgumentParser(description="Python wrapper around the loklak API.")
9-
parser.add_argument('-s', '--search', type=str, help='Search API Wrapper which helps to query loklak for JSON results.')
9+
parser.add_argument('-s', '--search', nargs='+', help='Search API Wrapper which helps to query loklak for JSON results.')
1010
parser.add_argument('-t', '--status', action='store_true', help='Status API Wrapper for the loklak status check.')
11-
parser.add_argument('-st', '--suggest', action='store_true', help='Suggestions API Wrapper , Works better with local loklak instance.')
11+
parser.add_argument('-st', '--suggest', nargs='+', help='Suggestions API Wrapper , Works better with local loklak instance.')
1212
parser.add_argument('-c', '--crawler', action='store_true', help='Crawler API Wrapper on Loklak to crawl for tweets for a particular crawl depth.')
1313
parser.add_argument('-hl', '--hello', action='store_true', help='Loklak status check API.')
1414
parser.add_argument('-g', '--geocode', help='Geocode API for geolocation based information.')
@@ -19,13 +19,14 @@ parser.add_argument('-m', '--map', help='Map Visualization render using Loklak s
1919
parser.add_argument('-md', '--markdown', help='Markdown conversion API to render markdown as image using Loklak.')
2020
args = parser.parse_args()
2121

22-
loklak = loklak.Loklak()
22+
loklak = Loklak()
2323
if args.search:
2424
pprint(loklak.search(args.search))
2525
elif args.status:
2626
pprint(loklak.status())
2727
elif args.suggest:
28-
pass
28+
print(args.suggest)
29+
pprint(loklak.suggest(args.suggest))
2930
elif args.crawler:
3031
pass
3132
elif args.hello:

loklak.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,30 @@ def search(self, query=None, since=None, until=None, from_user=None):
157157
' given to run a query for')
158158
return json.dumps(return_to_user)
159159

160+
def suggest(self, query=None, count=None, order=None, orderby=None,since=None, until=None):
161+
suggest_application = 'api/suggest.json'
162+
url_to_give = self.baseUrl+suggest_application
163+
params = {}
164+
if query:
165+
params['query'] = query
166+
if count:
167+
params['count'] = count
168+
if order:
169+
params['order'] = order
170+
if since:
171+
params['since'] = since
172+
if until:
173+
params['until'] = until
174+
print(params)
175+
return_to_user = requests.get(url_to_give, params=params)
176+
print(return_to_user.url)
177+
if return_to_user.status_code == 200:
178+
return return_to_user.json()
179+
else :
180+
return_to_user = {}
181+
return_to_user['error'] = ('Something went wrong, looks like the server is down.')
182+
return json.dumps(return_to_user)
183+
160184
def aggregations(self, query=None, since=None, until=None,
161185
fields=None, limit=None):
162186
"""Gives the aggregations of the application"""

sample.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,17 @@
103103
search6 = l.search('sudheesh001', '2015-01-10', '2015-01-21','sudheesh001')
104104
pprint(search6)
105105

106+
###loklak Suggestion API
107+
suggestion1 = l.suggest()
108+
pprint(suggest1)
109+
110+
suggestion2 = l.suggest(count=20, order='desc')
111+
pprint(suggestion2)
112+
113+
114+
suggestion3 = l.suggest(count=10, order='asc')
115+
pprint(suggestion3)
116+
106117
### account
107118
account1 = l.account('name')
108119
pprint(account1)

0 commit comments

Comments
 (0)