def generateOutput(self, target_dir, progress_updater, page_index): target_dir = os.path.join(target_dir, self.entity.name) os.mkdir(target_dir) self.__createSubDirs(target_dir) self.__handled_thumbs = 0 self.__current_idx_page = 0 first_child_name = None if len(self.entity.children) > 0: first_child_name = self.entity.children[0].name while len(self.entity.children) - self.__handled_thumbs > 0: self.__current_idx_page += 1 if self.__current_idx_page > 1: self.__reset() self.updateCssRef(2) self.updateStyleDirRefs(2) self.updateDocTitle() menu_id_href_mapping = Core.getInstance().project.getMenuIdHrefMapping(2) if menu_id_href_mapping: self.updateMenuHrefs(menu_id_href_mapping) self.updateTitleCell(self.entity.title, self.entity.subtitle) self.activateMenuItem(self.entity.parent) self.updateMenuItem(self.entity) self.disableNaviControls(True, False, '%s_sls.html' % first_child_name) self._fillMetaDataTag('') self.addIndexTable() idx_file = 'index.html' if self.__current_idx_page > 1: idx_file = 'index%d.html' % self.__current_idx_page self.writeXHTML(self.html_tree, os.path.join(target_dir, idx_file)) for child in self.entity.children: page_index = child.generateOutput(target_dir, progress_updater, page_index) return page_index
def __generateThumbs(self, album_dir): project = Core.getInstance().project thumbnailer = Thumbnailer.getInstance() slide_thumb_size = thumbnailer.slide_thumb_size thumb_path = os.path.join(album_dir, 'thumbs', '%dx%d' % (slide_thumb_size[0], slide_thumb_size[1]), self.entity.pic_file_name) if not os.path.lexists(thumb_path): thumb = thumbnailer.getThumbnail(self.entity.pic_location, 'slide') thumb.save(thumb_path, 'JPEG') album_thumb_size = thumbnailer.album_thumb_size thumb_path = os.path.join(album_dir, 'thumbs', '%dx%d' % (album_thumb_size[0], album_thumb_size[1]), self.entity.pic_file_name) if not os.path.lexists(thumb_path): thumb = thumbnailer.getThumbnail(self.entity.pic_location, 'album') thumb.save(os.path.join(album_dir, 'thumbs', '%dx%d' % (album_thumb_size[0], album_thumb_size[1]), self.entity.pic_file_name), 'JPEG')
def generateOutput(self, target_dir, progress_updater, page_index): self.updateCssRef(0) self.updateDocTitle() menu_id_href_mapping = Core.getInstance().project.getMenuIdHrefMapping(0) if menu_id_href_mapping: self.updateMenuHrefs(menu_id_href_mapping) self.updateTitleCell(self.entity.title, self.entity.subtitle) self.disableNaviControls(False, False, None) self._copyIframeDir(target_dir) self._copyCustomContentHtmlFile(target_dir) self._addIframe() self.writeXHTML(self.html_tree, os.path.join(target_dir, 'index.html')) for child in self.entity.children: page_index = child.generateOutput(target_dir, progress_updater, page_index) return page_index
def generateOutput(self, target_dir, progress_updater, page_index): self.updateCssRef(0) self.updateStyleDirRefs(0) self.updateDocTitle() menu_id_href_mapping = Core.getInstance().project.getMenuIdHrefMapping(0) if menu_id_href_mapping: self.updateMenuHrefs(menu_id_href_mapping) self.updateTitleCell(self.entity.title, self.entity.subtitle) # TODO: Hack alert self.disableNaviControls(False, "http://seycek.eu/style/img/back_hr.png", None) self.__updatePrevNavi() self._copyIframeDir(target_dir) self._copyCustomContentHtmlFile(target_dir) self._addIframe() file_name = "%s.html" % self.entity.name self.writeXHTML(self.html_tree, os.path.join(target_dir, file_name)) return page_index
def generateOutput(self, target_dir, progress_updater, page_index): target_dir = os.path.join(target_dir, self.entity.name) os.mkdir(target_dir) self.__createSubDirs(target_dir) self.__generateAlbumThumbs(target_dir) self.updateCssRef(1) self.updateStyleDirRefs(1) self.updateDocTitle() menu_id_href_mapping = Core.getInstance().project.getMenuIdHrefMapping(1) if menu_id_href_mapping: self.updateMenuHrefs(menu_id_href_mapping) self.activateMenuItem() self.updateTitleCell(self.entity.title, self.entity.subtitle) self.disableNaviControls(True, False, None) self._fillMetaDataTag('') self.__addIndexTable() self.writeXHTML(self.html_tree, os.path.join(target_dir, 'index.html')) for child in self.entity.children: page_index = child.generateOutput(target_dir, progress_updater, page_index) return page_index
def generateOutput(self, target_dir, progress_updater, page_index): self.__copyPicture(target_dir) self.__copyHighresPicture(target_dir) self.__generateThumbs(target_dir) self.updateCssRef(2) self.updateStyleDirRefs(2) self.updateDocTitle() menu_id_href_mapping = Core.getInstance().project.getMenuIdHrefMapping(2) if menu_id_href_mapping: self.updateMenuHrefs(menu_id_href_mapping) self.activateMenuItem(self.entity.parent.parent) self.updateMenuItem(self.entity.parent) self.updateTitleCell(self.entity.title, self.entity.subtitle) self.__addPicture() self.__updateThumbStripe() self.__updateNaviControls() self._fillMetaDataTag(self.entity.exif) file_name = '%s.html' % self.entity.name self.writeXHTML(self.html_tree, os.path.join(target_dir, file_name)) self.__createHihgresHTML(target_dir) self.__createSlideshowHTML(target_dir) return page_index
def __createSlideshowHTML(self, album_dir): file_name = '%s_sls.html' % self.entity.name template = HTMLTemplate(Core.getInstance().project.slideshow_xhtml_template) html_tree = template.HTML for elem in html_tree.getiterator(): if 'id' in elem.attrib and elem.attrib['id'] == 'doctitle': tag = elem tag.text = self.entity.name elif 'id' in elem.attrib and elem.attrib['id'] == 'stop-slsh': tag = elem tag.set('href', '%s.html' % self.entity.name) elif 'id' in elem.attrib and elem.attrib['id'] == 'js-globals': tag = elem tag_text = 'slideshow = true; ' prev = self.entity.getPrevious() if prev: tag_text += 'slideshow_prev = "%s_sls.html" ;' % prev.name next = self.entity.getNext() if next: tag_text += 'slideshow_next = "%s_sls.html";' % next.name else: tag_text += 'slideshow_next = "%s.html";' % self.entity.name tag.text = tag_text elif 'id' in elem.attrib and elem.attrib['id'] == 'hauptzelle': tag = elem table = etree.SubElement(tag, 'table') table.set('id', 'picture-table'); tr = etree.SubElement(table, 'tr') td = etree.SubElement(tr, 'td') td.set('align', 'center') td.set('valign', 'middle') img = etree.SubElement(td, 'img') img.set('src', 'pics/%s' % self.entity.pic_file_name) img.set('alt', self.entity.name) elif 'id' in elem.attrib and elem.attrib['id'] == 'title': elem.text = self.entity.name elif 'id' in elem.attrib and elem.attrib['id'] == 'subbtitle': elem.text = self.entity.subtitle self.writeXHTML(html_tree, os.path.join(album_dir, file_name))
def __createHihgresHTML(self, album_dir): if os.path.lexists(self.entity.highres_location): file_name = '%s_hr.html' % self.entity.name template = HTMLTemplate(Core.getInstance().project.highres_xhtml_template) html_tree = template.HTML for elem in html_tree.getiterator(): if 'id' in elem.attrib and elem.attrib['id'] == 'highres_navi_prev': prev = self.__getPrevWithHighres() if prev: prev_file_name = '%s_hr.html' % prev.name elem.set('href', prev_file_name) elif 'id' in elem.attrib and elem.attrib['id'] == 'highres_navi_close': elem.set('href', '%s.html' % self.entity.name) elif 'id' in elem.attrib and elem.attrib['id'] == 'highres_navi_next': next = self.__getNextWithHighres() if next: next_file_name = '%s_hr.html' % next.name elem.set('href', next_file_name) elif 'id' in elem.attrib and elem.attrib['id'] == 'highres_img': elem.set('src', 'pics/highres/%s' % self.entity.pic_file_name) elif 'id' in elem.attrib and elem.attrib['id'] == 'doctitle': elem.text = self.entity.name self.writeXHTML(html_tree, os.path.join(album_dir, file_name))