"""ncfile.py put|ls — a file through Nextcloud's OWN WebDAV as the seeded user (front door).""" import json, sys, subprocess, re import walk as w t = json.load(open(w.SC + "/seed-tokens.json"))["nextcloud"] mode, name = sys.argv[1], sys.argv[2] base = f"https://192.168.0.114/remote.php/dav/files/{t['uid']}/" a = ["curl", "-sk", "-u", f"{t['uid']}:{t['pw']}", "-H", "Host: c-nc.enkisfelhom.hu", "-w", "\n%{http_code}"] if mode == "put": r = subprocess.run(a + ["-X", "PUT", "--data-binary", f"E1 {name}", base + name], capture_output=True, text=True) w.say(f"PUT {name} -> {r.stdout.strip().splitlines()[-1]}") else: r = subprocess.run(a + ["-X", "PROPFIND", "-H", "Depth: 1", base], capture_output=True, text=True) code = r.stdout.strip().splitlines()[-1] names = sorted(set(re.findall(r"[^<]*/([^/<]+)", r.stdout))) w.say(f"PROPFIND files of {t['uid']} -> {code}; {name} visible={name in names}; listing={names}")