mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-21 22:54:26 -04:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
36ea99fdc8 |
No files matched your search
+1
-11
@@ -1,16 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
"""lcb.py FILE.jsonl — run control requests from a JSON-lines file ({"method":..., "params":...} or {"sleep": s})."""
|
||||
import json, socket, sys, time
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def _jsonl_path(arg):
|
||||
"""Resolve the CLI file argument; require an existing regular file."""
|
||||
path = Path(arg).resolve()
|
||||
if not path.is_file():
|
||||
sys.exit(f"not a readable file: {arg}")
|
||||
return path
|
||||
|
||||
def call(method, params):
|
||||
s = socket.create_connection(("127.0.0.1", 7980), timeout=180)
|
||||
s.sendall((json.dumps({"id": 1, "method": method, "params": params}) + "\n").encode())
|
||||
@@ -20,7 +10,7 @@ def call(method, params):
|
||||
if not c: break
|
||||
buf += c
|
||||
return json.loads(buf)
|
||||
for line in open(_jsonl_path(sys.argv[1])):
|
||||
for line in open(sys.argv[1]):
|
||||
line = line.strip()
|
||||
if not line or line.startswith("#"): continue
|
||||
r = json.loads(line)
|
||||
|
||||
@@ -114,7 +114,7 @@ if has appimage; then
|
||||
if [ -z "$TOOL" ]; then
|
||||
TOOL="$CARGO_TARGET_DIR/appimagetool-$ARCH.AppImage"
|
||||
if [ ! -x "$TOOL" ]; then
|
||||
curl -fsSL -o "$TOOL" "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$ARCH.AppImage"
|
||||
curl --proto '=https' -fsSL -o "$TOOL" "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$ARCH.AppImage"
|
||||
chmod +x "$TOOL"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
sonar.projectKey=storytold_lightcraft
|
||||
sonar.organization=storytold
|
||||
sonar.coverage.exclusions=**/tools/**,**/docs/**,**/examples/**
|
||||
@@ -83,13 +83,13 @@ BASE="https://huggingface.co/$REPO/resolve/main"
|
||||
fetch() {
|
||||
set -- "$1" "$2" "${3:-}"
|
||||
if [ -n "$TOKEN" ]; then auth="Authorization: Bearer $TOKEN"; else auth="X-No-Auth: 1"; fi
|
||||
code=$(curl -fsSL ${3:+-C -} -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
||||
code=$(curl --proto '=https' -fsSL ${3:+-C -} -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
||||
case "$code" in
|
||||
200|206) return 0 ;;
|
||||
416)
|
||||
echo "the partial download of $1 doesn't match the server's; starting over" >&2
|
||||
rm -f "$2"
|
||||
code=$(curl -fsSL -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
||||
code=$(curl --proto '=https' -fsSL -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
||||
[ "$code" = 200 ] && return 0
|
||||
echo "download of $REPO/$1 failed ($code)" >&2; return 1 ;;
|
||||
401|403) echo "access denied to $REPO/$1 (has your request for facebook/sam3 been approved?)" >&2; return 1 ;;
|
||||
|
||||
@@ -19,23 +19,6 @@ import sys
|
||||
import colour
|
||||
import numpy as np
|
||||
from scipy.optimize import minimize
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def _existing_dir(arg):
|
||||
"""Resolve a directory CLI argument; require it to exist."""
|
||||
path = Path(arg).resolve()
|
||||
if not path.is_dir():
|
||||
sys.exit(f"not a directory: {arg}")
|
||||
return str(path)
|
||||
|
||||
|
||||
def _out_path(arg):
|
||||
"""Resolve an output path CLI argument; require its parent to exist."""
|
||||
path = Path(arg).resolve()
|
||||
if not path.parent.is_dir():
|
||||
sys.exit(f"output directory does not exist: {arg}")
|
||||
return str(path)
|
||||
|
||||
WL = np.arange(380, 781, 5)
|
||||
D50 = colour.xy_to_XYZ(colour.CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"]["D50"])
|
||||
@@ -136,4 +119,4 @@ def main(root, out):
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 3:
|
||||
sys.exit("usage: spectral_camera_table.py <rawtoaces-data checkout> <output .rs>")
|
||||
main(_existing_dir(sys.argv[1]), _out_path(sys.argv[2]))
|
||||
main(sys.argv[1], sys.argv[2])
|
||||
Reference in new issue
Block a user