示例#1
0
    def update_user(cls, email, user_info):

        result = None

        user_info.pop("override", None)

        try:
            sql, args = data_adaptor.create_update(table_name="e6156.users",
                                                   new_values=user_info,
                                                   template={"email": email})
            # sql, args = data_adaptor.create_insert(table_name="users", row=user_info)
            res, data = data_adaptor.run_q(sql, args)
            if res != 1:
                result = None
            else:
                result = user_info['id']
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result
示例#2
0
    def update_profile_entry(cls, profile_entry):
        required = {
            "userid", "element_type", "element_subtype", "element_value",
            "profileid"
        }
        cleaned_info = {key: profile_entry[key] for key in required}
        result = None

        try:
            sql, args = data_adaptor.create_update(
                "profiles", cleaned_info,
                {"element_value": profile_entry["old_element_value"]})
            res, data = data_adaptor.run_q(sql, args)
            if res != 1:
                result = None
            else:
                result = "Updated successfully"
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result
示例#3
0
    def update_user(cls, email, new_values):
        result = None

        # this makes sure we don't update a value marked as 'DELETED'. get_by_email()
        user_info = UsersRDB.get_by_email(email)
        if not user_info:
            return "No such user exists, homie."

        try:
            sql, args = data_adaptor.create_update(table_name="users",
                                                   new_values=new_values,
                                                   template={"email": email})
            res, data = data_adaptor.run_q(sql, args)
            if res != 1:
                result = None
            else:
                result = user_info['id']
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result
 def update_user(cls, email, data):
     try:
         template = {"email": email}
         sql, args = data_adaptor.create_update("ebdb.users", data,
                                                template)
         data_adaptor.run_q(sql=sql, args=args, fetch=True)
         return "Resource updated successfully"
     except Exception as e:
         print(e)
         return None
 def update_profile(cls, data, uuid, stype, maintype):
     try:
         template = {"user_id": uuid, "subtype": stype, "type": maintype}
         sql, args = data_adaptor.create_update("ebdb.profile", data,
                                                template)
         data_adaptor.run_q(sql=sql, args=args, fetch=True)
         return "Resource updated successfully"
     except Exception as e:
         print(e)
         return None
示例#6
0
    def update_profile(cls, param_profile, update_template, data):
        result = None
        conn = None
        cursor = None

        try:
            conn = data_adaptor._get_default_connection()
            cursor = conn.cursor()

            # a wrapper function helps to pass params
            def run_q(sql_, args_):
                return data_adaptor.run_q(sql_,
                                          args_,
                                          cur=cursor,
                                          conn=conn,
                                          commit=False)

            sql, args = data_adaptor.create_select(
                table_name="profile_entries", template=update_template)

            _, prev_data = run_q(sql, args)

            if prev_data is not None and len(prev_data) > 0:

                sql, args = data_adaptor.create_update(
                    table_name="profile_entries",
                    new_values=data,
                    template=update_template)
                res, _ = run_q(sql, args)
                if res != 1:
                    raise Exception('cannot update data!')
                else:
                    # get new Etag
                    new_data = prev_data[0]
                    for k, v in data.items():
                        new_data[k] = v
                    result = new_data['profile_entry_id']

                conn.commit()
            else:
                raise Exception('cannot retrieve data')

        except Exception as e:
            # rollback
            conn.rollback()
            raise e
        finally:
            # closing database connection.
            if cursor:
                cursor.close()
            if conn:
                conn.close()
            return result
示例#7
0
    def update_user(cls, user_info, email):

        sql, arg = data_adaptor.create_update(table_name="users",
                                              new_values=user_info,
                                              template={'email': email})
        res, data = data_adaptor.run_q(sql=sql, args=arg, fetch=True)
        if res:
            res = "Successful update"
        else:
            res = "Failed"

        return res
