Пример #1
0
 def setUp(self):
     shutil.copytree('tests/fixtures/container01', 'tests/fixtures/dummy')
     self.container = Container('tests/fixtures/dummy')
     # Count the number of current pages as a side effect
     self.container.npages()
     # There is a cover.jpg in the container
     self.container.has_cover = True
Пример #2
0
 def setUp(self):
     shutil.copytree('tests/fixtures/container01', 'tests/fixtures/dummy')
     self.container = Container('tests/fixtures/dummy')
     # Count the number of current pages as a side effect
     self.container.npages()
     # There is a cover.jpg in the container
     self.container.has_cover = True
     self.info = Info(title='title',
                      language='en',
                      publisher='publisher',
                      author='author',
                      reading_direction='horizontal-rl')
     self.mangamobi = MangaMobi(self.container,
                                self.info,
                                kindlegen='bin/kindlegen')
Пример #3
0
    def _create_mobi(self):
        """Create the MOBI file and return a list of files and containers."""
        dir_name = tempfile.mkdtemp(dir=self.mobi_store)
        container = Container(dir_name)
        container.create(clean=True)
        images = sorted(self.images, key=lambda x: x['number'])
        _images = []
        for i in images:
            if i['images']:
                image_path = i['images'][0]['path']
            else:
                image_path = EMPTY
            _images.append(os.path.join(self.images_store, image_path))

        # By default reduce the margin of the image
        _filter = Container.FILTER_MARGIN
        if self.issue.manga.source.has_footer:
            _filter |= Container.FILTER_FOOTER
        container.add_images(_images,
                             adjust=Container.ROTATE,
                             _filter=_filter,
                             as_link=True)

        if container.get_size() > self.volume_max_size:
            containers = container.split(self.volume_max_size, clean=True)
            container.clean()
        else:
            containers = [container]

        mobi_and_containers = []
        for volume, container in enumerate(containers):
            multi_vol, vol = len(containers) > 1, volume + 1
            info = MobiInfo(self.issue, multi_vol, vol, len(containers))

            mobi = MangaMobi(container, info, kindlegen=self.kindlegen)
            mobi_file = mobi.create()
            mobi_and_containers.append((mobi_file, container))
        return mobi_and_containers
Пример #4
0
 def test_create_new(self):
     container = Container('tests/fixtures/empty')
     container.create()
     self.assertTrue(os.path.exists('tests/fixtures/empty'))
     container.clean()
     self.assertFalse(os.path.exists('tests/fixtures/empty'))