def _add_theme_assets(self, book): """Copy all the assets from the theme to the sandbox directory. :Args: - book: EPUB book object """ assets = read_theme_assets(self.theme_name, self.name) def _write(name, content): try: os.makedirs('{}/assets/'.format(self.sandbox_path)) except: pass if os.path.normpath('{}/assets/{}'.format( self.sandbox_path, name)).startswith(self.sandbox_path): try: f = open('{}/assets/{}'.format(self.sandbox_path, name), 'wb') f.write(content) f.close() except IOError: pass for asset_type, asset_list in assets.iteritems(): if asset_type == 'images': for image_name in asset_list: name = os.path.basename(image_name) content = read_theme_asset_content(self.theme_name, image_name) _write(name, content) elif asset_type == 'fonts': for font_name in asset_list: name = os.path.basename(font_name) content = read_theme_asset_content(self.theme_name, font_name) _write(name, content)
def _add_theme_assets(self, epub_book): import uuid assets = read_theme_assets(self.theme_name, self.name) for asset_type, asset_list in assets.iteritems(): if asset_type == 'images': for image_name in asset_list: name = os.path.basename(image_name) content = read_theme_asset_content(self.theme_name, image_name) if content: image = ebooklib.epub.EpubImage() image.file_name = "{}/{}".format(IMAGES_DIR, name) image.id = 'theme_image_%s' % uuid.uuid4().hex[:5] image.set_content(content) epub_book.add_item(image) elif asset_type == 'fonts': for font_name in asset_list: name = os.path.basename(font_name) extension = os.path.splitext(font_name)[-1].lower() content = read_theme_asset_content(self.theme_name, font_name) if content: font = ebooklib.epub.EpubItem() font.file_name = "{}/{}".format(FONTS_DIR, name) font.set_content(content) # try to set the right font media type # http://www.idpf.org/epub/301/spec/epub-publications.html#sec-core-media-types if extension in self.OPENTYPE_FONTS: font.media_type = 'application/vnd.ms-opentype' elif extension in self.WOFF_FONTS: font.media_type = 'application/font-woff' epub_book.add_item(font)
def _add_theme_assets(self, book): """Copy all the assets from the theme to the sandbox directory. :Args: - book: EPUB book object """ assets = read_theme_assets(self.theme_name, self.name) def _write(name, content): try: os.makedirs('{}/assets/'.format(self.sandbox_path)) except: pass if os.path.normpath('{}/assets/{}'.format(self.sandbox_path, name)).startswith(self.sandbox_path): try: f = open('{}/assets/{}'.format(self.sandbox_path, name), 'wb') f.write(content) f.close() except IOError: pass for asset_type, asset_list in assets.iteritems(): if asset_type == 'images': for image_name in asset_list: name = os.path.basename(image_name) content = read_theme_asset_content(self.theme_name, image_name) _write(name, content) elif asset_type == 'fonts': for font_name in asset_list: name = os.path.basename(font_name) content = read_theme_asset_content(self.theme_name, font_name) _write(name, content)
def _get_theme_assets(self): return read_theme_assets(self.theme_name, self._theme_suffix)
def _get_theme_images(self): theme_assets = read_theme_assets(self._converter.theme_name, self._converter.name) return [os.path.basename(x) for x in theme_assets.get('images', [])]
def _get_theme_images(self): from booktype.apps.themes.utils import read_theme_assets theme_assets = read_theme_assets(self._converter.theme_name, self._converter.name) return [os.path.basename(x) for x in theme_assets.get('images', [])]
def _get_theme_assets(self): return read_theme_assets(self.theme_name, self.name)
def _get_theme_assets(self): """Return theme assets Reading theme assets for "epub" file. """ return read_theme_assets(self.theme_name, 'epub')