コード例 #1
0
    def deserialize_dict_list(self, data=None, DTO=None):
        """
        Deserialize list of data in a dictionary type. EX) request.data is a dictionary type.
        :param data: list of dictionary
        :param DTO: DTO that has the corresponding form of each data. It is a dto object.
        :return: list of dictionary to respond
        """
        error_if_argument_is_default(None, data)
        logger = Logger()

        if (type(data) is not list
                and set) and (not isinstance(data, QuerySet)):
            raise ValueError(
                "{} function can only handle list or set or QuerySet.".format(
                    self.deserialize_dict_list.__name__))

        deserialized_list = []
        for data_to_deserialize in data:
            if type(data_to_deserialize) is not dict:
                print(
                    "data={} is not a dictionary. It should be a dictionary to deserialize"
                    .format(data))
                raise ValueError

            deserialized_list.append(
                DTO().deserialize_dictionary(data_to_deserialize))

        return deserialized_list
コード例 #2
0
def serialize_list(data=None, Response_DTO=None):
    """
    Serialize list of data.
    :param data: list of dictionary or objects
    :param Response_DTO: DTO that has the corresponding form of each data.
             If your each data is dictionary you don't need to pass anything.
    :return: list of dictionary to respond
    """
    error_if_argument_is_default(None, data)
    logger = Logger()

    if (type(data) is not list or set) and (not isinstance(data, QuerySet)):
        raise ValueError("{} function can only handle list or set or QuerySet.".format(serialize_list.__name__))

    serialized_list = []
    for data_to_serialize in data:
        if type(data_to_serialize) is not dict:
            try:
                error_if_argument_is_default(None, response_DTO)
            except:
                print("data={} contains a dictionary, but the function does not get any responseDTO".format(data))
                raise ValueError("data={} contains a dictionary, but the function does not get any responseDTO".format(data))
            response_DTO = Response_DTO()
            serialized_list.append(response_DTO.serialize(instance_to_sync=data_to_serialize))

    return serialized_list
コード例 #3
0
    def add_group_to_user_of_userid(self, userid="", group_instance=None):
        error_if_argument_is_default("", userid)
        error_if_argument_is_default(None, group_instance)

        user = self.user_model_handler.get_user_by_user_id(userid)
        self.user_model_handler.add_group_to_user(
            user_instance=user, group_instance=group_instance)
コード例 #4
0
    def add_group_of_groupid_to_user_instance(self,
                                              user_instance=None,
                                              groupid=""):
        error_if_argument_is_default(None, user_instance)
        error_if_argument_is_default("", groupid)

        group = self.group_model_handler.get_group_by_groupid(groupid)
        self.user_model_handler.add_group_to_user(user_instance=user_instance,
                                                  group_instance=group)
コード例 #5
0
    def add_group_to_user(self, user_instance=None, group_instance=None):
        error_if_argument_is_default(None, user_instance)
        error_if_argument_is_default(None, group_instance)

        try:
            user_instance.groups.add(group_instance)
        except Exception as exception:
            print("There was a problem when adding a group to the user (update operation): {}".format(str(exception)))
            raise APIDatabaseUpdateFailedException
        return True
コード例 #6
0
 def user_instance_remove_group_instance(self, user_instance=None, group_instance=None):
     error_if_argument_is_default(None, user_instance)
     error_if_argument_is_default(None, group_instance)
     try:
         user_instance.groups.remove(group_instance)
     except Exception as exception:
         print("There was a problem when removing group, {}:{} from user, {}:{}"
               .format(group_instance.id, group_instance.name, user_instance.id, user_instance.name))
         raise APIDatabaseDeleteFailedException(exception)
     return True
コード例 #7
0
    def add_group_of_groupid_to_user_of_username(self,
                                                 username="",
                                                 groupid=""):
        error_if_argument_is_default("", username)
        error_if_argument_is_default("", groupid)

        group = self.group_model_handler.get_group_by_groupid(groupid)
        user = self.user_model_handler.get_user_by_name(username)
        self.user_model_handler.add_group_to_user(user_instance=user,
                                                  group_instance=group)
コード例 #8
0
    def create_group_and_add_to_user_of_userid(self, userid="", groupname=""):
        error_if_argument_is_default("", userid)
        error_if_argument_is_default("", groupname)

        user = self.user_model_handler.get_user_by_user_id(userid)
        group = self.modelCreator.create_group_of_groupname_and_return_instance(
            groupname)
        self.user_model_handler.add_group_to_user(user_instance=user,
                                                  group_instance=group)
        return group
コード例 #9
0
    def user_name_remove_group_instance(self, username=None, group_instance=None):
        error_if_argument_is_default(None, username)
        error_if_argument_is_default(None, group_instance)

        user = self.get_user_by_name(username)
        return self.user_instance_remove_group_instance(user_instance=user, group_instance=group_instance)