import sys with open('esp32_serial_backend/esp32_serial_backend.ino', 'r', encoding='utf8') as f: content = f.read() replacements = [ # Setup ('showStatus("API FAIL", TFT_RED);', 'showStatus("API FAIL", TFT_RED, testResp);'), ('showStatus("WiFi FAIL", TFT_RED);', 'showStatus("WiFi FAIL", TFT_RED, "Timeout 15s");'), # enroll & recog ('showStatus("JOB RESULT FAIL\\n" + jr, TFT_YELLOW);', 'showStatus("JOB RESULT FAIL", TFT_YELLOW, jr);'), ('showStatus("JOB RES:\\n" + jr, TFT_YELLOW);', 'showStatus("JOB RES FAIL", TFT_YELLOW, jr);'), # RFID UART ('showStatus("RFID: " + uid, TFT_GREEN);', 'showStatus("RFID DIBACA", TFT_CYAN, uid);'), ('showStatus("RFID?", TFT_YELLOW);', 'showStatus("FORMAT RFID\\nTIDAK VALID", TFT_YELLOW, "");'), ('showStatus("RFID: " + resolved, TFT_GREEN);', 'showStatus("RFID DIKENALI", TFT_GREEN, resolved);'), ('showStatus("RFID: new\\n" + uid, TFT_YELLOW);', 'showStatus("RFID BARU", TFT_YELLOW, uid);'), ('showStatus("RFID: (no name)", TFT_YELLOW);', 'showStatus("RFID BARU\\n(Tanpa Nama)", TFT_YELLOW, "");'), ('showStatus("RFID lookup\\nFAIL", TFT_RED);', 'showStatus("RFID GAGAL", TFT_RED, resp);'), # Error Image ('showStatus("JPEG INIT FAIL", TFT_RED);', 'showStatus("GAGAL JEPRET", TFT_RED, "JPEG Init error");'), ('showStatus("CAM ERROR", TFT_RED);', 'showStatus("KAMERA ERROR", TFT_RED, "Camera fb null");'), ('showStatus("NOT JPEG", TFT_RED);', 'showStatus("BUKAN JPEG", TFT_RED, "Format salah");'), ('showStatus("NAME EMPTY", TFT_RED);', 'showStatus("NAMA KOSONG", TFT_RED, "Silakan isi nama");'), # API responses ('showStatus(resp, TFT_CYAN);', 'showStatus("SERVER MERESPON", TFT_CYAN, resp);'), ('showStatus("UPLOAD\\n" + endpoint, TFT_CYAN);', 'showStatus("MENGIRIM...", TFT_CYAN, endpoint);'), ('showStatus("RECOG FAIL\\n" + resp, TFT_RED);', 'showStatus("GAGAL DETEKSI", TFT_RED, resp);'), ('showStatus("OK: " + gExpectedName, TFT_GREEN);', 'showStatus("DAFTAR SUKSES", TFT_GREEN, gExpectedName);'), ('showStatus("FAIL: " + gExpectedName, TFT_RED);', 'showStatus("GAGAL DAFTAR", TFT_RED, gExpectedName + " tidak dikenali");') ] for old, new in replacements: content = content.replace(old, new) with open('esp32_serial_backend/esp32_serial_backend.ino', 'w', encoding='utf8') as f: f.write(content) print('Replacements done.')