Example #1
0
 def send_nearby_notification(self, checkin):
     friends = list(checkin["friends"])
     alert = friends[0][0]
     for i in xrange(1, len(friends)):
         alert += ", " + friends[i][0]
     
     alert += " checked into " + checkin["place"]["name"]
     alert += ". It's only " + str(checkin["place"]["distance"]) + " km from you."
     push_server = airship()
     push_server.push({'aps': {'alert': alert}}, 
                      device_tokens=[self.device_token])        
Example #2
0
def user_with_access_token(access_token, device_token):
    graph_api = facebook.GraphAPI(access_token)
    me = graph_api.get_object("me")
    # TODO wrap in a try catch
    facebook_user_id = facebook_user_id = me['id']
    query = Session.query(User)
    user = query.filter_by(facebook_user_id=facebook_user_id).first()
    if user is None:
        user = User(facebook_user_id, access_token, device_token)
        push_client = airship()
        push_client.register(device_token, alias='fbuid:' + str(facebook_user_id))
        Session.add(user)
        Session.commit()
    elif (user.access_token is not access_token or 
          user.device_token is not device_token):
        user.access_token = access_token
        user.device_token = device_token
        push_client = airship()
        push_client.register(device_token, alias='fbuid:' +\
                             str(user.facebook_user_id))
        Session.commit()
    return user