summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2011-05-06 21:12:51 -0400
committerJason A. Donenfeld <Jason@zx2c4.com>2011-05-06 21:12:51 -0400
commit2e017d0df3cca1000a45a869892b5f058f9d01e9 (patch)
tree2b7667892aa24018ea3a8959698b4c22889b60b1
parentRedirect from zen photo urls. (diff)
downloadPhotoFloat-2e017d0df3cca1000a45a869892b5f058f9d01e9.tar.xz
PhotoFloat-2e017d0df3cca1000a45a869892b5f058f9d01e9.zip
Polishing...
-rw-r--r--scanner/PhotoAlbum.py5
-rw-r--r--scanner/TreeWalker.py20
-rw-r--r--web/js/010-control.js14
3 files changed, 33 insertions, 6 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:
diff --git a/web/js/010-control.js b/web/js/010-control.js
index ab4be0f..ab3a410 100644
--- a/web/js/010-control.js
+++ b/web/js/010-control.js
@@ -56,6 +56,12 @@ $(document).ready(function() {
showPhoto();
setTitle();
}
+ function trimExtension(title) {
+ var index = title.lastIndexOf(".");
+ if (index != -1)
+ return title.substring(0, index)
+ return title;
+ }
function setTitle() {
var title = "";
var components;
@@ -78,14 +84,14 @@ $(document).ready(function() {
}
}
if (current_photo_cache != null)
- title += current_photo.name;
+ title += trimExtension(current_photo.name);
$("#title").html(title);
}
function showAlbum() {
$("html, body").animate({ scrollTop: 0 }, "slow");
var photos = "";
for (var i = 0; i < current_album.photos.length; ++i)
- photos += "<a href=\"#" + current_album_cache + "/" + cachePath(current_album.photos[i].name) + "\"><img id=\"thumb-" + cachePath(current_album.photos[i].name) + "\" src=\"" + imagePath(current_album.photos[i].name, current_album.path, 150, true) + "\" height=\"150\" width=\"150\"></a>";
+ photos += "<a href=\"#" + current_album_cache + "/" + cachePath(current_album.photos[i].name) + "\"><img title=\"" + trimExtension(current_album.photos[i].name) + "\" alt=\"" + trimExtension(current_album.photos[i].name) + "\" id=\"thumb-" + cachePath(current_album.photos[i].name) + "\" src=\"" + imagePath(current_album.photos[i].name, current_album.path, 150, true) + "\" height=\"150\" width=\"150\"></a>";
$("#thumbs").html(photos);
if (current_album.albums.length)
$("#subalbums-title").show();
@@ -96,7 +102,7 @@ $(document).ready(function() {
for (var i = current_album.albums.length - 1; i >= 0; --i) {
var path = cachePath(current_album.path + "/" + current_album.albums[i].path);
var id = "album-" + path;
- subalbums += "<a href=\"#" + path + "\"><div id=\"" + id + "\" class=\"album-button\">" + current_album.albums[i].path + "</div></a>";
+ subalbums += "<a href=\"#" + path + "\"><div title=\"" + current_album.albums[i].date + "\" id=\"" + id + "\" class=\"album-button\">" + current_album.albums[i].path + "</div></a>";
thumbFinderList.push({ path: path, id: escapeId(id) });
}
$("#subalbums").html(subalbums);
@@ -131,7 +137,7 @@ $(document).ready(function() {
.attr("width", width).attr("height", height)
.attr("src", imagePath(current_photo.name, current_album.path, maxSize, false))
.attr("alt", current_photo.name)
- .attr("title", current_photo.name)
+ .attr("title", current_photo.date)
.load(function() { $(this).css("width", "auto").css("height", "100%"); });
var nextLink = "#" + current_album_cache + "/" + cachePath(current_album.photos[
(current_photo_index + 1 >= current_album.photos.length) ? 0 : (current_photo_index + 1)