#!/usr/bin/env python3
from pathlib import Path
p=Path('/etc/caddy/Caddyfile')
s=p.read_text()
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')
Path('/tmp/Caddyfile.portal-login-gate').write_text(s.replace(old,new))
print('/tmp/Caddyfile.portal-login-gate')
