"""One-off build: create prima-vizita-de-acasa.html from the eu-si-copiii.html template."""
import io, sys

ROOT = r'C:\Users\stefa\OneDrive\Desktop\constelatiainimii.ro'

with io.open(rf'{ROOT}\eu-si-copiii.html', encoding='utf-8') as f:
    html = f.read()

with io.open(rf'{ROOT}\Tobeadded\prima-vizita-posttext.html', encoding='utf-8') as f:
    posttext = f.read().strip('\n')

TITLE = 'Prima vizită de acasă, în casa cea nouă'
DESC = ('Sora mea, Roxana, a venit să ne viziteze în Alicante, împreună cu Matei și Mathias. '
        'Îmbrățișări, râsete, plajă, Explanada, Casa Carbonell și o seară în care luna ne lumina pașii. '
        'O poveste despre ce înseamnă acasă.')
TWITTER_DESC = ('Sora mea, Roxana, a venit să ne viziteze în Alicante, cu Matei și Mathias. '
                'Îmbrățișări, râsete, plajă, Explanada și o seară în care luna ne lumina pașii. '
                'O poveste despre ce înseamnă acasă.')

repl = [
    # head
    ('<title>Eu și copiii! Pentru prima dată, doar noi, într-o lume mare | Manuela Coșiu</title>',
     f'<title>{TITLE} | Manuela Coșiu</title>'),
    ('<meta name="description" content="Cinci zile doar eu și copiii, departe de casă: prima dată la volan, meciul lui Lucas, marea, prima vizită acasă și prima lecție de pian. O poveste despre frică, curaj și iubire.">',
     f'<meta name="description" content="{DESC}">'),
    ('<link rel="canonical" href="https://constelatiainimii.ro/eu-si-copiii.html">',
     '<link rel="canonical" href="https://constelatiainimii.ro/prima-vizita-de-acasa.html">'),
    ('<meta property="og:url" content="https://constelatiainimii.ro/eu-si-copiii.html">',
     '<meta property="og:url" content="https://constelatiainimii.ro/prima-vizita-de-acasa.html">'),
    ('<meta property="og:title" content="Eu și copiii! Pentru prima dată, doar noi, într-o lume mare | Manuela Coșiu">',
     f'<meta property="og:title" content="{TITLE} | Manuela Coșiu">'),
    ('<meta property="og:description" content="Cinci zile doar eu și copiii, departe de casă: prima dată la volan, meciul lui Lucas, marea, prima vizită acasă și prima lecție de pian. O poveste despre frică, curaj și iubire.">',
     f'<meta property="og:description" content="{DESC}">'),
    ('<meta property="article:published_time" content="2026-09-22">',
     '<meta property="article:published_time" content="2026-09-29">'),
    ('<meta name="twitter:title" content="Eu și copiii! Pentru prima dată, doar noi, într-o lume mare | Manuela Coșiu">',
     f'<meta name="twitter:title" content="{TITLE} | Manuela Coșiu">'),
    ('<meta name="twitter:description" content="Cinci zile doar eu și copiii, departe de casă: prima dată la volan, meciul lui Lucas, marea și prima lecție de pian. O poveste despre frică, curaj și iubire.">',
     f'<meta name="twitter:description" content="{TWITTER_DESC}">'),
    ('"headline": "Eu și copiii! Pentru prima dată, doar noi, într-o lume mare, în care încă mă simt mică",',
     f'"headline": "{TITLE}",'),
    ('"datePublished": "2026-09-22",', '"datePublished": "2026-09-29",'),
    ('"mainEntityOfPage": "https://constelatiainimii.ro/eu-si-copiii.html",',
     '"mainEntityOfPage": "https://constelatiainimii.ro/prima-vizita-de-acasa.html",'),
    # hero: keep full-size family photo
    ("background-image: url('assets/poze-blog/eu-si-copiii-familie.jpg');",
     "background-image: url('assets/poze-blog/prima-vizita-de-acasa-familie.jpg');"),
    # all remaining eu-si-copiii-familie.jpg references (og:image, twitter:image, JSON-LD) -> og image
    ('eu-si-copiii-familie.jpg', 'prima-vizita-de-acasa-og.jpg'),
    # h1 + date
    ('<h1 class="display-4">EU ȘI COPIII! PENTRU PRIMA DATĂ, DOAR NOI, ÎNTR-O LUME MARE, ÎN CARE ÎNCĂ MĂ SIMT MICĂ</h1>',
     f'<h1 class="display-4">{TITLE.upper()}</h1>'),
    ('<div class="nk-post-date">Septembrie 22, 2026</div>',
     '<div class="nk-post-date">Septembrie 29, 2026</div>'),
    # pagination: previous post is now eu-si-copiii
    ('<a class="nk-pagination-prev" href="aqualandia-benidorm.html">',
     '<a class="nk-pagination-prev" href="eu-si-copiii.html">'),
]

for old, new in repl:
    if old not in html:
        print(f'MISSING: {old[:80]}...', file=sys.stderr)
        sys.exit(1)
    html = html.replace(old, new)

# replace the whole post text block (div.nk-post-text ... <!-- END: Post Text -->)
start_marker = '<div class="nk-post-text" style="text-align: justify;">'
end_marker = '<!-- END: Post Text -->'
i = html.index(start_marker)
j = html.index(end_marker)
html = html[:i] + posttext + '\n                        ' + html[j:]

with io.open(rf'{ROOT}\prima-vizita-de-acasa.html', 'w', encoding='utf-8', newline='') as f:
    f.write(html)

print('OK: prima-vizita-de-acasa.html written,', len(html), 'chars')
