MCPcopy
hub / github.com/pydantic/pydantic / _get_value

Method _get_value

pydantic/v1/main.py:752–822  ·  view source on GitHub ↗
(
        cls,
        v: Any,
        to_dict: bool,
        by_alias: bool,
        include: Optional[Union['AbstractSetIntStr', 'MappingIntStrAny']],
        exclude: Optional[Union['AbstractSetIntStr', 'MappingIntStrAny']],
        exclude_unset: bool,
        exclude_defaults: bool,
        exclude_none: bool,
    )

Source from the content-addressed store, hash-verified

750 @classmethod
751 @no_type_check
752 def _get_value(
753 cls,
754 v: Any,
755 to_dict: bool,
756 by_alias: bool,
757 include: Optional[Union['AbstractSetIntStr', 'MappingIntStrAny']],
758 exclude: Optional[Union['AbstractSetIntStr', 'MappingIntStrAny']],
759 exclude_unset: bool,
760 exclude_defaults: bool,
761 exclude_none: bool,
762 ) -> Any:
763 if isinstance(v, BaseModel):
764 if to_dict:
765 v_dict = v.dict(
766 by_alias=by_alias,
767 exclude_unset=exclude_unset,
768 exclude_defaults=exclude_defaults,
769 include=include,
770 exclude=exclude,
771 exclude_none=exclude_none,
772 )
773 if ROOT_KEY in v_dict:
774 return v_dict[ROOT_KEY]
775 return v_dict
776 else:
777 return v.copy(include=include, exclude=exclude)
778
779 value_exclude = ValueItems(v, exclude) if exclude else None
780 value_include = ValueItems(v, include) if include else None
781
782 if isinstance(v, dict):
783 return {
784 k_: cls._get_value(
785 v_,
786 to_dict=to_dict,
787 by_alias=by_alias,
788 exclude_unset=exclude_unset,
789 exclude_defaults=exclude_defaults,
790 include=value_include and value_include.for_element(k_),
791 exclude=value_exclude and value_exclude.for_element(k_),
792 exclude_none=exclude_none,
793 )
794 for k_, v_ in v.items()
795 if (not value_exclude or not value_exclude.is_excluded(k_))
796 and (not value_include or value_include.is_included(k_))
797 }
798
799 elif sequence_like(v):
800 seq_args = (
801 cls._get_value(
802 v_,
803 to_dict=to_dict,
804 by_alias=by_alias,
805 exclude_unset=exclude_unset,
806 exclude_defaults=exclude_defaults,
807 include=value_include and value_include.for_element(i),
808 exclude=value_exclude and value_exclude.for_element(i),
809 exclude_none=exclude_none,

Callers 1

_iterMethod · 0.95

Calls 9

ValueItemsClass · 0.90
sequence_likeFunction · 0.90
is_namedtupleFunction · 0.90
dictMethod · 0.45
copyMethod · 0.45
for_elementMethod · 0.45
itemsMethod · 0.45
is_excludedMethod · 0.45
is_includedMethod · 0.45

Tested by

no test coverage detected