Here are some things I'm thinking of implementing for the CLI.
I'm opening the issue to solicit feedback / comments & keep track of progress.
stor ls , stor list, stor walkfiles
stor cp
stor cat
stor rm
stor mv
stor touch
stor stat
stor verify
stor swift
Most of the work is being done in #34.
@jtratner -- thoughts/comments/suggestions? Does anything seem too tricky to implement or too resource-heavy (e.g. the stuff for stor ls --long)?
Here are some things I'm thinking of implementing for the CLI.
I'm opening the issue to solicit feedback / comments & keep track of progress.
stor ls,stor list,stor walkfiles./%Y-%m-%d %H:%M:%S, except if--relative-timeset; then e.g.3 d), mimetype, filename-l/--simple-list: only show the filename column-b/--use-bytes: just show # of bytes with no unit-S/--sort-by-file-size: sort by file size, smallest first-t/--sort-by-time: sort by modification time, newest first-U/--sort-by-directory-order: I believe this is the current default-r/--reverse: reverse the sort order-u/--url: rather than filename (or in addition to?), print the URL, e.g. for swift/s3 it would behttps://..., for Unix it would befile://...-T/--tabs: rather than fixed width use tabs as separators for long format columns--tree: forlistandwalkfilesindicate shared prefixes (directories) with a visual treestor cp-p/--progress: some sort of progress indicator, e.g. % of files and/or % of bytes done-s/--skip-existing: if destination file exists, skip it. Could check the modification time and size and if they don't match, replace the target file with the source one (or add a flag to control this behavior, e.g. likersync -u / --updatewhich skips files that are newer on the receiver). I don't know if anrsync-like checksum check is feasible. Probably the trickiest thing on this list.stor catstor rmstor mvstor touchstor statswift statstor verifystor swiftget-tenant,get-container,get-object/get-resource(see comments)get-urlto get an HTTPS url for aswift://pathMost of the work is being done in #34.
@jtratner -- thoughts/comments/suggestions? Does anything seem too tricky to implement or too resource-heavy (e.g. the stuff for
stor ls --long)?