aboutsummaryrefslogtreecommitdiffstats
path: root/scanner
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scanner/PhotoAlbum.py5
-rw-r--r--scanner/TreeWalker.py20
2 files changed, 23 insertions, 2 deletions
diff --git a/scanner/PhotoAlbum.py b/scanner/PhotoAlbum.py
index ec227f9..18cd425 100644
--- a/scanner/PhotoAlbum.py
+++ b/scanner/PhotoAlbum.py
@@ -87,7 +87,7 @@ class Album(object):
return None
class Photo(object):
- thumb_sizes = [ (150, True), (640, False), (800, False), (1024, False) ]
+ thumb_sizes = [ (75, True), (150, True), (640, False), (800, False), (1024, False) ]
def __init__(self, path, thumb_path=None, attributes=None):
self._path = trim_base(path)
self.is_valid = True
@@ -192,6 +192,9 @@ class Photo(object):
def __str__(self):
return self.name
@property
+ def path(self):
+ return self._path
+ @property
def image_caches(self):
return [image_cache(self._path, size[0], size[1]) for size in Photo.thumb_sizes]
@property
diff --git a/scanner/TreeWalker.py b/scanner/TreeWalker.py
index 17b9b54..96ca5e5 100644
--- a/scanner/TreeWalker.py
+++ b/scanner/TreeWalker.py
@@ -1,8 +1,9 @@
import os
import os.path
from datetime import datetime
-from PhotoAlbum import Photo, Album
+from PhotoAlbum import Photo, Album, PhotoAlbumEncoder
from CachePath import json_cache, set_cache_path_base, file_mtime
+import json
class TreeWalker:
def __init__(self, album_path, cache_path):
@@ -12,6 +13,7 @@ class TreeWalker:
self.all_albums = list()
self.all_photos = list()
self.walk(self.album_path)
+ self.big_lists()
self.remove_stale()
def walk(self, path):
print "Walking %s" % path
@@ -51,7 +53,23 @@ class TreeWalker:
album.cache(self.cache_path)
self.all_albums.append(album)
return album
+ def big_lists(self):
+ photo_list = []
+ self.all_photos.sort()
+ for photo in self.all_photos:
+ photo_list.append(photo.path)
+ print "Writing all photos list."
+ fp = open(os.path.join(self.cache_path, "all_photos.json"), 'w')
+ json.dump(photo_list, fp, cls=PhotoAlbumEncoder)
+ fp.close()
+ photo_list.reverse()
+ print "Writing latest photos list."
+ fp = open(os.path.join(self.cache_path, "latest_photos.json"), 'w')
+ json.dump(photo_list[0:27], fp, cls=PhotoAlbumEncoder)
+ fp.close()
+
def remove_stale(self):
+ print "Removing stale cache entries."
for cache in os.listdir(self.cache_path):
match = False
for album in self.all_albums: