Skip to content

Commit

Permalink
[ADD] fga-eps-mds/2018.2-GamesBI#83 Create get for video for each id.
Browse files Browse the repository at this point in the history
Co-authored-by: Arthur Rodrigues <arthurarp97@gmail.com>
  • Loading branch information
lmmLucasMachado and arthurarp committed Sep 14, 2018
1 parent e37368d commit 7fa0013
Showing 1 changed file with 56 additions and 47 deletions.
103 changes: 56 additions & 47 deletions YoutubeService/importdata/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,48 @@

class YouTubeView(APIView):
'''
View that calls IGDB API
View that calls Youtube API
and return some relevant
information about a game
and filter for Null value
information about a video
and filter
'''

def get(self, request, format=None):

YouTubeSearch.objects.all().delete()
header = {'user-key': 'AIzaSyDmDXP_gaB7cog4f0slbbdJ3RACsY5WQIw',
'Accept': 'application/json'}
url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q={}&key={}'.format('PUBG', header['user-key'])
url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q={}&key={}'.format('GTAV', header['user-key'])
data = requests.get(url)
ndata = data.json()


count_url = 'https://www.googleapis.com/youtube/v3/videos?part=statistics&id={}&key=AIzaSyDmDXP_gaB7cog4f0slbbdJ3RACsY5WQIw'.format(ndata['items'][0]['id']['videoId'])
count_data = requests.get(count_url)
count_ndata = count_data.json()
for i in range(50):
video_data = sel.get_video(list_id[i])
filter_data_video = self.filter_data_video(video_data)
if filter_data_video:
self.save_youtube_search(filter_data_video)

igdb_url =
return Response(data=ndata)


filtered_data = self.filter_data(ndata, count_ndata)
self.save_youtube_search(filtered_data)

def get_video(self, idvideo):
YouTubeSearch.objects.all().delete()
header = {'user-key': 'AIzaSyDmDXP_gaB7cog4f0slbbdJ3RACsY5WQIw',
'Accept': 'application/json'}

url = 'https://www.googleapis.com/youtube/v3/videos?part=statistics&id={}&key=AIzaSyDmDXP_gaB7cog4f0slbbdJ3RACsY5WQIw'.format(['videoId'])
data = requests.get(url)
ndata = data.json()
return Response(data=ndata)

def filter_data(self, videodata):

def filter_data(self, gamedata, dataVD):

list_id = []

for i in range(50):
if 'items' in gamedata:
if 'id' in gamedata['items'][i]:
if 'videoId' in gamedata['items'][i]['id']:
id = gamedata['items'][i]['id']['videoId']
if 'items' in videodata:
if 'id' in videodata['items'][i]:
if 'videoId' in videodata['items'][i]['id']:
id = videodata['items'][i]['id']['videoId']
list_id.append(id)
else:
id = None
Expand All @@ -54,32 +58,37 @@ def filter_data(self, gamedata, dataVD):
else:
id = None

print('------------')
print('------------')
print(list_id)
print('------------')


if 'regionCode' in gamedata:
regionCode = gamedata['regionCode']
if 'regionCode' in videodata:
regionCode = videodata['regionCode']
else:
regionCode = None


count_views = dataVD['items'][0]['statistics']['viewCount']
count_likes = dataVD['items'][0]['statistics']['likeCount']
count_dislikes = dataVD['items'][0]['statistics']['dislikeCount']
count_favorites = dataVD['items'][0]['statistics']['favoriteCount']
count_comments = dataVD['items'][0]['statistics']['commentCount']
filtered_data = {
'list_id': list_id,
'regionCode': regionCode
}
return filtered_data

def filter_data_video(self, videodata):

count_views = videodata['items'][0]['statistics']['viewCount']
count_likes = videodata['items'][0]['statistics']['likeCount']
count_dislikes = videodata['items'][0]['statistics']['dislikeCount']
count_favorites = videodata['items'][0]['statistics']['favoriteCount']
count_comments = videodata['items'][0]['statistics']['commentCount']

'''
print('----------------\n', dataVD)
if 'items' in dataVD:
print('----------------\n', videodata)
if 'items' in videodata:
print('tem item')
if 'statistics' in dataVD['items']:
if 'statistics' in videodata['items']:
print('tem statistics\n')
if 'viewCount' in dataVD['items']['statistics']:
count_views = dataVD['items']['statistics']['viewCount']
if 'viewCount' in videodata['items']['statistics']:
count_views = videodata['items']['statistics']['viewCount']
print('viewCount aqui: ', count_views)
else:
count_views = None
Expand All @@ -88,7 +97,7 @@ def filter_data(self, gamedata, dataVD):
else:
count_views = None
print('viewCount aqui: ', count_views)
if 'likeCount' in statistics['items']:
count_likes=statistics['items']['statistics']['likeCount']
Expand All @@ -110,19 +119,19 @@ def filter_data(self, gamedata, dataVD):
count_likes=None
count_dislikes=None
count_comments=None
'''
'''

filtered_data = {
'list_id': list_id,
'count_views': count_views,
'count_likes': count_likes,
'count_dislikes': count_dislikes,
'count_favorites': count_favorites,
'count_comments': count_comments,
'regionCode': regionCode
'count_views': count_views,
'count_likes': count_likes,
'count_dislikes': count_dislikes,
'count_favorites': count_favorites,
'count_comments': count_comments,
}
return filtered_data


def save_youtube_search(self, filtered_data):
results = YouTubeSearch(
id = filtered_data['list_id'],
Expand All @@ -134,7 +143,7 @@ def save_youtube_search(self, filtered_data):
count_comments = filtered_data['count_comments'],
regionCode = filtered_data['regionCode']
)

results.save()
print('--------------\n')
print('lista de id dos videos:{}\ncount views: {}\ncount likes: {}\ncount dislikes: {}\n'.format(results.id, results.count_views, results.count_likes, results.count_dislikes))
Expand Down

0 comments on commit 7fa0013

Please sign in to comment.