Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is a port of, written mainly to learn a bit more Clojure, and to experiment a bit more with RoboHydra 0.4 in a real setting. It was later extended to support other services (at the moment, Trovebox).


First, make sure you have JDK and Leiningen installed. Then, clone this repo.

Once you have the code, you'll have to copy config.edn-sample to config.edn and customise it.


You can call clj-photo-memories from inside the repo directory like:

lein run <username>
lein run <username> <reference-date>
lein run <username> <reference-date> <email-address>
lein run -t trovebox <username> <reference-date>
lein run -y 10 <username> <reference-date> <email-address>

The username is, in the case of Flickr, the URL bit after in your photo stream URL. In the case of Trovebox it would be the e-mail address used to login, although it's not in use right now.

The reference date is an optional date in the format YYYY-MM-DD (defaults to the current date), and the e-mail address is the address to send the list of photos to. If the latter is not given, the HTML will be printed on the standard output.

The options -t and -y specify the type of API (flickr by default, but can be trovebox too) and the number of years to go back in time (5 by default).

clj-photo-memories will then jump back in time five years (by default) from the reference date and start approaching the current date one year at a time. For every step it will calculate the week (starting on Monday!) containing the pivot date (ie. reference date five years ago; reference date four years ago, etc.) and checking if there are any images taken that week. If it finds anything, it will output a web page with the results. If not, it will jump forward one more year until it finds images or until it reaches the current date.


You can run the unit tests with lein, by typing:

lein test

There are also RoboHydra-based fake Flickr and Trovebox API servers in the robohydra/ folder. To use them, you'll need to make a DNS alias (eg. in /etc/hosts if you use Linux) farm1.localhost to point to your own machine. Then you can run the tests with ./robohydra/

If you want to run the tests by hand, you'll have to start RoboHydra with the command ./node_modules/.bin/robohydra robohydra/mock-apis.conf, choose a scenario (see http://localhost:3000/robohydra-admin/scenarios for the list) and then run clj-photo-memories with the -t, -s and -u flags like so: lein run -t flickr -u http://localhost:3000/services/rest -s localhost:3000/static <username>.

The scenarios are implemented in robohydra/plugins/flickr-api/index.js and robohydra/plugins/trovebox-api/index.js, and the static files are in robohydra/static.


Copyright © 2013-2014 Esteban Manchado Velázquez

Distributed under the Eclipse Public License, the same as Clojure.


Command-line program to see old Flickr/Trovebox pictures (Clojure version)



No releases published
You can’t perform that action at this time.