testin out different ocr outputs

This commit is contained in:
nathan
2026-05-16 09:57:37 -04:00
parent 95ca7efa44
commit f2ed4b18e1
77 changed files with 137498 additions and 350 deletions

44
fix_viewer.py Normal file
View File

@@ -0,0 +1,44 @@
import subprocess, os
# Re-extract JS with correct encoding and apply all fixes
result = subprocess.run(['git', 'show', 'c663627:p44-ocr-viewer.js'], capture_output=True, cwd=os.path.dirname(__file__))
content = result.stdout.decode('utf-8')
# Fix paths: ./Inputs/ -> ../Inputs/
content = content.replace('./Inputs/', '../Inputs/')
# Fix server data file paths to include viewer/data/ prefix
content = content.replace("const SERVER_FLAGS_FILE = 'flags-'", "const SERVER_FLAGS_FILE = 'viewer/data/flags-'")
content = content.replace("const SERVER_PASS2_FLAGS_FILE = 'pass2_flags-'", "const SERVER_PASS2_FLAGS_FILE = 'viewer/data/pass2_flags-'")
content = content.replace("const SERVER_CORRECTIONS_FILE = 'corrections-'", "const SERVER_CORRECTIONS_FILE = 'viewer/data/corrections-'")
# Add cache-buster to MD fetch
content = content.replace(
'fetch(REAL_TEXT_PATH).then',
"fetch(REAL_TEXT_PATH + '?v=' + Date.now()).then"
)
# Add saveCurrentPage guard (prevent saving pages outside loaded MD range)
old_guard = (
'function saveCurrentPage() {\n'
' const pageNum = parseInt(textEditor.dataset.page, 10);\n'
' if (!pageNum) return;'
)
new_guard = (
'function saveCurrentPage() {\n'
' const pageNum = parseInt(textEditor.dataset.page, 10);\n'
' if (!pageNum) return;\n'
' if (!state.ocrPages[pageNum]) return; // do not save pages outside loaded MD range'
)
content = content.replace(old_guard, new_guard)
out_path = os.path.join(os.path.dirname(__file__), 'viewer', 'p44-ocr-viewer.js')
with open(out_path, 'w', encoding='utf-8', newline='\n') as f:
f.write(content)
print(f'Done. Lines: {content.count(chr(10))}')
print('Paths check:')
for line in content.splitlines():
if 'pdfPath' in line or 'textPath' in line or 'SERVER_FLAGS_FILE' in line or 'SERVER_CORRECTIONS' in line or 'ocrPages[pageNum]' in line or 'Date.now' in line:
print(' ', line.strip())