#!/usr/bin/env python3
from pathlib import Path
import re
import sys
app_path = Path(sys.argv[1]) if len(sys.argv) > 1 else Path('/opt/virtuality/web/app.py')
app_dir = app_path.resolve().parent if app_path.exists() else Path('/opt/virtuality/web')
template_path = app_dir / 'templates' / 'vm_detail.html'
css_path = app_dir / 'static' / 'app.css'
changed = []
if not template_path.exists():
raise SystemExit(f'vm_detail.html not found: {template_path}')
tpl = template_path.read_text()
original = tpl
resource_messages = r'''
{% if resource_message %}
CPU / RAM / Архитектура
resources
CPU{{ resource_settings.vcpus }}
RAM{{ resource_settings.memory_mb }} MB
Архитектура{{ resource_settings.arch }}
{% if not resource_settings.is_shutoff %}
VM сейчас не выключена. CPU, RAM и архитектуру можно менять только после Shutdown/Power off.
{% endif %}
CPU/RAM меняются в XML VM. Смена архитектуры требует совместимый диск и загрузчик; x86-диск не станет ARM-диском по щелчку, увы, физика всё ещё душнит.
'''
if 'resource_message' not in tpl:
marker = ' {% if iso_message %}'
if marker in tpl:
tpl = tpl.replace(marker, resource_messages + '\n' + marker, 1)
changed.append('resource messages added')
if 'CPU / RAM / Архитектура' not in tpl:
marker = '