예제 #1
0
 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))
예제 #2
0
 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
예제 #3
0
 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')
예제 #4
0
 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')
예제 #5
0
 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')
예제 #6
0
    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
예제 #7
0
 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))