Exemple #1
0
    def do_register(self):
        if self.__has_logged():
            # We directly let that user log in
            return True, "Logged"

        try:
            db = tingDB_service.get_config_db()
            users = db["users"]

            # We first lookup if the user has been registered
            user_cursor = users.find({"name": self.__username})
            if user_cursor.count() > 0:
                return False, "This user name has been registered."

            # Prepare for user record
            raw_password = self.__password
            encrypted_password = utils.encrypt_string(raw_password)

            new_user = {"name": self.__username, "password": encrypted_password, "privilege": "normal"}

            users.insert(new_user)
            register_user_cache(self)

            return True, "Register successfully."
        except Exception, e:
            print e.message
Exemple #2
0
def __save_servers():
    """
        Save the plan instances into database.
    """
    global __servers_queue
    config_db = tingDB_service.get_config_db()

    for plan in __servers_queue:
        plan_doc = plan["server_doc"]
        _type = plan["type"]
        plan_collection = config_db[_type]
        plan_collection.insert(plan_doc)
Exemple #3
0
    def do_login(self):
        if self.__has_logged():
            return True, "Logged"

        try:
            db = tingDB_service.get_config_db()
            users = db["users"]
            users = users.find({"name": self.__username})

            # results is in the type of Cursor
            if users.count() == 1:
                user = users.next()
                raw_password = self.__password
                encrypted_password = utils.encrypt_string(raw_password)

                if user["password"] == encrypted_password:
                    register_user_cache(self)
                    return True, "Corrected"

                self.__privilege = user["privilege"]
        except Exception, e:
            # Connect to database failed
            print e.message