Source code for papercast_zotero.zotero_types

from typing import List, Dict
from dataclasses import dataclass
import dataclasses


@dataclass
class ZoteroCreator:
    creatorType: str
    firstName: str
    lastName: str


@dataclass
class ZoteroTag:
    tag: str
    type: int


[docs]@dataclass(init=True) class ZoteroOutput: key: str version: int library: Dict[str, str] itemType: str title: str creators: List[ZoteroCreator] abstractNote: str genre: str repository: str archiveID: str place: str date: str series: str seriesNumber: str DOI: str citationKey: str url: str accessDate: str archive: str archiveLocation: str shortTitle: str language: str libraryCatalog: str callNumber: str rights: str extra: str tags: List[ZoteroTag] collections: List[str] relations: Dict[str, str] dateAdded: str dateModified: str def __init__(self, **kwargs): names = set([f.name for f in dataclasses.fields(self)]) for k, v in kwargs.items(): if k in names: setattr(self, k, v)