from pathlib import Path

T=Path('/opt/cosmosluminosity/content/themes/clean')
R=Path('/opt/cosmosluminosity/content/settings/routes.yaml')

# Homepage: make the free experiment the primary first step and add it to the route.
repls={
'index.hbs':[
('href="#threshold" data-ru="Определить, что меняется" data-en="Map what needs to change">Определить, что меняется</a><a class="button" href="/magic-cloud/" data-ru="Начать с вопроса" data-en="Begin with a question">Начать с вопроса</a>',
 'href="/next-chapter-experiment/" data-ru="Создать свой эксперимент" data-en="Create your experiment">Создать свой эксперимент</a><a class="button" href="#threshold" data-ru="Узнать себя" data-en="Recognize your transition">Узнать себя</a>'),
('data-ru="Сохрани то, что по-прежнему ценно. Проверь то, что приходит следующим." data-en="Preserve what still matters. Test what comes next.">Сохрани то, что по-прежнему ценно. Проверь то, что приходит следующим.</small>',
 'data-ru="Сохрани то, что по-прежнему ценно. Начни с эксперимента." data-en="Preserve what still matters. Begin with an experiment.">Сохрани то, что по-прежнему ценно. Начни с эксперимента.</small>'),
('<div class="path-grid" data-reveal><article class="path-card">',
 '<div class="path-grid" data-reveal><article class="path-card current"><span class="path-no" data-ru="Бесплатный первый опыт" data-en="Free first experience">Бесплатный первый опыт</span><h3 data-ru="Create Your Experiment" data-en="Create Your Experiment">Create Your Experiment</h3><p data-ru="За одну сессию преврати один профессиональный вопрос в небольшой обратимый эксперимент и получи личную Experiment Card." data-en="In one session, turn one professional question into a small reversible experiment and receive your personal Experiment Card.">За одну сессию преврати один профессиональный вопрос в небольшой обратимый эксперимент и получи личную Experiment Card.</p><a href="/next-chapter-experiment/" data-ru="Создать эксперимент →" data-en="Create your experiment →">Создать эксперимент →</a></article><article class="path-card">'),
('<article class="path-card current"><span class="path-no" data-ru="Основной самостоятельный маршрут"',
 '<article class="path-card"><span class="path-no" data-ru="Основной самостоятельный маршрут"')],
'index-en.hbs':[
('href="#threshold" data-ru="Определить, что меняется" data-en="Map what needs to change">Map what needs to change</a><a class="button" href="/en/magic-cloud/" data-ru="Начать с вопроса" data-en="Begin with a question">Begin with a question</a>',
 'href="/next-chapter-experiment-en/" data-ru="Создать свой эксперимент" data-en="Create your experiment">Create your experiment</a><a class="button" href="#threshold" data-ru="Узнать себя" data-en="Recognize your transition">Recognize your transition</a>'),
('data-ru="Сохрани то, что по-прежнему ценно. Проверь то, что приходит следующим." data-en="Preserve what still matters. Test what comes next.">Preserve what still matters. Test what comes next.</small>',
 'data-ru="Сохрани то, что по-прежнему ценно. Начни с эксперимента." data-en="Preserve what still matters. Begin with an experiment.">Preserve what still matters. Begin with an experiment.</small>'),
('<div class="path-grid" data-reveal><article class="path-card">',
 '<div class="path-grid" data-reveal><article class="path-card current"><span class="path-no" data-ru="Бесплатный первый опыт" data-en="Free first experience">Free first experience</span><h3 data-ru="Create Your Experiment" data-en="Create Your Experiment">Create Your Experiment</h3><p data-ru="За одну сессию преврати один профессиональный вопрос в небольшой обратимый эксперимент и получи личную Experiment Card." data-en="In one session, turn one professional question into a small reversible experiment and receive your personal Experiment Card.">In one session, turn one professional question into a small reversible experiment and receive your personal Experiment Card.</p><a href="/next-chapter-experiment-en/" data-ru="Создать эксперимент →" data-en="Create your experiment →">Create your experiment →</a></article><article class="path-card">'),
('<article class="path-card current"><span class="path-no" data-ru="Основной самостоятельный маршрут"',
 '<article class="path-card"><span class="path-no" data-ru="Основной самостоятельный маршрут"')],
'default.hbs':[
('<a class="menu-portal" href="/magic-cloud/" data-ru="Начать с вопроса" data-en="Start with a question">Начать с вопроса</a>',
 '<a class="menu-portal" href="/next-chapter-experiment/" data-ru="Создать эксперимент" data-en="Create an experiment">Создать эксперимент</a>'),
('<a href="/" data-ru="Главная" data-en="Home">Главная</a><a href="/magic-cloud/">',
 '<a href="/" data-ru="Главная" data-en="Home">Главная</a><a href="/next-chapter-experiment/">Create Your Experiment</a><a href="/magic-cloud/">')],
'default-en.hbs':[
('<a class="menu-portal" href="/en/magic-cloud/" data-ru="Начать с вопроса" data-en="Start with a question">Start with a question</a>',
 '<a class="menu-portal" href="/next-chapter-experiment-en/" data-ru="Создать эксперимент" data-en="Create an experiment">Create an experiment</a>'),
('<a href="/en/" data-ru="Главная" data-en="Home">Home</a><a href="/en/magic-cloud/">',
 '<a href="/en/" data-ru="Главная" data-en="Home">Home</a><a href="/next-chapter-experiment-en/">Create Your Experiment</a><a href="/en/magic-cloud/">')]
}
for fn,pairs in repls.items():
    p=T/fn;s=p.read_text()
    for old,new in pairs:
        if old not in s: raise SystemExit(f'missing marker in {fn}: {old[:90]}')
        s=s.replace(old,new,1)
    p.write_text(s)

routes=R.read_text()
marker='  /magic-cloud/:\n    template: page-magic-cloud\n'
insert='  /next-chapter-experiment/:\n    template: page-next-chapter-experiment\n'
if insert not in routes:
    if marker not in routes: raise SystemExit('RU route marker missing')
    routes=routes.replace(marker,insert+marker,1)
marker='  /en/magic-cloud/:\n    template: page-magic-cloud-en\n'
insert='  /en/next-chapter-experiment/:\n    template: page-next-chapter-experiment-en\n'
if insert not in routes:
    if marker not in routes: raise SystemExit('EN route marker missing')
    routes=routes.replace(marker,insert+marker,1)
R.write_text(routes)
print('homepage, global navigation, and RU/EN routes integrated')
