X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/cba76114f031d47c93e1af947a350230cbef0a1f..3aa7d84d301fc2ad67cfb464e6f5acbbafd7511c:/librarian/parser.py diff --git a/librarian/parser.py b/librarian/parser.py index a9e8c65..41f4308 100644 --- a/librarian/parser.py +++ b/librarian/parser.py @@ -4,6 +4,7 @@ # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from librarian import ValidationError, NoDublinCore, ParseError, NoProvider +from librarian import NoSponsorProvider, DirSponsorProvider from librarian import RDFNS from librarian.cover import WLCover from librarian import dcparser @@ -21,9 +22,11 @@ class WLDocument(object): provider = None def __init__(self, edoc, parse_dublincore=True, provider=None, + sponsor_provider=None, strict=False, meta_fallbacks=None): self.edoc = edoc self.provider = provider + self.sponsor_provider = sponsor_provider root_elem = edoc.getroot() @@ -180,6 +183,11 @@ class WLDocument(object): persons.remove(None) return persons + def sponsor_by_name(self, name): + if self.sponsor_provider is None: + raise NoSponsorProvider + return self.sponsor_provider.by_name(name) + # Converters def as_html(self, *args, **kwargs):