#!/usr/bin/env python3
from pathlib import Path
from datetime import datetime
p=Path('/etc/caddy/Caddyfile')
s=p.read_text()
bak=p.with_name('Caddyfile.bak.portal-login-gate.' + datetime.now().strftime('%Y%m%d%H%M%S'))
bak.write_text(s)
old='''    @public_portal host sotlab.co.uk www.sotlab.co.uk
    handle @public_portal {
        root * /srv/www/webpi
        file_server
    }
'''
new='''    @public_portal host sotlab.co.uk www.sotlab.co.uk
    handle @public_portal {
        @portal_login path /login /logout
        handle @portal_login {
            reverse_proxy 127.0.0.1:8090
        }
        root * /srv/www/webpi
        file_server
    }
'''
if old not in s:
    raise SystemExit('public_portal block not found or already changed')
p.write_text(s.replace(old,new))
print(f'backup={bak}')
