Exemple #1
0
 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))