bd68ec956d
cache: Derive off Mapping
2018-04-09 19:07:16 +10:00
a08899ea3a
gallery: Pass logger to resizer pool.
2018-04-09 17:39:52 +10:00
7ee894b832
resizer: Add logging
2018-04-09 17:39:26 +10:00
1228b113b2
gallery: Pass through logger instances to MetaCache.
2018-04-09 17:26:58 +10:00
36f776f124
cache: Add logging
2018-04-09 17:24:28 +10:00
3520dca18d
photo: Expose services from gallery, fix error on annotation.
2018-04-09 17:21:09 +10:00
8b0bad0171
gallery: Expose filesystem cache from collection.
2018-04-09 17:20:49 +10:00
fa7ba2d852
resizer: Fix whitespace.
2018-04-09 17:09:03 +10:00
e0d08e0f77
gallery: Fix enumeration of content
2018-04-09 17:07:55 +10:00
cc78c391f4
gallery: Implement enumeration.
2018-04-09 17:04:14 +10:00
6c0b6a854a
metadata: _fetch
Method is private not public.
2018-04-09 17:03:15 +10:00
2e1d8b83d3
cache: Call __iter__ explicitly.
...
Treating the `Cache` object as a sequence implicitly calls `__len__`
which causes an infinite loop!
2018-04-09 17:02:42 +10:00
0605e3cd13
resizer: Drop default parameter.
2018-04-09 16:48:46 +10:00
8afbcf1e41
resizer: Raise Return
in co-routine, do not return
2018-04-09 16:46:02 +10:00
8e3556ff74
cache: Re-implement __len__.
...
Lazy way, enumerate the lot then figure out the length. We have to
iterate over them to figure out what's expired anyway.
2018-04-09 16:43:28 +10:00
00a2c5a12f
gallery: Implement GalleryCollection, re-work Gallery.
2018-04-09 09:20:22 +10:00
d868f50df0
photo: Fix imports, metadata retrieval.
2018-04-09 09:15:57 +10:00
c7c4fea93b
metadata: Re-implement using cache back-end
2018-04-09 09:15:10 +10:00
e186c10e5f
cache: Add cache abstract class.
...
Behaves like a forgetful mapping object.
2018-04-08 16:56:39 +10:00
b4c34cc1cd
resizer: Initial photo resizer implementation.
...
This uses a process pool (avoiding the dreaded GIL) to resize the image
in a subprocess, and uses Tornado's semaphores to manage concurrent
access.
2018-04-08 16:27:01 +10:00
629e812861
photo: Initial implementation of photo class.
2018-04-08 15:31:55 +10:00
770e173cf8
gallery: Pass filesystem node to Photo class.
2018-04-08 15:31:14 +10:00
1f8ac8db46
gallery: Re-implement using cachefs
.
...
This uses the filesystem cache library to abstract the filesystem
caching operations.
2018-04-08 15:07:27 +10:00
ad4107ab23
metadata: Re-implement using cachefs
...
Re-implement the `mtime`-checking logic using a filesystem cache
library. Perform lazy-evaluation.
2018-04-08 15:02:21 +10:00
f15cc032d7
Initial implementation.
...
Work in progress.
2018-03-25 20:22:15 +10:00
1706852291
Port ClearSilver templates to Tornado.
...
This is a first stab, and yes, things are *UGLY*, particularly the
JavaScript, which was written almost 10 years ago. As such, it
pre-dates versions of IE that play nice with web standards, Promises and
lots of other advancements.
My knowledge of JavaScript has also greatly improved since then. :-)
2018-03-25 13:40:02 +10:00