return p == 0
+# not used
def load_including_children(wldoc=None, provider=None, uri=None):
""" Makes one big xml file with children inserted at end.
-
+
Either wldoc or provider and URI must be provided.
"""
if uri and provider:
f = provider.by_uri(uri)
+ # WTF DocProvider.by_uri() returns IOFile, so no .read() there
text = f.read().decode('utf-8')
f.close()
elif wldoc is not None:
class PDFFormat(Format):
""" Base PDF format.
-
+
Available customization:
nofootnotes: Doesn't do footnotes.
nothemes: Doesn't do themes.
""" For use in XSLT. """
return u','.join(k for k, v in self.customization.items() if v)
- def get_document(self):
- document = load_including_children(self.wldoc)
- root = document.edoc.getroot()
- root.set('editors', u', '.join(sorted(
- editor.readable() for editor in document.editors())))
-
- # hack the tree
- move_motifs_inside(document.edoc)
- hack_motifs(document.edoc)
- parse_creator(document.edoc)
- substitute_hyphens(document.edoc)
- fix_hanging(document.edoc)
- return document
-
def get_texml(self):
- style_filename = get_stylesheet("wl2tex")
- functions.reg_get(self)
- try:
- style = etree.parse(style_filename)
- texml = self.get_document().transform(style)
- return texml
- except (XMLSyntaxError, XSLTApplyError), e:
- raise ParseError(e)
+ raise NotImplementedError
def get_tex_dir(self):
texml = self.get_texml()
# Copy style
shutil.copy(get_resource('pdf/wl.cls'), temp)
shutil.copy(self.style, os.path.join(temp, 'style.sty'))
+ #for sfile in ['wasysym.sty', 'uwasyvar.fd', 'uwasy.fd']:
+ # shutil.copy(get_resource(os.path.join('res/wasysym', sfile)), temp)
+
# Save attachments
if self.cover:
self.cover.for_pdf().dump_to(os.path.join(temp, 'makecover.sty'))
p = call(['xelatex', '-interaction=batchmode', tex_path],
stdout=PIPE, stderr=PIPE)
if p:
- raise ParseError("Error parsing .tex file")
+ raise ParseError("Error parsing .tex file: %s" % tex_path)
if cwd is not None:
os.chdir(cwd)
"""
self.verbose = verbose
self.save_tex = save_tex
-
+
if morefloats is None and package_available('morefloats', 'maxfloats=19'):
morefloats = 'new'
self.morefloats = morefloats