def parse( self, data: Any, parent_data: Any = None, with_parent_data: bool = False, ) -> Any: joined_dictionary: Dict[Any, Any] = {} for parser in self.parsers: value = parse.value_from_parser( parser=parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) if not value: continue if not isinstance(value, dict): error_msg = "Value returned from {} must be type of dict!" raise TypeError(error_msg.format(type(parser).__name__)) joined_dictionary = {**joined_dictionary, **value} return joined_dictionary
def parse( self, data: Any, parent_data: Any = None, with_parent_data: bool = False, ) -> Any: values = [] for parser in self.parsers: value = parse.value_from_parser( parser=parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) if not value: continue if not isinstance(value, list): error_msg = "Value returned from {} must be type of list!" raise TypeError(error_msg.format(type(parser).__name__)) values += value return values
def parse( self, data: Any, parent_data: Any = None, with_parent_data: bool = False, ) -> Any: values = [] for parser in self.parsers: value = parse.value_from_parser( parser=parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) if value is None: continue if not isinstance(value, str): error_msg = "Value returned from {} must be type of str!" raise TypeError(error_msg.format(type(parser).__name__)) values.append(value) return self._separator.join(values)
def parse( self, data: Any, parent_data: Any = None, with_parent_data: bool = False, ) -> Any: for condition_parser_tuple in self._condition_parsers: condition_parser, parser = condition_parser_tuple condition_value = parse.value_from_parser( parser=condition_parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) if condition_value: value = parse.value_from_parser( parser=parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) return value if self._default_parser: return parse.value_from_parser( parser=self._default_parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) return None
def parse( self, data: Any, parent_data: Any = None, with_parent_data: bool = False, ) -> Any: for parser in self.parsers: value = parse.value_from_parser( parser=parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) if self._strict_none and value is not None: return value elif not self._strict_none and value: return value
def parse( self, data: Any, parent_data: Any = None, with_parent_data: bool = False, ) -> Any: parser_list = [] for parser in self._parser_list: value = parse.value_from_parser( parser=parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) if self._ignore_non_values and value is None: continue parser_list.append(value) return parser_list
def parse( self, data: Any, parent_data: Any = None, with_parent_data: bool = False, ) -> Any: parser_dict = {} for name, parser in self._parser_dict.items(): value = parse.value_from_parser( parser=parser, data=data, parent_data=parent_data, with_parent_data=with_parent_data, config=self.config, ) if self._ignore_non_values and value is None: continue parser_dict[name] = value return parser_dict