Fix for picture in Python 3.
[librarian.git] / librarian / partners.py
index 58bc8c5..671cf4d 100644 (file)
@@ -11,22 +11,29 @@ along with custom cover images etc.
 
 New partners shouldn't be added here, but in the partners repository.
 """
+from __future__ import print_function, unicode_literals
 
 from librarian import packagers, cover
+from .util import makedirs
+
 
 class GandalfEpub(packagers.EpubPackager):
     cover = cover.GandalfCover
 
+
 class GandalfPdf(packagers.PdfPackager):
     cover = cover.GandalfCover
 
+
 class BookotekaEpub(packagers.EpubPackager):
     cover = cover.BookotekaCover
 
+
 class PrestigioEpub(packagers.EpubPackager):
     cover = cover.PrestigioCover
     flags = ('less-advertising',)
 
+
 class PrestigioPdf(packagers.PdfPackager):
     cover = cover.PrestigioCover
     flags = ('less-advertising',)
@@ -51,7 +58,6 @@ class Virtualo(packagers.Packager):
         from librarian import DirDocProvider, ParseError
         from librarian.parser import WLDocument
         from copy import deepcopy
-        import os
         import os.path
 
         xml = etree.fromstring("""<?xml version="1.0" encoding="utf-8"?>
@@ -74,13 +80,13 @@ class Virtualo(packagers.Packager):
         try:
             for main_input in input_filenames:
                 if verbose:
-                    print main_input
+                    print(main_input)
                 path, fname = os.path.realpath(main_input).rsplit('/', 1)
                 provider = DirDocProvider(path)
                 slug, ext = os.path.splitext(fname)
 
                 outfile_dir = os.path.join(output_dir, slug)
-                os.makedirs(os.path.join(output_dir, slug))
+                makedirs(os.path.join(output_dir, slug))
 
                 doc = WLDocument.from_file(main_input, provider=provider)
                 info = doc.book_info
@@ -97,24 +103,21 @@ class Virtualo(packagers.Packager):
                 cover.VirtualoCover(info).save(os.path.join(outfile_dir, slug+'.jpg'))
                 outfile = os.path.join(outfile_dir, '1.epub')
                 outfile_sample = os.path.join(outfile_dir, '1.sample.epub')
-                doc.save_output_file(doc.as_epub(),
-                        output_path=outfile)
-                doc.save_output_file(doc.as_epub(doc, sample=25),
-                        output_path=outfile_sample)
+                doc.save_output_file(doc.as_epub(), output_path=outfile)
+                doc.save_output_file(doc.as_epub(doc, sample=25), output_path=outfile_sample)
                 outfile = os.path.join(outfile_dir, '1.mobi')
                 outfile_sample = os.path.join(outfile_dir, '1.sample.mobi')
-                doc.save_output_file(doc.as_mobi(cover=cover.VirtualoCover),
-                        output_path=outfile)
+                doc.save_output_file(doc.as_mobi(cover=cover.VirtualoCover), output_path=outfile)
                 doc.save_output_file(
-                        doc.as_mobi(doc, cover=cover.VirtualoCover, sample=25),
-                        output_path=outfile_sample)
-        except ParseError, e:
-            print '%(file)s:%(name)s:%(message)s' % {
+                    doc.as_mobi(doc, cover=cover.VirtualoCover, sample=25),
+                    output_path=outfile_sample)
+        except ParseError as e:
+            print('%(file)s:%(name)s:%(message)s' % {
                 'file': main_input,
                 'name': e.__class__.__name__,
                 'message': e.message
-            }
+            })
 
         xml_file = open(os.path.join(output_dir, 'import_products.xml'), 'w')
-        xml_file.write(etree.tostring(xml, pretty_print=True, encoding=unicode).encode('utf-8'))
+        xml_file.write(etree.tostring(xml, pretty_print=True, encoding='unicode').encode('utf-8'))
         xml_file.close()