mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 00:52:16 -06:00
* when accessing files inside an xdev volume, verify that the file exists on the same device/filesystem as the volume root * when accessing files inside an xvol volume, verify that the file exists within any volume where the user has read access
58 lines
1.2 KiB
Python
Executable file
58 lines
1.2 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
# takes arguments from launch.json
|
|
# is used by no_dbg in tasks.json
|
|
# launches 10x faster than mspython debugpy
|
|
# and is stoppable with ^C
|
|
|
|
import re
|
|
import os
|
|
import sys
|
|
|
|
print(sys.executable)
|
|
|
|
import json5
|
|
import shlex
|
|
import subprocess as sp
|
|
|
|
|
|
with open(".vscode/launch.json", "r", encoding="utf-8") as f:
|
|
tj = f.read()
|
|
|
|
oj = json5.loads(tj)
|
|
argv = oj["configurations"][0]["args"]
|
|
|
|
try:
|
|
sargv = " ".join([shlex.quote(x) for x in argv])
|
|
print(sys.executable + " -m copyparty " + sargv + "\n")
|
|
except:
|
|
pass
|
|
|
|
argv = [os.path.expanduser(x) if x.startswith("~") else x for x in argv]
|
|
|
|
sfx = ""
|
|
if len(sys.argv) > 1 and os.path.isfile(sys.argv[1]):
|
|
sfx = sys.argv[1]
|
|
sys.argv = [sys.argv[0]] + sys.argv[2:]
|
|
|
|
argv += sys.argv[1:]
|
|
|
|
if sfx:
|
|
argv = [sys.executable, sfx] + argv
|
|
sp.check_call(argv)
|
|
elif re.search(" -j ?[0-9]", " ".join(argv)):
|
|
argv = [sys.executable, "-m", "copyparty"] + argv
|
|
sp.check_call(argv)
|
|
else:
|
|
sys.path.insert(0, os.getcwd())
|
|
from copyparty.__main__ import main as copyparty
|
|
|
|
try:
|
|
copyparty(["a"] + argv)
|
|
except SystemExit as ex:
|
|
if ex.code:
|
|
raise
|
|
|
|
print("\n\033[32mokke\033[0m")
|
|
sys.exit(1)
|