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:
            # Check if a user with this email has already registered
            #session = current.session
            #session.facebooklogin = True

            auth = current.auth
            table = auth.settings.table_user

            query = (table.email == user["email"])
            existent = current.db(query).select(table.id,
                                                table.password,
                                                limitby=(0, 1)).first()
            if existent:
                #session["%s_setpassword" % existent.id] = existent.password

                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:
                # b = user["birthday"]
                # birthday = "%s-%s-%s" % (b[-4:], b[0:2], b[-7:-5])
                # if 'location' in user:
                #     session.flocation = user['location']
                #session["is_new_from"] = "facebook"

                auth.s3_send_welcome_email(user)

                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"],
                             #"birthdate": birthday,
                             "about": user.get("bio", ""),
                             "website": user.get("website", ""),
                             #"gender": user.get("gender", "Not specified").title(),
                             "photo_source": 3,
                             "tagline": user.get("link", ""),
                             "registration_type": 2,
                             }
        return user_dict

# =============================================================================
Registers a mayavi engine with an optional name.   Note that
dataset/ETHPy150Open sahana/eden/modules/s3oauth.py/FaceBookAccount.get_user--crossover with--dataset/ETHPy150Open enthought/mayavi/mayavi/core/registry.py/Registry.register_engine