示例#8
0
    def delete_user(cls,user_info):
        try:
            sql, args = data_adaptor.create_update(table_name="users",new_values={"status":"deleted"},template=user_info)
            res, data = data_adaptor.run_q(sql, args)
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return res
示例#9
0
    def update_by_email(cls, new_values, email):

        try:
            sql, args = data_adaptor.create_update(table_name="users",new_values=new_values,template={"email":email})
            res, data = data_adaptor.run_q(sql, args)
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return res
    def update_user(cls, user_info, template):
        try:
            sql, args = data_adaptor.create_update(table_name="users",
                                                   new_values=user_info,
                                                   template=template)
            res, data = data_adaptor.run_q(sql, args)
            if res != 1:
                result = None
            else:
                result = res
        except Exception as exp:
            raise DataException()

        return result
示例#11
0
 def update_user(cls, user_info, template):
     result = None
     try:
         sql, args = data_adaptor.create_update(table_name="e6156.users", new_values = user_info, template = template)
         res, data = data_adaptor.run_q(sql, args)
         if res != 1:
             result = None
         else:
             result = user_info
     except pymysql.err.IntegrityError as ie:
         if ie.args[0] == 1062:
             raise (DataException(DataException.duplicate_key))
         else:
             raise DataException()
     except Exception as e:
         raise DataException()
     return result
示例#12
0
 def delete_user(cls, email):
     # try:
     #     sql = "delete from ebdb.users where email=%s"
     #     data_adaptor.run_q(sql=sql, args=(email), fetch=False)
     #     return "User deleted successfully"
     # except Exception as e:
     #     print(e)
     #     return None
     try:
         template = {"email": email}
         data = {"status": "DELETED"}
         sql, args = data_adaptor.create_update("ebdb.users", data,
                                                template)
         data_adaptor.run_q(sql=sql, args=args, fetch=True)
         return "Resource updated successfully"
     except Exception as e:
         print(e)
         return None
示例#13
0
    def update_profile_entry(cls, profile_entry_id, body):
        result = None

        try:
            sql, args = data_adaptor.create_update(
                table_name="e6156.profile_entries",
                new_values=body,
                template={"profile_entry_id": profile_entry_id})
            # sql, args = data_adaptor.create_insert(table_name="users", row=user_info)
            res, data = data_adaptor.run_q(sql, args)
            result = profile_entry_id
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result
示例#14
0
    def update_user(cls, email, data):
        result = None

        try:
            sql, args = data_adaptor.create_update(table_name="baseball.users",
                                                   new_values=data,
                                                   template={"email": email})
            res, data = data_adaptor.run_q(sql, args)
            if data is not None and len(data) > 0:
                result = data[0]
            else:
                result = None
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result
示例#15
0
    def update_user(cls, user_info):

        result = None

        try:
            sql, args = data_adaptor.create_update(
                "users", user_info, {"email": user_info['email']})
            res, data = data_adaptor.run_q(sql, args)
            if res != 1:
                result = None
            else:
                result = "Updated successfully"
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result
示例#16
0
    def delete_user(cls, user_info):

        result = None

        try:
            sql, args = data_adaptor.create_update(
                table_name="users",
                new_values={"status": "DELETED"},
                template={"email": user_info["email"]})
            res, data = data_adaptor.run_q(sql, args)
            if data is not None and len(data) > 0:
                result = data[0]
            else:
                result = None
        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result
示例#17
0
    def update_profile(cls, profileid, data):
        result = None

        try:
            sql, args = data_adaptor.create_update(table_name="baseball.profile",\
                                                    new_values=data, \
                                                    template={"profileid":profileid})

            res, data = data_adaptor.run_q(sql, args)
            if data is not None and len(data) > 0:
                result = data[0]
            else:
                result = None

        except pymysql.err.IntegrityError as ie:
            if ie.args[0] == 1062:
                raise (DataException(DataException.duplicate_key))
            else:
                raise DataException()
        except Exception as e:
            raise DataException()

        return result