[_] 14% general tasks [_] 0% actions: [_] import [_] export/build [_] list/search tags [_] list/search content [_] 0% API [_] 0% basic [_] .import(...) [_] .export(...) [_] .tags(...) [_] .select(...) [_] 0% sync [_] 0% UI [_] HTML/HTML5 [_] QT (???) [_] command-line [_] ig | root script... name not final yet... [_] ig-init | create an empty archive... [_] ig-clone [OPTIONS] [TAGS] URL [_] 0% ig-sync [_] git-like interface [_] push/pull [_] clean [_] gc [_] ig-import [OPTIONS] [TAGS] PATH [_] ig-export [OPTIONS] [TAGS] PATH [_] ig-tags [OPTIONS] [TAGS] | either list all the tags or if any tags are given as input, list | related tags... [_] 0% ig-select [OPTOINS] [TAGS] | list paths/ids of images tagged by tags. [_] 0% support complex queries [_] all (default) [_] any [_] none [_] ig-do ACTION [OPTIONS] | same as ig-action [_] 0% save diffs in pickle overlays... | need fast and simple way to save changes to a new spot... [_] 0% IDEA: use pli.logictypes.DictUnion [_] create a new layer on load [_] save only updated layers and create a new empty layer on save [_] be careful not to update other layers... | this can happen when adding a new object to a tag via an .update(...) method, in-place. | | need to use immutable data only. [_] 33% compleate the new tags module [X] .relatedtags(...) [_] see if we need strict and non-strict .relatedtags(...) [_] concatinative mode or abbility to build new tagsets from selections [_] import test images and ratings [_] importer based on xmpgen [X] need unique image id