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

Create canvas from IIIF Image #89

Merged
merged 11 commits into from Nov 11, 2022
6 changes: 4 additions & 2 deletions iiif_prezi3/base.py
Expand Up @@ -9,6 +9,8 @@ class Config:
validate_all = True
copy_on_model_validation = False
smart_union = True
# Allow us to use the field name like service.id rather than service.@id
allow_population_by_field_name = True

def __getattribute__(self, prop):
val = super(Base, self).__getattribute__(prop)
Expand Down Expand Up @@ -54,9 +56,9 @@ def jsonld(self, **kwargs):
pydantic_args = ["include", "exclude", "by_alias", "encoder"]
dict_kwargs = dict([(arg, kwargs[arg]) for arg in kwargs.keys() if arg in pydantic_args])
json_kwargs = dict([(arg, kwargs[arg]) for arg in kwargs.keys() if arg not in pydantic_args])
return json.dumps({"@context": "http://iiif.io/api/presentation/3/context.json", **self.dict(exclude_unset=False, exclude_defaults=False, exclude_none=True, **dict_kwargs)}, **json_kwargs)
return json.dumps({"@context": "http://iiif.io/api/presentation/3/context.json", **self.dict(exclude_unset=False, exclude_defaults=False, exclude_none=True, by_alias=True, **dict_kwargs)}, **json_kwargs)
digitaldogsbody marked this conversation as resolved.
Show resolved Hide resolved

def jsonld_dict(self, **kwargs):
pydantic_args = ["include", "exclude", "by_alias", "encoder"]
dict_kwargs = dict([(arg, kwargs[arg]) for arg in kwargs.keys() if arg in pydantic_args])
return {"@context": "http://iiif.io/api/presentation/3/context.json", **self.dict(exclude_unset=False, exclude_defaults=False, exclude_none=True, **dict_kwargs)}
return {"@context": "http://iiif.io/api/presentation/3/context.json", **self.dict(exclude_unset=False, exclude_defaults=False, exclude_none=True, by_alias=True, **dict_kwargs)}
4 changes: 2 additions & 2 deletions iiif_prezi3/skeleton.py
Expand Up @@ -320,8 +320,8 @@ class ServiceItem(Class):


class ServiceItem1(Base):
_id: Id = Field(..., alias='@id')
_type: str = Field(..., alias='@type')
id: Id = Field(..., alias='@id')
type: str = Field(..., alias='@type')
profile: Optional[str] = None
service: Optional[Service] = None

Expand Down