degal/folder.py
changeset 76 e22d9f699081
parent 70 67dd32adf159
child 77 2a53c5ade434
--- a/degal/folder.py	Fri Jun 05 23:41:57 2009 +0300
+++ b/degal/folder.py	Fri Jun 05 23:42:03 2009 +0300
@@ -4,15 +4,17 @@
 
 import filesystem, image, html
 
-from utils import lazy_load
+from utils import lazy_load, lazy_load_iter
 
-class Folder (filesyste.Directory) :
+import math
+
+class Folder (filesystem.Directory) :
     """
         A Folder is a filesystem Directory that contains any number of other Folders and Images.
     """
 
-    def __init__ (self, node) :
-        super(Folder, self).__init__(node)
+    def __init__ (self, *args, **kwargs) :
+        super(Folder, self).__init__(*args, **kwargs)
 
         # info
         self.title = None
@@ -40,7 +42,7 @@
             Load and return an ordered list of child-Nodes
         """
 
-        return super(Folder, self).subnodes(skip_dotfiles=True, sorted=True)
+        return super(Folder, self).subnodes(skip_dotfiles=True, sort=True)
     
     @lazy_load_iter
     def subfolders (self) :
@@ -61,7 +63,7 @@
         for node in self.subnodes :
             # skip non-relevant ones
             # XXX: node should need to be a File
-            if not isinstance(node, filesystem.File) or not self.config.is_image(node) :
+            if not node.is_file() or not self.config.is_image(filesystem.File(node)) :
                 continue
             
             # create new
@@ -69,6 +71,7 @@
 
             # link up
             if prev :
+                img.prev = prev
                 prev.next = img
 
                 # yield the linked-up prev
@@ -87,7 +90,7 @@
             Returns the number of pages needed to show this folder's images
         """
 
-        return math.ceil(len(self.images) / float(self.config.images_per_page))
+        return int(math.ceil(len(self.images) / float(self.config.images_per_page)))
 
     def images_for_page (self, page) :
         """