Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Use poetry deps for testings #741

Merged
merged 6 commits into from
Jun 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 12 additions & 13 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,27 @@ jobs:
matrix:
python: ["3.10"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install poetry
run: pipx install 'poetry~=1.8'
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- name: Install linters
run: |
python -m pip install --upgrade pip
pip install ruff==0.4.5
cache: 'poetry'
cache-dependency-path: 'poetry.lock'
- name: Install deps
run: poetry install --sync --no-root
- name: Run linters
run: |
source $(poetry env info --path)/bin/activate
make lint
- name: Install type checking dependencies
run: |
python -m pip install --upgrade pip
pip install django==4.2.10 django-stubs==4.2.7 mypy==1.8.0
- name: Run type checking
run: |
source $(poetry env info --path)/bin/activate
make typecheck
- name: Test package install
run: |
python -m pip install --upgrade pip
python setup.py sdist
pip install dist/*

Expand Down Expand Up @@ -84,9 +83,9 @@ jobs:
POSTGRES_USER: "modeltranslation"
POSTGRES_PASSWORD: "modeltranslation"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Set up env
Expand Down
6 changes: 3 additions & 3 deletions modeltranslation/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def _get_declared_fieldsets(
) -> _ListOrTuple[tuple[str | None, dict[str, Any]]] | None:
# Take custom modelform fields option into account
if not self.fields and hasattr(self.form, "_meta") and self.form._meta.fields:
self.fields = self.form._meta.fields
self.fields = self.form._meta.fields # type: ignore[assignment]
# takes into account non-standard add_fieldsets attribute used by UserAdmin
fieldsets = (
self.add_fieldsets
Expand All @@ -57,8 +57,8 @@ def formfield_for_dbfield(
self, db_field: Field, request: HttpRequest, **kwargs: Any
) -> forms.Field:
field = super().formfield_for_dbfield(db_field, request, **kwargs)
self.patch_translation_field(db_field, field, request, **kwargs) # type: ignore[arg-type]
return field # type: ignore[return-value]
self.patch_translation_field(db_field, field, request, **kwargs)
return field

def patch_translation_field(
self, db_field: Field, field: forms.Field, request: HttpRequest, **kwargs: Any
Expand Down
4 changes: 2 additions & 2 deletions modeltranslation/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import itertools
from functools import reduce
from typing import Any, Container, Iterator, Literal, Sequence, TypeVar, cast, overload
from typing import Any, Container, Iterator, Literal, Sequence, Iterable, TypeVar, cast, overload

from django import VERSION
from django.contrib.admin.utils import get_model_from_relation
Expand Down Expand Up @@ -91,7 +91,7 @@ def append_fallback(model: type[Model], fields: Sequence[str]) -> tuple[set[str]
return fields_set, trans


def append_translated(model: type[Model], fields: Sequence[str]) -> set[str]:
def append_translated(model: type[Model], fields: Iterable[str]) -> set[str]:
"If translated field is encountered, add also all its translation fields."
fields_set = set(fields)
from modeltranslation.translator import translator
Expand Down
6 changes: 3 additions & 3 deletions modeltranslation/translator.py
Original file line number Diff line number Diff line change
Expand Up @@ -371,10 +371,10 @@ def patch_refresh_from_db(model: type[Model]) -> None:
old_refresh_from_db = model.refresh_from_db

def new_refresh_from_db(
self, using: str | None = None, fields: Sequence[str] | None = None
self, using: str | None = None, fields: Iterable[str] | None = None
) -> None:
if fields is not None:
fields = append_translated(self.__class__, fields) # type: ignore[assignment]
fields = append_translated(self.__class__, fields)
return old_refresh_from_db(self, using, fields)

model.refresh_from_db = new_refresh_from_db
Expand Down Expand Up @@ -609,7 +609,7 @@ def _register_single_model(self, model: type[Model], opts: TranslationOptions) -
# Fix translated_field caching for SingleRelatedObjectDescriptor
sro_descriptor = getattr(
field.remote_field.model,
field.remote_field.get_accessor_name(), # type: ignore[arg-type]
field.remote_field.get_accessor_name(),
)
patch_related_object_descriptor_caching(sro_descriptor)

Expand Down
Loading
Loading