Remove REFROOT; simplify external hepc / spigot-cli call

This commit is contained in:
Michael Hohn
2025-05-07 10:55:38 -07:00
committed by =Michael Hohn
parent bb6189322a
commit 19a936087f
2 changed files with 26 additions and 21 deletions

View File

@@ -102,7 +102,6 @@ func InitHEPCDatabaseStore() (qldbstore.Store, error) {
"MRVA_HEPC_ENDPOINT", "MRVA_HEPC_ENDPOINT",
"MRVA_HEPC_CACHE_DURATION", "MRVA_HEPC_CACHE_DURATION",
"MRVA_HEPC_DATAVIACLI", "MRVA_HEPC_DATAVIACLI",
"MRVA_HEPC_REFROOT",
"MRVA_HEPC_OUTDIR", "MRVA_HEPC_OUTDIR",
"MRVA_HEPC_TOOL", "MRVA_HEPC_TOOL",
} }

View File

@@ -94,18 +94,12 @@ func (h *HepcStore) fetchViaHTTP() ([]HepcResult, error) {
return results, nil return results, nil
} }
func (h *HepcStore) fetchViaCli() ([]HepcResult, error) { func (h *HepcStore) fetchViaCli() ([]HepcResult, error) {
refrootDir := os.Getenv("MRVA_HEPC_REFROOT")
outDir := os.Getenv("MRVA_HEPC_OUTDIR") outDir := os.Getenv("MRVA_HEPC_OUTDIR")
toolName := os.Getenv("MRVA_HEPC_TOOL") toolName := os.Getenv("MRVA_HEPC_TOOL")
var missing []string var missing []string
if refrootDir == "" {
slog.Error("Missing required environment variable", "var", "MRVA_HEPC_REFROOT")
missing = append(missing, "MRVA_HEPC_REFROOT")
}
if outDir == "" { if outDir == "" {
slog.Error("Missing required environment variable", "var", "MRVA_HEPC_OUTDIR") slog.Error("Missing required environment variable", "var", "MRVA_HEPC_OUTDIR")
missing = append(missing, "MRVA_HEPC_OUTDIR") missing = append(missing, "MRVA_HEPC_OUTDIR")
@@ -136,23 +130,35 @@ func (h *HepcStore) fetchViaCli() ([]HepcResult, error) {
jsonPath := filepath.Join(outDir, "spigot-results.json") jsonPath := filepath.Join(outDir, "spigot-results.json")
cmd := exec.Command( // ----------------------
"./run-spigot.sh", // Go version of
refrootDir, // spigot-cli bulk-download-results \
outDir, // --tool-name "$TOOL_NAME" \
toolName, // --metadata-only all \
) // > "$OUT_DIR/spigot-results.json"
cmd.Stdout = os.Stdout // ----------------------
cmd.Stderr = os.Stderr outFile, err := os.Create(jsonPath)
if err != nil {
slog.Info("Starting shell script", "command", strings.Join(cmd.Args, " ")) slog.Error("Failed to create spigot output file", "error", err)
if err := cmd.Run(); err != nil {
slog.Error("Shell script failed", "error", err)
return nil, err return nil, err
} }
defer outFile.Close()
slog.Info("Shell script completed successfully") cmd := exec.Command(
"spigot-cli",
"bulk-download-results",
"--tool-name", toolName,
"--metadata-only", "all",
)
cmd.Stdout = outFile
cmd.Stderr = os.Stderr // for error logging
if err := cmd.Run(); err != nil {
slog.Error("spigot-cli failed", "error", err)
return nil, err
}
// ----------------------
// Decode the resulting JSON file // Decode the resulting JSON file
f, err := os.Open(jsonPath) f, err := os.Open(jsonPath)