def __createSubDirs(self, album_dir): os.mkdir(os.path.join(album_dir, 'pics')) os.mkdir(os.path.join(album_dir, 'pics', 'highres')) os.mkdir(os.path.join(album_dir, 'thumbs')) album_thumb_size = Thumbnailer.getInstance().album_thumb_size os.mkdir(os.path.join(album_dir, 'thumbs', '%dx%d' % album_thumb_size)) slide_thumb_size = Thumbnailer.getInstance().slide_thumb_size if slide_thumb_size != album_thumb_size: os.mkdir(os.path.join(album_dir, 'thumbs', '%dx%d' % slide_thumb_size))
def __addIndexTable(self): thumb_size = Thumbnailer.getInstance().gallery_thumb_size thumb_dir = 'thumbs/%dx%d' % (thumb_size[0], thumb_size[1]) content_element = self.getContentTag() table = etree.SubElement(content_element, 'table') table.set('cellpadding', '0') table.set('cellspacing', '0') table.set('class', 'table1') colgroup = etree.SubElement(table, 'colgroup') colgroup.set('span', str(self.__column_count)) colgroup.set('id', 'gallery-index-column') tr = None column_count = 0 row_count = 0 cell_count = 0 for child in self.entity.children: if tr is None or column_count == self.__column_count: tr = etree.SubElement(table, 'tr') row_count += 1 column_count = 0 column_count += 1 cell_count += 1 if row_count % 2: pic_first = True else: pic_first = False td = etree.SubElement(tr, 'td') td.set('class', 'albumzelle') a = etree.SubElement(td, 'a') div = etree.SubElement(td, 'div') a.set('href', '%s/index.html' % child.name) img = etree.SubElement(a, 'img') img.set('class', 'thumb') img.set('src', '%s/%s' % (thumb_dir, child.pic_file_name)) img.set('alt', '%s' % child.name) if pic_first: div.set('align', 'left') img.set('style', 'float: left; margin-left: 2px;') else: div.set('align', 'right') img.set('style', 'float: right; margin-right: 2px;') title_a = etree.SubElement(div, 'a') title_a.set('class', 'album') title_a.set('href', '%s/index.html' % child.name) etree.SubElement(title_a, 'br') etree.SubElement(title_a, 'br') title_span = etree.SubElement(title_a, 'span') title_span.text = child.title etree.SubElement(title_a, 'br') subtitle_span = etree.SubElement(title_a, 'span') subtitle_span.set('style', 'font-size: 11px;') subtitle_span.text = child.subtitle # fill up with empty cells for i in range(self.__column_count * self.__row_count - cell_count): if tr is None or column_count == self.__column_count: tr = etree.SubElement(table, 'tr') row_count += 1 column_count = 0 td = etree.SubElement(tr, 'td') td.set('class', 'albumzelle') column_count += 1 cell_count += 1
def __updateThumbStripe(self): thumb_tag = self.getThumbStripeTag() if thumb_tag == None: raise Exception, 'No thumb stripe tag contained in template' slide_thumb_size = Thumbnailer.getInstance().slide_thumb_size table = etree.SubElement(thumb_tag, 'table') table.set('class', 'table1'); table.set('cellspacing', '0'); table.set('cellpadding', '0'); pictures = self.__getThumbStripePictures() for i in range(self.SLIDE_THUMB_COUNT): if i >= len(pictures): break #<tr><td class="thumbzelle_small"><a href="peyto_lake.html"><img src="navithumbs/Peyto_Lake.jpg" class="navithumb"></a></td></tr> tr = etree.SubElement(table, 'tr') td = etree.SubElement(tr, 'td') td.set('class', 'thumbzelle_small') div1 = etree.SubElement(td, 'div') div1.set('class', 'thumbzelle_small') div2 = etree.SubElement(div1, 'div') div2.set('class', 'thumbzelle_small_inner') a = etree.SubElement(div2, 'a') a.set('href', pictures[i].html_file_name) img = etree.SubElement(a, 'img') if not pictures[i].pic_file_name.endswith('.jpg'): raise Exception, 'currently only jpg files are supported' img.set('src', 'thumbs/%dx%d/%s' % (slide_thumb_size[0], slide_thumb_size[1], pictures[i].pic_file_name)) img.set('class', 'navithumb') if pictures[i] == self.entity: img.set('id', 'effect2')
def __generateAlbumThumbs(self, gallery_dir): thumbnailer = Thumbnailer.getInstance() (width, height) = thumbnailer.gallery_thumb_size for child in self.entity.children: thumb_path = os.path.join(gallery_dir, 'thumbs', '%dx%d' % (width, height), child.pic_file_name) if not os.path.lexists(thumb_path): thumb = thumbnailer.getThumbnail(child.pic_location, 'gallery') thumb.save(thumb_path, 'JPEG')
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 addIndexTable(self): thumb_size = Thumbnailer.getInstance().album_thumb_size thumb_dir = 'thumbs/%dx%d' % (thumb_size[0], thumb_size[1]) content_element = self.getContentTag() table = etree.SubElement(content_element, 'table') table.set('class', 'table1') table.set('cellspacing', '0') table.set('cellpadding', '0') colgroup = etree.SubElement(table, 'colgroup') colgroup.set('span', str(self.__column_count)) colgroup.set('id', 'album-index-column') tr = None column_count = 0 cell_count = 0 child_count = 0 if self.__current_idx_page > 1: # pointer to prevoius page tr = etree.SubElement(table, 'tr') tr.set('align', 'center') td = etree.SubElement(tr, 'td') td.set('class', 'bildzelle') column_count += 1 cell_count += 1 a = etree.SubElement(td, 'a') if self.__current_idx_page > 2: prev_idx_html = 'index%d.html' % (self.__current_idx_page - 1) else: prev_idx_html = 'index.html' a.set('href', prev_idx_html) img = etree.SubElement(a, 'img') img.set('class', 'index-pager') img.set('src', 'http://seycek.eu/style/back_thumbs.png') img.set('alt', 'back') for child in self.entity.children: child_count += 1 if child_count <= self.__handled_thumbs: # already handled on on of previous pages continue if tr is None or column_count == self.__column_count: tr = etree.SubElement(table, 'tr') tr.set('align', 'center') column_count = 0 td = etree.SubElement(tr, 'td') td.set('class', 'bildzelle') column_count += 1 cell_count += 1 a = etree.SubElement(td, 'a') if cell_count == self.__column_count * self.__row_count and \ len(self.entity.children) - self.__handled_thumbs > 1: # pointer to next page next_idx_html = 'index%d.html' % (self.__current_idx_page + 1) a.set('href', next_idx_html) img = etree.SubElement(a, 'img') img.set('class', 'index-pager') img.set('src', 'http://seycek.eu/style/next_thumbs.png') img.set('alt', 'next') break else: a.set('href', '%s/%s' % (self.__picture_page_dir, child.html_file_name)) img = etree.SubElement(a, 'img') img.set('class', 'thumb') img.set('src', '%s/%s' % (thumb_dir, child.pic_file_name)) self.__handled_thumbs += 1 # fill up with empty cells for i in range(self.__column_count * self.__row_count - cell_count): if tr is None or column_count == self.__column_count: tr = etree.SubElement(table, 'tr') tr.set('align', 'center') column_count = 0 td = etree.SubElement(tr, 'td') td.set('class', 'bildzelle') column_count += 1 cell_count += 1
def __createSubDirs(self, gallery_dir): os.mkdir(os.path.join(gallery_dir, 'thumbs')) gallery_thumb_size = Thumbnailer.getInstance().gallery_thumb_size os.mkdir(os.path.join(gallery_dir, 'thumbs', '%dx%d' % gallery_thumb_size))