CODE:
#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
Created on 2014-8-13
@author: guaguastd
@name: common_likes_finding.py
'''
# impot login
from login import facebook_login
# import helper
#from helper import pp
# import PrettyTable
from prettytable import PrettyTable
from collections import Counter
# access to facebook
facebook_api = facebook_login()
# get friends like through single request
#friends_like = facebook_api.get_object('me', fields='id,name,friends.fields(id,name,likes)')
#pp(friends_like)
# get friends like through multi request
friends = facebook_api.get_connections("me", "friends")['data']
likes = { friend['name'] : facebook_api.get_connections(friend['id'], "likes")['data']
for friend in friends[:20]}
friends_likes = Counter([like['name']
for friend in likes
for like in likes[friend]
if like.get('name')])
# Which of your likes are in common with which friends
my_likes = [ like['name']
for like in facebook_api.get_connections("me", "likes")['data'] ]
pt = PrettyTable(field_names=["Name"])
pt.align = 'l'
[ pt.add_row((ml,)) for ml in my_likes ]
print "\rMy likes:"
print pt
# Use the set intersection as represented by the ampersand
# operator to find common likes
common_likes = list(set(my_likes) & set(friends_likes))
pt = PrettyTable(field_names=["Name"])
pt.align = 'l'
[ pt.add_row((cl,)) for cl in common_likes ]
print
print "My common likes with friends"
print pt
My likes:
+-------------------------------------------------------------+
| Name |
+-------------------------------------------------------------+
| La gente anda diciendo |
| chicas lesbianas en busca de su media naranja |
| Mil maneras de decirle sutilmente a alguien que no te gusta |
| Torrie Wilson |
| Florida Championship Wrestling |
| Mundo De Chicas |
| Parabéns Mulheres pelo seu Dia |
| Desenhos Realista |
| Partido Ecologico Nacional |
| Pos me gustas :3 |
| Avicii |
| Music on Facebook |
| Music |
| Music and Lyrics |
| Stacy Keibler |
| Facebook Developers |
+-------------------------------------------------------------+
My common likes with friends
+-------------------------------------------------------------+
| Name |
+-------------------------------------------------------------+
| Mil maneras de decirle sutilmente a alguien que no te gusta |
| chicas lesbianas en busca de su media naranja |
| Mundo De Chicas |
| La gente anda diciendo |
+-------------------------------------------------------------+