← back to Paul Conrad Archive
src/conrad/rights.py
38 lines
"""Rights + access-level vocabulary. Conrad's cartoons are in copyright (LA Times / Denver Post /
Conrad estate); nothing here is public domain. We store WHERE a work can be legally viewed."""
from __future__ import annotations
# access_level vocabulary for cartoon_sources
ONLINE_IMAGE = "online_image" # repository itself shows a digitized image to the public (link out)
ONLINE_METADATA = "online_metadata" # catalog record online, no public image
ARCHIVE_VISIT = "archive_visit" # physical item; view in reading room / by appointment
PAYWALLED = "paywalled" # newspaper database etc.
CDL = "controlled_digital_lending" # borrowable scan (archive.org); not accessed by this project
PUBLIC_IMAGE_LEVELS = {ONLINE_IMAGE}
REQUIRES_ARCHIVE = {ARCHIVE_VISIT}
DEFAULT_RIGHTS = {
"Huntington Library": ("Physical originals at The Huntington Library, San Marino, CA. Copyright retained by "
"the Conrad estate / original publisher; reproduction requires permission.",
"https://www.huntington.org/reproduction-requests"),
"Library of Congress": ("Library of Congress Prints & Photographs. Rights status per item record; Conrad works are "
"in copyright — publication may require permission from the copyright holder.",
"https://www.loc.gov/rr/print/res/rights.html"),
"Syracuse University": ("Syracuse University Special Collections Research Center; reading-room access. "
"Copyright held by the creator's estate / publisher.",
"https://library.syracuse.edu/special-collections-research-center/"),
"Wichita State University": ("Wichita State University Libraries Special Collections (MS 90-18). Copyright held by "
"the creator's estate / publisher.", "https://libraries.wichita.edu/specialcollections"),
"Ohio State University": ("Billy Ireland Cartoon Library & Museum. Copyright held by the creator's estate / publisher.",
"https://cartoons.osu.edu/"),
}
COPYRIGHT_NOTE = ("In copyright (Los Angeles Times, Denver Post, or the Paul Conrad estate). This archive stores "
"metadata and link-outs; where the holding institution publishes a public image it is "
"shown directly from that institution's server — no copy is stored here.")
def rights_for(repository: str | None) -> tuple[str, str | None]:
return DEFAULT_RIGHTS.get(repository or "", (COPYRIGHT_NOTE, None))