initial commit
This commit is contained in:
139
src/komgapi/schemas/Manifest.py
Normal file
139
src/komgapi/schemas/Manifest.py
Normal file
@@ -0,0 +1,139 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class Link(BaseModel):
|
||||
title: Optional[str] = None
|
||||
rel: Optional[str] = None
|
||||
href: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
templated: Optional[bool] = None
|
||||
width: Optional[int] = None
|
||||
height: Optional[int] = None
|
||||
|
||||
|
||||
class Series(BaseModel):
|
||||
name: Optional[str] = None
|
||||
position: Optional[int] = None
|
||||
links: Optional[List[Link]] = None
|
||||
|
||||
|
||||
class CollectionItem(BaseModel):
|
||||
name: Optional[str] = None
|
||||
position: Optional[int] = None
|
||||
links: Optional[List[Link]] = None
|
||||
|
||||
|
||||
class BelongsTo(BaseModel):
|
||||
series: Optional[List[Series]] = None
|
||||
collection: Optional[List[CollectionItem]] = None
|
||||
|
||||
|
||||
class Rendition(BaseModel):
|
||||
additionalProp1: Dict[str, Any]
|
||||
additionalProp2: Dict[str, Any]
|
||||
additionalProp3: Dict[str, Any]
|
||||
|
||||
|
||||
class Metadata(BaseModel):
|
||||
title: Optional[str] = None
|
||||
identifier: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
conformsTo: Optional[str] = None
|
||||
sortAs: Optional[str] = None
|
||||
subtitle: Optional[str] = None
|
||||
modified: Optional[str] = None
|
||||
published: Optional[str] = None
|
||||
language: Optional[str] = None
|
||||
author: Optional[List[str]] = None
|
||||
translator: Optional[List[str]] = None
|
||||
editor: Optional[List[str]] = None
|
||||
artist: Optional[List[str]] = None
|
||||
illustrator: Optional[List[str]] = None
|
||||
letterer: Optional[List[str]] = None
|
||||
penciler: Optional[List[str]] = None
|
||||
colorist: Optional[List[str]] = None
|
||||
inker: Optional[List[str]] = None
|
||||
contributor: Optional[List[str]] = None
|
||||
publisher: Optional[List[str]] = None
|
||||
subject: Optional[List[str]] = None
|
||||
readingProgression: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
numberOfPages: Optional[int] = None
|
||||
belongsTo: Optional[BelongsTo] = None
|
||||
rendition: Optional[Rendition] = None
|
||||
|
||||
|
||||
class Image(BaseModel):
|
||||
title: Optional[str] = None
|
||||
rel: Optional[str] = None
|
||||
href: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
templated: Optional[bool] = None
|
||||
width: Optional[int] = None
|
||||
height: Optional[int] = None
|
||||
|
||||
|
||||
class ReadingOrderItem(BaseModel):
|
||||
title: Optional[str] = None
|
||||
rel: Optional[str] = None
|
||||
href: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
templated: Optional[bool] = None
|
||||
width: Optional[int] = None
|
||||
height: Optional[int] = None
|
||||
|
||||
|
||||
class Resource(BaseModel):
|
||||
title: Optional[str] = None
|
||||
rel: Optional[str] = None
|
||||
href: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
templated: Optional[bool] = None
|
||||
width: Optional[int] = None
|
||||
height: Optional[int] = None
|
||||
|
||||
|
||||
class TocItem(BaseModel):
|
||||
title: Optional[str] = None
|
||||
rel: Optional[str] = None
|
||||
href: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
templated: Optional[bool] = None
|
||||
width: Optional[int] = None
|
||||
height: Optional[int] = None
|
||||
|
||||
|
||||
class Landmark(BaseModel):
|
||||
title: Optional[str] = None
|
||||
rel: Optional[str] = None
|
||||
href: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
templated: Optional[bool] = None
|
||||
width: Optional[int] = None
|
||||
height: Optional[int] = None
|
||||
|
||||
|
||||
class PageListItem(BaseModel):
|
||||
title: Optional[str] = None
|
||||
rel: Optional[str] = None
|
||||
href: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
templated: Optional[bool] = None
|
||||
width: Optional[int] = None
|
||||
height: Optional[int] = None
|
||||
|
||||
|
||||
class Manifest(BaseModel):
|
||||
context: Optional[str] = None
|
||||
metadata: Optional[Metadata] = None
|
||||
links: Optional[List[Link]] = None
|
||||
images: Optional[List[Image]] = None
|
||||
readingOrder: Optional[List[ReadingOrderItem]] = None
|
||||
resources: Optional[List[Resource]] = None
|
||||
toc: Optional[List[TocItem]] = None
|
||||
landmarks: Optional[List[Landmark]] = None
|
||||
pageList: Optional[List[PageListItem]] = None
|
||||
Reference in New Issue
Block a user