def run_fb_import(request): profile = request.user.get_profile() fb_user = profile.get_facebook_user() if fb_user is None: raise Exception('no fb user') from account.graphapi import GraphAPI fql= "SELECT uid, name, first_name, last_name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" fb_api = GraphAPI(fb_user.access_token) friends = fb_api.fql(fql) app_user_friends = profile.run_getAppUsers_query() from profiles.models import FacebookUser friend_fb_users=FacebookUser.objects.filter(facebook_id__in=app_user_friends) fb_user_dict = {} for fuser in friend_fb_users: fb_user_dict[int(fuser.facebook_id)]=fuser.user from friends.models import ContactFB cn = 0 for f in friends: name = f["name"] id = f["uid"] fname = f["first_name"] lname = f["last_name"] if id in fb_user_dict: user = fb_user_dict[id] else: user = None try: obj = ContactFB.objects.get(owner=request.user, facebook_id = id) if obj.first_name != fname or obj.last_name != lname or obj.name != name: obj.first_name = fname obj.last_name = lname obj.name = name obj.save() except ContactFB.DoesNotExist: obj = ContactFB( owner = request.user, facebook_id = id, name = name, first_name=fname, last_name=lname, user = user ).save() cn = cn + 1 return cn
def run_fb_import(request): profile = request.user.get_profile() fb_user = profile.get_facebook_user() if fb_user is None: raise Exception('no fb user') from account.graphapi import GraphAPI fql = "SELECT uid, name, first_name, last_name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" fb_api = GraphAPI(fb_user.access_token) friends = fb_api.fql(fql) app_user_friends = profile.run_getAppUsers_query() from profiles.models import FacebookUser friend_fb_users = FacebookUser.objects.filter( facebook_id__in=app_user_friends) fb_user_dict = {} for fuser in friend_fb_users: fb_user_dict[int(fuser.facebook_id)] = fuser.user from friends.models import ContactFB cn = 0 for f in friends: name = f["name"] id = f["uid"] fname = f["first_name"] lname = f["last_name"] if id in fb_user_dict: user = fb_user_dict[id] else: user = None try: obj = ContactFB.objects.get(owner=request.user, facebook_id=id) if obj.first_name != fname or obj.last_name != lname or obj.name != name: obj.first_name = fname obj.last_name = lname obj.name = name obj.save() except ContactFB.DoesNotExist: obj = ContactFB(owner=request.user, facebook_id=id, name=name, first_name=fname, last_name=lname, user=user).save() cn = cn + 1 return cn
def run_getAppUsers_query(self): from account.graphapi import GraphAPI fb_user = self.get_facebook_user() fb_api = GraphAPI(fb_user.access_token) fql="SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=%s) AND is_app_user" % fb_user.facebook_id query_result = fb_api.fql(fql) friend_fbids = [] for friend in query_result: friend_fbids.append(str(friend[u"uid"])) return friend_fbids
def run_getAppUsers_query(self): from account.graphapi import GraphAPI fb_user = self.get_facebook_user() fb_api = GraphAPI(fb_user.access_token) fql = "SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=%s) AND is_app_user" % fb_user.facebook_id query_result = fb_api.fql(fql) friend_fbids = [] for friend in query_result: friend_fbids.append(str(friend[u"uid"])) return friend_fbids
import urllib, simplejson from profiles.models import * from friends.models import * from account.graphapi import GraphAPI queued = FacebookUser.objects.filter(queue_for_pull=1) for q in queued: quser = q.user print quser.get_profile().first_name fql= "SELECT uid, name, first_name, last_name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" fb_api = GraphAPI(q.access_token) friends = fb_api.fql(fql) app_user_friends = quser.get_profile().run_getAppUsers_query() friend_fb_users=FacebookUser.objects.filter(facebook_id__in=app_user_friends) fb_user_dict = {} for fuser in friend_fb_users: fb_user_dict[fuser.facebook_id]=fuser.user cn = 0 for f in friends: name = f["name"] id = f["uid"] fname = f["first_name"] lname = f["last_name"] print "name: " + name + " fname: " + fname + " lname: " + lname
from django.db import connection from mydebug import * import urllib, simplejson from profiles.models import * from friends.models import * from account.graphapi import GraphAPI queued = FacebookUser.objects.filter(queue_for_pull=1) for q in queued: quser = q.user print quser.get_profile().first_name fql = "SELECT uid, name, first_name, last_name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" fb_api = GraphAPI(q.access_token) friends = fb_api.fql(fql) app_user_friends = quser.get_profile().run_getAppUsers_query() friend_fb_users = FacebookUser.objects.filter( facebook_id__in=app_user_friends) fb_user_dict = {} for fuser in friend_fb_users: fb_user_dict[fuser.facebook_id] = fuser.user cn = 0 for f in friends: name = f["name"] id = f["uid"] fname = f["first_name"] lname = f["last_name"] print "name: " + name + " fname: " + fname + " lname: " + lname