Commit before rebuilding in OdenGraphQT

This commit is contained in:
2025-02-12 21:06:59 -07:00
parent 6e311de24b
commit 2a95535e0a
36 changed files with 1645 additions and 179 deletions

View File

@ -0,0 +1,71 @@
#!/usr/bin/env python3
"""
Collector Process:
- Runs the OCR engine.
- Updates OCR data every 0.5 seconds.
- Exposes the latest data via an HTTP API using Flask.
This version splits the HP, MP, and FP values into 'current' and 'total' before
sending them via the API, so the Character Status Node can ingest them directly.
"""
import time
import threading
from flask import Flask, jsonify
app = Flask(__name__)
# Global variable to hold the latest stats (HP, MP, FP, EXP)
latest_data = {
"hp_current": 0,
"hp_total": 0,
"mp_current": 0,
"mp_total": 0,
"fp_current": 0,
"fp_total": 0,
"exp": 0.0000
}
def ocr_collector():
"""
This function simulates the OCR process.
Replace the code below with your actual OCR logic.
"""
global latest_data
counter = 0
while True:
# Simulate updating stats:
hp_current = 50 + counter % 10
hp_total = 100
mp_current = 30 + counter % 5
mp_total = 50
fp_current = 20 # fixed, for example
fp_total = 20
exp_val = round(10.0 + (counter * 0.1), 4)
latest_data = {
"hp_current": hp_current,
"hp_total": hp_total,
"mp_current": mp_current,
"mp_total": mp_total,
"fp_current": fp_current,
"fp_total": fp_total,
"exp": exp_val
}
counter += 1
time.sleep(0.5)
@app.route('/data')
def get_data():
"""Return the latest OCR data as JSON."""
return jsonify(latest_data)
if __name__ == '__main__':
# Start the OCR collector in a background thread.
collector_thread = threading.Thread(target=ocr_collector)
collector_thread.daemon = True
collector_thread.start()
# Run the Flask app on localhost:5000.
app.run(host="127.0.0.1", port=5000)