adsfolio.pdf.identify_settings
Canonical settings shared by PDF Identify interfaces.
- class adsfolio.pdf.identify_settings.DoiProvider(*values)
-
Supported metadata providers for DOI lookup.
- ADS = 'ads'
- CROSSREF = 'crossref'
- DATACITE = 'datacite'
- class adsfolio.pdf.identify_settings.IdentifySettings(strategies=(IdentifyStrategy.FIRST_PAGE_ARXIV, IdentifyStrategy.FILENAME_BIBCODE, IdentifyStrategy.FILENAME_DOI, IdentifyStrategy.PDF_METADATA_BIBCODE, IdentifyStrategy.PDF_METADATA_DOI, IdentifyStrategy.FIRST_PAGE_BIBCODE, IdentifyStrategy.FIRST_PAGE_DOI, IdentifyStrategy.STRUCTURED_FILENAME, IdentifyStrategy.PDF_METADATA_TITLE, IdentifyStrategy.FIRST_PAGE_TITLE), providers=(DoiProvider.ADS, DoiProvider.CROSSREF, DoiProvider.DATACITE), recursive=False, output_unresolved=None, skip_unresolved_directory=False, verbose=False, allow_ads=False)[source]
Bases:
objectReusable PDF Identify behavior, separate from the user’s identity.
Notes
recursive and verbose configure foreground/bulk Identify runs. Watch processing handles one typed arrival at a time and reports its outcome via GUI notices, so those two fields do not alter single-file watch behavior. allow_ads permits fallback in foreground Identify runs. Watching keeps its separate permission for automatic processing.
- Parameters:
strategies (tuple[adsfolio.pdf.identify_settings.IdentifyStrategy, ...])
providers (tuple[adsfolio.pdf.doi_providers.DoiProvider, ...])
recursive (bool)
output_unresolved (str | None)
skip_unresolved_directory (bool)
verbose (bool)
allow_ads (bool)
- classmethod from_mapping(payload, *, fallback=None)[source]
Normalize persisted values independently.
- Parameters:
payload (collections.abc.Mapping[str, Any] | None) – Persisted settings. Unknown fields are ignored.
fallback (adsfolio.pdf.identify_settings.IdentifySettings | None) – Values used for missing or malformed fields.
- Returns:
Normalized settings.
- Return type:
- providers: tuple[adsfolio.pdf.doi_providers.DoiProvider, ...] = (DoiProvider.ADS, DoiProvider.CROSSREF, DoiProvider.DATACITE)
- strategies: tuple[adsfolio.pdf.identify_settings.IdentifyStrategy, ...] = (IdentifyStrategy.FIRST_PAGE_ARXIV, IdentifyStrategy.FILENAME_BIBCODE, IdentifyStrategy.FILENAME_DOI, IdentifyStrategy.PDF_METADATA_BIBCODE, IdentifyStrategy.PDF_METADATA_DOI, IdentifyStrategy.FIRST_PAGE_BIBCODE, IdentifyStrategy.FIRST_PAGE_DOI, IdentifyStrategy.STRUCTURED_FILENAME, IdentifyStrategy.PDF_METADATA_TITLE, IdentifyStrategy.FIRST_PAGE_TITLE)
- with_overrides(*, strategies=<object object>, providers=<object object>, recursive=<object object>, output_unresolved=<object object>, skip_unresolved_directory=<object object>, verbose=<object object>, allow_ads=<object object>)[source]
Return a copy with supplied fields, including explicit clears.
- Parameters:
strategies (collections.abc.Sequence[adsfolio.pdf.identify_settings.IdentifyStrategy | str] | object)
providers (collections.abc.Sequence[adsfolio.pdf.doi_providers.DoiProvider | str] | object)
- Return type:
- class adsfolio.pdf.identify_settings.IdentifyStrategy(*values)[source]
-
Supported evidence extraction strategies for PDF identification.
- FILENAME_BIBCODE = 'filename_bibcode'
- FILENAME_DOI = 'filename_doi'
- FIRST_PAGE_ARXIV = 'first_page_arxiv'
- FIRST_PAGE_BIBCODE = 'first_page_bibcode'
- FIRST_PAGE_DOI = 'first_page_doi'
- FIRST_PAGE_TITLE = 'first_page_title'
- PDF_METADATA_BIBCODE = 'pdf_metadata_bibcode'
- PDF_METADATA_DOI = 'pdf_metadata_doi'
- PDF_METADATA_TITLE = 'pdf_metadata_title'
- STRUCTURED_FILENAME = 'structured_filename'