X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/fe8e5b5e224d32baebbdaa2fecf4a847ed4e5354..d261b56ed55aad8c4f2111570c8a21feae4b9937:/librarian/parser.py?ds=sidebyside diff --git a/librarian/parser.py b/librarian/parser.py index b2ad98a..9300aa6 100644 --- a/librarian/parser.py +++ b/librarian/parser.py @@ -5,7 +5,6 @@ # from librarian import ValidationError, NoDublinCore, ParseError, NoProvider from librarian import RDFNS, IOFile -from librarian.styles.wolnelektury.cover import WLCover from librarian import dcparser from xml.parsers.expat import ExpatError @@ -76,10 +75,7 @@ class WLDocument(object): @classmethod def from_file(cls, xmlfile, *args, **kwargs): - if isinstance(xmlfile, basestring): - iofile = IOFile.from_filename(xmlfile) - else: - iofile = IOFile.from_file(xmlfile) + iofile = IOFile.from_filename(xmlfile) return cls(iofile, *args, **kwargs) @@ -104,15 +100,6 @@ class WLDocument(object): elem.insert(0, ins) elem.text = chunks.pop(0) - def parts(self): - if self.book_info is None: - raise NoDublinCore('No Dublin Core in document.') - if self.book_info.parts and self.provider is None: - raise NoProvider('No document provider supplied.') - for part_uri in self.book_info.parts: - yield self.from_file(self.provider.by_uri(part_uri), - provider=self.provider) - def chunk(self, path): # convert the path to XPath expr = self.path_to_xpath(path) @@ -175,21 +162,6 @@ class WLDocument(object): node.tag = 'span' node.tail = tail - def editors(self): - """Returns a set of all editors for book and its children. - - :returns: set of dcparser.Person objects - """ - if self.book_info is None: - raise NoDublinCore('No Dublin Core in document.') - persons = set(self.book_info.editors + - self.book_info.technical_editors) - for child in self.parts(): - persons.update(child.editors()) - if None in persons: - persons.remove(None) - return persons - # Converters def as_html(self, *args, **kwargs): @@ -205,8 +177,8 @@ class WLDocument(object): return epub.transform(self, *args, **kwargs) def as_pdf(self, *args, **kwargs): - from librarian import pdf - return pdf.transform(self, *args, **kwargs) + from librarian import pypdf + return pypdf.EduModulePDFFormat(self).build(*args, **kwargs) def as_mobi(self, *args, **kwargs): from librarian import mobi @@ -218,6 +190,7 @@ class WLDocument(object): def as_cover(self, cover_class=None, *args, **kwargs): if cover_class is None: + from librarian.styles.wolnelektury.cover import WLCover cover_class = WLCover return cover_class(self.book_info, *args, **kwargs).output_file()