Skip to content

Commit

Permalink
Merge pull request #781 from ImageMarkup/improve-warnings
Browse files Browse the repository at this point in the history
Reduce test warnings
  • Loading branch information
danlamanna committed Oct 27, 2023
2 parents dd85e8a + 51216ba commit b3027b0
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 40 deletions.
4 changes: 2 additions & 2 deletions isic/core/api/collection.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@


class CollectionOut(ModelSchema):
class Config:
class Meta:
model = Collection
model_fields = ["id", "name", "description", "public", "pinned", "locked", "doi"]
fields = ["id", "name", "description", "public", "pinned", "locked", "doi"]

doi_url: str | None = Field(alias="doi_url")

Expand Down
4 changes: 2 additions & 2 deletions isic/core/api/image.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ class ImageFilesOut(Schema):


class ImageOut(ModelSchema):
class Config:
class Meta:
model = Image
model_fields = ["public"]
fields = ["public"]

isic_id: str = Field(alias="isic_id")
copyright_license: str = Field(alias="accession.copyright_license")
Expand Down
4 changes: 2 additions & 2 deletions isic/core/api/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@


class UserOut(ModelSchema):
class Config:
class Meta:
model = User
model_fields = [
fields = [
"id",
"email",
"first_name",
Expand Down
6 changes: 3 additions & 3 deletions isic/core/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from django.db.models.query import QuerySet
from django.shortcuts import get_object_or_404
from ninja import Schema
from pydantic import validator
from pydantic import field_validator

from isic.core.models import Image
from isic.core.models.collection import Collection
Expand All @@ -13,14 +13,14 @@ class SearchQueryIn(Schema):
query: str | None = None
collections: list[int] | None = None

@validator("query")
@field_validator("query")
@classmethod
def valid_search_query(cls, value: str | None):
if value:
value = value.strip()
return value

@validator("collections", pre=True)
@field_validator("collections", mode="before")
@classmethod
def collections_to_list(cls, value: str | list[int]):
if isinstance(value, str) and value:
Expand Down
6 changes: 3 additions & 3 deletions isic/find/api.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.http.response import JsonResponse
from ninja import Query, Router, Schema
from pydantic import validator
from pydantic import field_validator

from isic.find.find import quickfind_execute

Expand All @@ -10,14 +10,14 @@
class QueryIn(Schema):
query: str

@validator("query")
@field_validator("query")
@classmethod
def query_min_length(cls, v: str):
if len(v) < 3:
raise ValueError("Query too short.")
return v

@validator("query")
@field_validator("query")
@classmethod
def query_too_common(cls, v: str):
if v.lower() in "isic_":
Expand Down
24 changes: 12 additions & 12 deletions isic/ingest/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from django.shortcuts import get_object_or_404
from ninja import Field, ModelSchema, Query, Router, Schema
from ninja.pagination import paginate
from pydantic import validator
from pydantic import field_validator
from s3_file_field.widgets import S3PlaceholderFile

from isic.auth import is_authenticated, is_staff
Expand All @@ -24,7 +24,7 @@ class AccessionIn(Schema):
cohort: int
original_blob: str = Field(..., description="S3 file field value.")

@validator("original_blob")
@field_validator("original_blob")
@classmethod
def validate_s3_file(cls, value: str) -> S3PlaceholderFile:
s3_file = S3PlaceholderFile.from_field(value)
Expand All @@ -34,9 +34,9 @@ def validate_s3_file(cls, value: str) -> S3PlaceholderFile:


class AccessionOut(ModelSchema):
class Config:
class Meta:
model = Accession
model_fields = ["id"]
fields = ["id"]


@accession_router.post(
Expand Down Expand Up @@ -80,9 +80,9 @@ def create_review_bulk(request: HttpRequest, payload: list[AccessionReview]):


class CohortOut(ModelSchema):
class Config:
class Meta:
model = Cohort
model_fields = [
fields = [
"id",
"created",
"creator",
Expand Down Expand Up @@ -112,9 +112,9 @@ def cohort_detail(request: HttpRequest, id: int):


class ContributorIn(ModelSchema):
class Config:
class Meta:
model = Contributor
model_fields = [
fields = [
"institution_name",
"institution_url",
"legal_contact_info",
Expand All @@ -124,9 +124,9 @@ class Config:


class ContributorOut(ModelSchema):
class Config:
class Meta:
model = Contributor
model_fields = [
fields = [
"id",
"created",
"creator",
Expand Down Expand Up @@ -171,9 +171,9 @@ def create_contributor(request: HttpRequest, payload: ContributorIn):


class MetadataFileOut(ModelSchema):
class Config:
class Meta:
model = MetadataFile
model_fields = ["id"]
fields = ["id"]


@metadata_file_router.delete("/{id}/", response={204: None}, include_in_schema=False, auth=is_staff)
Expand Down
24 changes: 12 additions & 12 deletions isic/studies/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@


class AnnotationOut(ModelSchema):
class Config:
class Meta:
model = Annotation
model_fields = ["id", "study", "image", "task", "annotator"]
fields = ["id", "study", "image", "task", "annotator"]


@annotation_router.get("/", response=list[AnnotationOut], include_in_schema=False, auth=is_staff)
Expand All @@ -30,30 +30,30 @@ def annotation_detail(request: HttpRequest, id: int):


class FeatureOut(ModelSchema):
class Config:
class Meta:
model = Feature
model_fields = ["id", "required", "name", "official"]
fields = ["id", "required", "name", "official"]


class QuestionChoiceOut(ModelSchema):
class Config:
class Meta:
model = QuestionChoice
model_fields = ["id", "question", "text"]
fields = ["id", "question", "text"]


class QuestionOut(ModelSchema):
choices: list[QuestionChoiceOut]
required: bool = Field(alias="required")

class Config:
class Meta:
model = Question
model_fields = ["id", "type", "prompt", "official"]
fields = ["id", "type", "prompt", "official"]


class StudyOut(ModelSchema):
class Config:
class Meta:
model = Study
model_fields = ["id", "created", "creator", "name", "description"]
fields = ["id", "created", "creator", "name", "description"]

features: list[FeatureOut]
questions: list[QuestionOut] = Field(alias="questions")
Expand Down Expand Up @@ -81,9 +81,9 @@ def study_detail(request: HttpRequest, id: int):


class StudyTaskOut(ModelSchema):
class Config:
class Meta:
model = StudyTask
model_fields = ["id", "study", "image", "annotator"]
fields = ["id", "study", "image", "annotator"]

complete: bool = Field(alias="complete")

Expand Down
4 changes: 0 additions & 4 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,6 @@ DJANGO_SETTINGS_MODULE = isic.settings
DJANGO_CONFIGURATION = TestingConfiguration
addopts = --strict-markers --showlocals --verbose
filterwarnings =
# https://github.com/jazzband/django-configurations/issues/190
ignore:the imp module is deprecated in favour of importlib:DeprecationWarning:configurations
# https://foss.heptapod.net/python-libs/passlib/-/issues/148
ignore:'crypt' is deprecated:DeprecationWarning:passlib
# https://github.com/axnsan12/drf-yasg/issues/851
ignore::DeprecationWarning:drf_yasg
ignore::DeprecationWarning:pkg_resources

0 comments on commit b3027b0

Please sign in to comment.