Go to file
voussoir 8080d92f8d add_associated_directory checks for dupe, so remove old check 2017-05-01 20:50:52 -07:00
etiquette add_associated_directory checks for dupe, so remove old check 2017-05-01 20:50:52 -07:00
static Add more generalized names "green_button", "red_button". 2017-04-22 21:21:44 -07:00
templates Minor cleanup 2017-05-01 20:49:59 -07:00
utilities Add nullcheck to associated directory upgrader 2017-03-22 23:56:58 -07:00
.gitignore checkpoint 2016-09-18 01:33:46 -07:00
LICENSE.txt Apply BSD 2-Clause License 2017-03-17 02:48:11 -07:00
README.md Minor improvements, update to-do list. 2017-04-20 18:31:48 -07:00
etiquette_repl.py Rename phototagger.py to photodb.py 2017-02-04 20:01:03 -08:00
etiquette_site.py Add title/desc edit interface. 2017-04-22 21:38:23 -07:00
etiquette_site_launch.py Move modules into an actual package 2017-02-04 19:55:13 -08:00
requirements.txt checkpoint 2017-01-06 18:08:22 -08:00
test_etiquette_site.py Use URL to indicate POST action 2017-02-26 00:33:26 -08:00
test_phototagger.py Small cleanups 2017-03-07 20:20:12 -08:00

README.md

Etiquette

I am currently running a demonstration copy of Etiquette at http://etiquette.voussoir.net where you can browse around. This is not yet permanent.

What am I looking at

Etiquette is a tag-based file organization system with a web front-end.

Documentation is still a work in progress. In general, I use:

  • python etiquette_site_launch.py [port] to launch the flask server. Port defaults to 5000 if not provided.
  • python -i etiquette_repl.py to launch the Python interpreter with the PhotoDB pre-loaded into a variable called P. Try things like P.new_photo or P.digest_directory.

To do list

  • Make the wording between "new", "create", "add"; and "remove", "delete" more consistent.
  • User account system, permission levels, private pages.
  • Improve the "tags on this page" list. Maybe add separate buttons for must/may/forbid on each.
  • Some way for the database to re-identify a file that was moved / renamed (lost & found). Maybe file hash of the first few mb is good enough.
  • Debate whether the UserMixin.login method should accept usernames or I should standardize the usage of IDs only internally.
  • Album size is calculated every time you refresh the page. For large albums this is very slow. Consider caching? Or saving to db?
  • Organize the tag exporter functions better.
  • Replace columns like area, ratio, bitrate by using expression indiceswidth * height etc.
  • Add some way to support large image albums without flooding the search results. Considering a "hidden" property so that a handful of representative images can appear in the search results, and the rest can be found on the actual Album page.

Changelog

  • [addition] A new feature was added.
  • [bugfix] Incorrect behavior was fixed.
  • [change] An existing feature was slightly modified or parameters were renamed.
  • [cleanup] Code was improved, comments were added, or other changes with minor impact on the interface.
  • [removal] An old feature was removed.