Files
momentry_core/update_asr.py

57 lines
1.7 KiB
Python

#!/usr/bin/env python3
import json
import subprocess
import os
def main():
# Find latest ASR file for job 10
output_dir = "/Users/accusys/momentry/output"
files = [f for f in os.listdir(output_dir) if f.startswith("job_10_asr_")]
if not files:
print("No ASR files found")
return
# Sort by timestamp (numeric suffix)
def extract_timestamp(fname):
# job_10_asr_1774505428450.json
parts = fname.split("_")
timestamp = parts[3].split(".")[0]
return int(timestamp)
files.sort(key=extract_timestamp, reverse=True)
latest_file = os.path.join(output_dir, files[0])
print(f"Using ASR file: {latest_file}")
with open(latest_file, "r") as f:
data = json.load(f)
# Convert to JSON string, escape single quotes for SQL
json_str = json.dumps(data).replace("'", "''")
# Update processor_results
sql = f"""
UPDATE processor_results
SET status = 'completed',
output_data = '{json_str}'::jsonb,
completed_at = NOW()
WHERE job_id = 10 AND processor = 'asr';
"""
# Execute with psql
db_url = "postgres://accusys@localhost:5432/momentry"
cmd = ["psql", db_url, "-c", sql]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode != 0:
print(f"Error updating database: {result.stderr}")
else:
print("Successfully updated ASR processor result to completed")
# Also need to store ASR chunks in database via Rust logic
# For now, we'll trust that the worker will do it when restarted
# (the store_asr_chunks method will be called on completion)
if __name__ == "__main__":
main()