From 1a0da0df63d694525ecd19ef990495f5765ba1ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Dec 2023 19:14:49 -0600 Subject: [PATCH 1/2] chore(deps): bump actions/setup-python from 4 to 5 (#448) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yaml | 6 +++--- .github/workflows/docs.yaml | 2 +- .github/workflows/publish.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5432a89a..6cd5e249 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.11" @@ -46,7 +46,7 @@ jobs: - name: Set up python ${{ matrix.python-version }} id: checkout-python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} @@ -101,7 +101,7 @@ jobs: uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.11" diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 9992ed7a..56cafc3b 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.11" diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 18c51121..2e0654c2 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -16,7 +16,7 @@ jobs: - name: Check out repository uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.11" @@ -40,7 +40,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.11" From 6961eaa3b65fc63b716e854bd2eb28b5bc96e029 Mon Sep 17 00:00:00 2001 From: guacs <126393040+guacs@users.noreply.github.com> Date: Fri, 8 Dec 2023 16:57:34 +0530 Subject: [PATCH 2/2] fix: don't blindly suppress ValueError (#450) --- polyfactory/factories/base.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/polyfactory/factories/base.py b/polyfactory/factories/base.py index 07a6c97d..9febf9b0 100644 --- a/polyfactory/factories/base.py +++ b/polyfactory/factories/base.py @@ -492,7 +492,7 @@ def create_factory( ) @classmethod - def get_constrained_field_value(cls, annotation: Any, field_meta: FieldMeta) -> Any: # noqa: C901, PLR0911 + def get_constrained_field_value(cls, annotation: Any, field_meta: FieldMeta) -> Any: # noqa: C901, PLR0911, PLR0912 try: constraints = cast("Constraints", field_meta.constraints) if is_safe_subclass(annotation, float): @@ -541,8 +541,11 @@ def get_constrained_field_value(cls, annotation: Any, field_meta: FieldMeta) -> pattern=constraints.get("pattern"), ) - with suppress(ValueError): + try: collection_type = get_collection_type(annotation) + except ValueError: + collection_type = None + if collection_type is not None: if collection_type == dict: return handle_constrained_mapping( factory=cls, @@ -550,7 +553,6 @@ def get_constrained_field_value(cls, annotation: Any, field_meta: FieldMeta) -> min_items=constraints.get("min_length"), max_items=constraints.get("max_length"), ) - return handle_constrained_collection( collection_type=collection_type, # type: ignore[type-var] factory=cls,