lib/folder.py
changeset 13 c229bcb1de41
parent 12 c2d8e9a754a1
child 14 4b5478da5850
equal deleted inserted replaced
12:c2d8e9a754a1 13:c229bcb1de41
     1 import os, os.path
     1 import os, os.path
     2 
     2 
     3 import settings, image, utils
     3 import settings, image, utils, helpers
     4 from log import index, render
     4 from log import index, render
     5 from template import gallery as gallery_tpl
     5 from template import gallery as gallery_tpl
     6 from helpers import url_for_page
     6 from helpers import url_for_page
     7 
     7 
     8 def dirUp (count=1) :
     8 def dirUp (count=1) :
   176         """
   176         """
   177             Metadata for shorturls2.db
   177             Metadata for shorturls2.db
   178         """
   178         """
   179         return 'dir', self.path, ''
   179         return 'dir', self.path, ''
   180 
   180 
   181     def breadcrumb (self) :
   181     def breadcrumb (self, forImg=None) :
   182         """
   182         """
   183             Returns a [(fname, title)] list of this dir's parent dirs
   183             Returns a [(fname, title)] list of this dir's parent dirs
   184         """
   184         """
   185 
   185 
   186         f = self
   186         f = self
   187         b = []
   187         b = []
   188         d = 0
   188         d = 0
   189         
   189         
   190         while f :
   190         while f :
   191             b.insert(0, (dirUp(d), f.title))
   191             # functionality of the slightly-hacked-in variety
       
   192             if f is self and forImg is not None :
       
   193                 url = helpers.url_for_page(self.getPageNumber(forImg))
       
   194             else :
       
   195                 url = dirUp(d)
       
   196                 
       
   197             b.insert(0, (url, f.title))
   192 
   198 
   193             d += 1
   199             d += 1
   194             f = f.parent
   200             f = f.parent
   195         
   201         
   196         return b
   202         return b
       
   203         
       
   204     def getPageNumber (self, img) :
       
   205         """
       
   206             Get the page number that the given image is on
       
   207         """
       
   208         
       
   209         return self.sorted_images.index(img) // settings.IMAGE_COUNT
   197 
   210 
   198     def countParents (self, acc=0) :
   211     def countParents (self, acc=0) :
   199         if self.parent :
   212         if self.parent :
   200             return self.parent.countParents(acc+1)
   213             return self.parent.countParents(acc+1)
   201         else :
   214         else :