-
Notifications
You must be signed in to change notification settings - Fork 1
/
Venues.py
65 lines (50 loc) · 1.98 KB
/
Venues.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import json
from watson_developer_cloud import ToneAnalyzerV3
import requests
# BEGIN of python-dotenv section
from os.path import join, dirname
from dotenv import load_dotenv
import os
dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)
# END of python-dotenv section
from watson_scoring import calc_concepts
class Venues:
def __init__(self, venue_id, category=''):
self.venue_id = venue_id
#self.category = category
dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)
self.foursq_client = os.environ.get("FOURSQUARE_CLIENT_ID")
self.foursq_secret = os.environ.get("FOURSQUARE_CLIENT_SECRET")
self.foursquare_oauth_token = os.environ.get("FOURSQUARE_OAUTH_TOKEN")
def analyize_venue(self):
self.get_venue_data(False)
self.get_list_of_tips()
r = self.return_concepts()
return r
def get_venue_data(self, from_file=True):
# take venue id and get a a response of all the tips
if from_file ==True:
with open('venue_data.json','r') as f:
results = json.load(f)
else:
url = "https://api.foursquare.com/v2/venues/{}/tips?sort=recent&client_id={}&client_secret={}&v=20170513".format(self.venue_id,self.foursq_client, self.foursq_secret)
results = requests.get(url).json()
self.venue_data = results
def get_list_of_tips(self):
response = self.venue_data['response']
response = response['tips']
response = response['items']
self.list_of_responses = []
for item in response:
tip = item['text']
self.list_of_responses.append(tip)
return self.list_of_responses
def return_concepts(self):
concat_tips = ' '.join(self.list_of_responses)
concepts = calc_concepts(concat_tips)
return concepts
if __name__ == '__main__':
T = Venues('40a55d80f964a52020f31ee3')
c = T.analyize_venue()