def create_single_html_book(self, book_package): title = book_package.get_title() if not title: # 电子书题目为空时自动跳过 # 否则会发生『rm -rf / 』的惨剧 return Path.reset_path() Path.chdir(Path.result_path) Path.rmdir(u'./' + title) Path.mkdir(u'./' + title) Path.chdir(u'./' + title) page = [] for book in book_package.book_list: page += book.page_list content = u' \r\n '.join([Match.html_body(x.content) for x in page]).replace(u'../images/', u'./images/') with open(TemplateConfig.content_base_uri) as html: content = html.read().format(title=title, body=content).replace(u'../style/', u'./') with open(title + u'.html', 'w') as html: html.write(content) Path.copy(Path.html_pool_path + u'/../{}/OEBPS/images'.format(title), u'./images') Path.copy(Path.www_css + u'/customer.css', u'./customer.css') Path.copy(Path.www_css + u'/markdown.css', u'./markdown.css') Path.copy(Path.www_css + u'/normalize.css', u'./normalize.css') Path.reset_path() return
def create_single_html_book(self): title = '_'.join([book.epub.title for book in self.book_list]) title = title.strip()[:128] # 避开window文件名长度限制 title = ExtraTools.fix_filename(title) # 移除特殊字符 Path.reset_path() Path.chdir(Path.result_path) Path.rmdir(u'./' + title) Path.mkdir(u'./' + title) Path.chdir(u'./' + title) page = [] for book in self.book_list: page += book.page_list content = ' \r\n<hr /> \r\n '.join([Match.html_body(x.content) for x in page]).replace('../images/', './images/') with open(Path.base_path + '/src/template/content/single_html.html') as html: template = html.read().format(title=title, content=content) with open(title + u'.html', 'w') as html: html.write(template) shutil.copytree(Path.html_pool_path + u'/../{}/OEBPS/images'.format(title), './images') shutil.copy(Path.www_css + '/front.css' , './front.css') shutil.copy(Path.www_css + '/markdown.css' , './markdown.css') Path.reset_path() return
def init_path(self): Path.rmdir(u'./' + self.title) Path.mkdir(u'./' + self.title) Path.chdir(u'./' + self.title) EpubPath.init_epub_path(Path.get_pwd()) return