feat(cli): sync folders with remote paths
Build and Push Docker Container / build-and-push (push) Successful in 1m36s
Build and Push Docker Container / build-and-push (push) Successful in 1m36s
- Store synced folder locations in file_path instead of embedding them in file names. - Add ignore rules from .nanoshareignore and repeatable sync --ignore flags. - Adopt existing remote files only after SHA-256 verification. - Move adopted remotes with metadata updates instead of uploading duplicates. - Bump NanoShare to 1.23.0 and the standalone CLI to 0.2.0.
This commit is contained in:
@@ -2,9 +2,10 @@ from __future__ import annotations
|
||||
|
||||
_ZSH = r'''# nanoshare zsh completion -- add to ~/.zshrc: eval "$(nanoshare completion zsh)"
|
||||
_nanoshare_files() {
|
||||
local id name size
|
||||
while IFS=$'\t' read -r id name size; do
|
||||
[[ -n $id ]] && printf '%s:%s\n' "$id" "$name"
|
||||
local id path name size label
|
||||
while IFS=$'\t' read -r id path name size; do
|
||||
label="${path:+$path/}$name"
|
||||
[[ -n $id ]] && printf '%s:%s\n' "$id" "$label"
|
||||
done < <(nanoshare list --format tsv 2>/dev/null)
|
||||
}
|
||||
|
||||
@@ -13,7 +14,7 @@ _nanoshare() {
|
||||
commands=(login upload list download sync watch completion)
|
||||
common_opts=(--config --url --token --refresh-token --token-url --source --timeout --node)
|
||||
login_opts=(--config --node --source --scope --callback-host --callback-port --login-timeout --timeout --no-browser)
|
||||
sync_opts=($common_opts --note --expires --delete)
|
||||
sync_opts=($common_opts --note --expires --delete --ignore)
|
||||
watch_opts=($sync_opts --interval)
|
||||
download_opts=($common_opts --output -o)
|
||||
|
||||
@@ -65,7 +66,7 @@ _nanoshare() {
|
||||
local commands="login upload list download sync watch completion"
|
||||
local common_opts="--config --url --token --refresh-token --token-url --source --timeout --node"
|
||||
local login_opts="--config --node --source --scope --callback-host --callback-port --login-timeout --timeout --no-browser"
|
||||
local sync_opts="$common_opts --note --expires --delete"
|
||||
local sync_opts="$common_opts --note --expires --delete --ignore"
|
||||
local watch_opts="$sync_opts --interval"
|
||||
local download_opts="$common_opts --output -o"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user