Merge branch 'picture' into pretty
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Fri, 16 Dec 2011 16:13:21 +0000 (17:13 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Fri, 16 Dec 2011 16:13:21 +0000 (17:13 +0100)
Conflicts:
apps/catalogue/management/commands/importbooks.py

1  2 
apps/catalogue/management/commands/importbooks.py
apps/catalogue/models.py
lib/librarian
wolnelektury/settings.py

@@@ -34,6 -38,37 +38,29 @@@ class Command(BaseCommand)
      help = 'Imports books from the specified directories.'
      args = 'directory [directory ...]'
  
 -        if os.path.isfile(file_base + '.pdf'):
 -            book.pdf_file.save('%s.pdf' % book.slug, File(file(file_base + '.pdf')))
 -            if verbose:
 -                print "Importing %s.pdf" % file_base
 -        if os.path.isfile(file_base + '.mobi'):
 -            book.mobi_file.save('%s.mobi' % book.slug, File(file(file_base + '.mobi')))
 -            if verbose:
 -                print "Importing %s.mobi" % file_base
 -        if os.path.isfile(file_base + '.epub'):
 -            book.epub_file.save('%s.epub' % book.slug, File(file(file_base + '.epub')))
 -            if verbose:
 -                print "Importing %s.epub" % file_base
 -        if os.path.isfile(file_base + '.txt'):
 -            book.txt_file.save('%s.txt' % book.slug, File(file(file_base + '.txt')))
 -            if verbose:
 -                print "Importing %s.txt" % file_base
+     def import_book(self, file_path, options):
+         verbose = options.get('verbose')
+         file_base, ext = os.path.splitext(file_path)
+         book = Book.from_xml_file(file_path, overwrite=options.get('force'),
+                                   build_epub=options.get('build_epub'),
+                                   build_txt=options.get('build_txt'),
+                                   build_pdf=options.get('build_pdf'),
+                                   build_mobi=options.get('build_mobi'))
++        fileid = book.fileid()
++        for ebook_format in Book.ebook_formats:
++            if os.path.isfile(file_base + '.' + ebook_format):
++                getattr(book, '%s_file' % ebook_format).save(
++                    '%s.%s' % (fileid, ebook_format), 
++                    File(file(file_base + '.' + ebook_format)))
++                if verbose:
++                    print "Importing %s.%s" % (file_base, ebook_format)
+         book.save()
+     def import_picture(self, file_path, options):
+         picture = Picture.from_xml_file(file_path, overwrite=options.get('force'))
+         return picture
      def handle(self, *directories, **options):
          from django.db import transaction
  
Simple merge
diff --cc lib/librarian
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit 4077ffb3cbd868df95239898563508b64e6d6ecf
 -Subproject commit a3c860f00c7d12ae5852ddab056c98f52ee43072
++Subproject commit 05b19dad8ca44136e064abcc6beff5dac4489c60
Simple merge