# -*- coding: utf-8 -*-
"""Sửa lại (lần 2) sau khi lần 1 chèn JS có dấu nháy đơn làm hỏng cú pháp Python.
Dùng JS chỉ có dấu NHÁY KÉP, và <base href=/...> dạng KHÔNG nháy (HTML5 cho phép)."""
import ast

P = r'C:\Claw 2\Nghien cuu\Du-an-B-He-mau-Stain-Glaze\calib-app\server_calib.py'
s = open(P, encoding='utf-8').read()

XAU = """<script>var B=(location.pathname.indexOf('/calib')===0)?'/calib/':'/';document.write('<base href="'+B+'">');</script>"""
TOT = '''<script>var B=(location.pathname.indexOf("/calib")===0)?"/calib/":"/";document.write("<base href="+B+">");</script>'''
n = s.count(XAU)
s = s.replace(XAU, TOT)
print('đã thay', n, 'chỗ JS dấu nháy đơn → nháy kép')

# bảo đảm trang đăng nhập cũng có <base>
if 'TOT' and TOT not in s.split('<style>%s</style><header><b>CALIB CSDL B</b><span>Huấn luyện', 1)[0]:
    s = s.replace('<style>%s</style><header><b>CALIB CSDL B</b><span>Huấn luyện',
                  TOT + '<style>%s</style><header><b>CALIB CSDL B</b><span>Huấn luyện', 1)
    print('đã thêm <base> cho trang đăng nhập')

# JS của trang chính dùng B đã tính
s = s.replace("const B='';", 'const B=(location.pathname.indexOf("/calib")===0)?"/calib/":"/";')

open(P, 'w', encoding='utf-8').write(s)
ast.parse(s)
print('cú pháp OK')
print('   số trang có <base>:', s.count('"<base href="+B+">"'))
print('   số đoạn tự thêm / cuối còn lại:', s.count("endsWith('/'))location.replace"))
