refactor(cli): remove --data-dir, add --root-dir

--data-dir: ~/logseq/graphs
--root-dir: ~/logseq

All other configuration files and data directories are derived from the root-dir
This commit is contained in:
rcmerci
2026-04-24 22:35:00 +08:00
parent aee05aa5d4
commit f751f27a63
50 changed files with 1012 additions and 932 deletions

View File

@@ -46,12 +46,12 @@ def normalize(value: Any) -> Any:
return value
def run_query(cli_path: Path, config_path: Path, data_dir: Path, graph: str, query: str) -> Dict[str, Any]:
def run_query(cli_path: Path, config_path: Path, root_dir: Path, graph: str, query: str) -> Dict[str, Any]:
command = [
"node",
str(cli_path),
"--data-dir",
str(data_dir),
"--root-dir",
str(root_dir),
"--config",
str(config_path),
"--output",
@@ -100,9 +100,9 @@ def parse_args() -> argparse.Namespace:
parser.add_argument("--graph", required=True)
parser.add_argument("--query", required=True, action="append")
parser.add_argument("--config-a", required=True)
parser.add_argument("--data-dir-a", required=True)
parser.add_argument("--root-dir-a", required=True)
parser.add_argument("--config-b", required=True)
parser.add_argument("--data-dir-b", required=True)
parser.add_argument("--root-dir-b", required=True)
parser.add_argument("--require-result", action="store_true")
return parser.parse_args()
@@ -117,9 +117,9 @@ def main() -> None:
queries = args.query
left_config = Path(args.config_a).expanduser().resolve()
left_data_dir = Path(args.data_dir_a).expanduser().resolve()
left_root_dir = Path(args.root_dir_a).expanduser().resolve()
right_config = Path(args.config_b).expanduser().resolve()
right_data_dir = Path(args.data_dir_b).expanduser().resolve()
right_root_dir = Path(args.root_dir_b).expanduser().resolve()
normalized_results = {}
@@ -127,14 +127,14 @@ def main() -> None:
left = run_query(
cli_path,
left_config,
left_data_dir,
left_root_dir,
args.graph,
query,
)
right = run_query(
cli_path,
right_config,
right_data_dir,
right_root_dir,
args.graph,
query,
)

View File

@@ -128,9 +128,10 @@ def auth_cognito_from_auth_file(auth_path: Path) -> Dict[str, str]:
def wait_health(base_url: str, timeout_s: float, interval_s: float) -> bool:
deadline = time.time() + timeout_s
url = base_url.rstrip("/") + "/health"
opener = urllib.request.build_opener(urllib.request.ProxyHandler({}))
while time.time() < deadline:
try:
with urllib.request.urlopen(url, timeout=2) as response:
with opener.open(url, timeout=2) as response:
if response.status == 200:
return True
except (urllib.error.URLError, TimeoutError, socket.timeout):

View File

@@ -25,7 +25,7 @@ class CliCommandError(RuntimeError):
class ClientContext:
name: str
config: Path
data_dir: Path
root_dir: Path
def fail(message: str, **context: object) -> None:
@@ -46,8 +46,8 @@ def run_cli_json(
command = [
"node",
str(cli_path),
"--data-dir",
str(client.data_dir),
"--root-dir",
str(client.root_dir),
"--config",
str(client.config),
"--output",
@@ -378,9 +378,9 @@ def parse_args() -> argparse.Namespace:
parser.add_argument("--cli", required=True, help="Path to static/logseq-cli.js")
parser.add_argument("--graph", required=True)
parser.add_argument("--config-a", required=True)
parser.add_argument("--data-dir-a", required=True)
parser.add_argument("--root-dir-a", required=True)
parser.add_argument("--config-b", required=True)
parser.add_argument("--data-dir-b", required=True)
parser.add_argument("--root-dir-b", required=True)
parser.add_argument("--page", required=True)
parser.add_argument(
"--profile",
@@ -406,12 +406,12 @@ def main() -> None:
client_a = ClientContext(
name="a",
config=Path(args.config_a).expanduser().resolve(),
data_dir=Path(args.data_dir_a).expanduser().resolve(),
root_dir=Path(args.root_dir_a).expanduser().resolve(),
)
client_b = ClientContext(
name="b",
config=Path(args.config_b).expanduser().resolve(),
data_dir=Path(args.data_dir_b).expanduser().resolve(),
root_dir=Path(args.root_dir_b).expanduser().resolve(),
)
clients = [client_a, client_b]

View File

@@ -41,8 +41,8 @@ def status_command(args: argparse.Namespace) -> list[str]:
command = [
"node",
str(Path(args.cli).expanduser().resolve()),
"--data-dir",
str(Path(args.data_dir).expanduser().resolve()),
"--root-dir",
str(Path(args.root_dir).expanduser().resolve()),
"--config",
str(Path(args.config).expanduser().resolve()),
"--output",
@@ -184,7 +184,7 @@ def main() -> None:
required=True,
help="Path to static/logseq-cli.js",
)
parser.add_argument("--data-dir", required=True)
parser.add_argument("--root-dir", required=True)
parser.add_argument("--config", required=True)
parser.add_argument("--graph", required=True)
parser.add_argument("--timeout-s", type=float, default=120.0)