правильно замена url на виртуальных тачках

This commit is contained in:
2025-11-14 11:03:57 +03:00
parent ffd4108be8
commit 0c0c18c783

View File

@@ -15,6 +15,7 @@ from pprint import pprint
import nasio import nasio
import io, os, platform, time import io, os, platform, time
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
import re
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
@@ -2937,16 +2938,8 @@ def change_vmix_datasource_urls(xml_data, new_base_url: str) -> bytes:
url_tag = inst.find(".//state/xml/url") url_tag = inst.find(".//state/xml/url")
if url_tag is not None and url_tag.text: if url_tag is not None and url_tag.text:
old_url = url_tag.text.strip() old_url = url_tag.text.strip()
pattern = r"https?\:\/\/\w+\.\w+\.\w{2,}|https?\:\/\/\d{,3}\.\d{,3}\.\d{,3}\.\d{,3}:\d*"
# аккуратно выделяем endpoint new_url = re.sub(pattern, new_base_url, old_url, count=0, flags=0)
# http://127.0.0.1:8000/team1 -> /team1
after_scheme = old_url.split("://", 1)[-1]
after_host = (
after_scheme.split("/", 1)[-1] if "/" in after_scheme else ""
)
endpoint = "/" + after_host if after_host else ""
new_url = new_base_url.rstrip("/") + endpoint
url_tag.text = new_url url_tag.text = new_url
# 5. Сериализуем обратно в bytes # 5. Сериализуем обратно в bytes
@@ -2965,7 +2958,10 @@ async def vmix_project():
) )
system_name = platform.system() system_name = platform.system()
if system_name == "Windows": if system_name == "Windows":
pass edited_vmix = change_vmix_datasource_urls(
vmix_bio, f"https://{MYHOST}.tvstart.ru"
)
# pass
else: else:
# ❗ На Linux/Synology/Docker — заменяем URL # ❗ На Linux/Synology/Docker — заменяем URL
edited_vmix = change_vmix_datasource_urls( edited_vmix = change_vmix_datasource_urls(