syncthing.sh: show folder label alongside folder ID in pending folders display and selection menu

This commit is contained in:
Justin Oros
2026-04-20 19:04:12 -07:00
parent 21a1c7e922
commit 5bc33b28f4

View File

@@ -156,7 +156,16 @@ show_pending_folders() {
import sys,json import sys,json
d=json.load(sys.stdin) d=json.load(sys.stdin)
for fid,info in d.items(): for fid,info in d.items():
label = info.get("label", "") or info.get("offeredBy", {})
label = list(info.get("offeredBy",{}).values())[0].get("receiveEncrypted","") if info.get("offeredBy") else ""
offered_by = list(info.get("offeredBy",{}).keys()) offered_by = list(info.get("offeredBy",{}).keys())
folder_label = ""
for dev_info in info.get("offeredBy",{}).values():
if dev_info.get("folderLabel"):
folder_label = dev_info["folderLabel"]
break
if folder_label:
print(f" Folder Name: {folder_label}")
print(f" Folder ID: {fid}") print(f" Folder ID: {fid}")
print(f" Offered by: {offered_by}") print(f" Offered by: {offered_by}")
print("") print("")
@@ -169,18 +178,29 @@ for fid,info in d.items():
fi fi
if [[ "${ACCEPT,,}" != "y" ]]; then return; fi if [[ "${ACCEPT,,}" != "y" ]]; then return; fi
local folder_ids local folder_ids folder_labels
folder_ids=$(echo "$pending" | python3 -c 'import sys,json; [print(k) for k in json.load(sys.stdin)]') folder_ids=$(echo "$pending" | python3 -c 'import sys,json; [print(k) for k in json.load(sys.stdin)]')
folder_labels=$(echo "$pending" | python3 -c '
import sys,json
d=json.load(sys.stdin)
for fid,info in d.items():
label=""
for dev_info in info.get("offeredBy",{}).values():
if dev_info.get("folderLabel"):
label=dev_info["folderLabel"]
break
print(label if label else fid)
')
local FOLDER_ID local FOLDER_ID
if [ "$(echo "$folder_ids" | wc -l)" -eq 1 ]; then if [ "$(echo "$folder_ids" | wc -l)" -eq 1 ]; then
FOLDER_ID="$folder_ids" FOLDER_ID="$folder_ids"
else else
echo "Available pending folders:" echo "Available pending folders:"
local i=1 local i=1
while IFS= read -r fid; do while IFS= read -r fid && IFS= read -r flabel <&3; do
echo " $i) $fid" echo " $i) $flabel ($fid)"
i=$((i+1)) i=$((i+1))
done <<< "$folder_ids" done <<< "$folder_ids" 3<<< "$folder_labels"
read -rp "Choose folder number: " FOLDER_NUM read -rp "Choose folder number: " FOLDER_NUM
FOLDER_ID=$(echo "$folder_ids" | sed -n "${FOLDER_NUM}p") FOLDER_ID=$(echo "$folder_ids" | sed -n "${FOLDER_NUM}p")
fi fi