'Returns the user using the Graph API.'

def get_user(self):

    token = self.accessToken()
    if (not token):
        return None
    if (not self.graph):
        self.graph = self.GraphAPI(token)
    user = None
    try:
        user = self.graph.get_object_c('me')
    except self.GraphAPIError:
        current.session.token = None
        self.graph = None
    user_dict = None
    if user:
        table = current.auth.settings.table_user
        query = (table.email == user['email'])
        exists = current.db(query).select(table.id, table.password, limitby=(0, 1)).first()
        if exists:
            user_dict = {'first_name': user.get('first_name', ''), 'last_name': user.get('last_name', ''), 'facebookid': user['id'], 'facebook': user.get('username', user['id']), 'email': user['email'], 'password': existent.password}
        else:
            user_dict = {'first_name': user.get('first_name', ''), 'last_name': user.get('last_name', ''), 'facebookid': user['id'], 'facebook': user.get('username', user['id']), 'nickname': IS_SLUG()(((user.get('username', ('%(first_name)s-%(last_name)s' % user)) + '-') + user['id'][:5]))[0], 'email': user['email'], 'about': user.get('bio', ''), 'website': user.get('website', ''), 'photo_source': 3, 'tagline': user.get('link', ''), 'registration_type': 2}
    return user_dict
