v1.1.0: per-stand services list from Terraform — services_dev.txt + services_test.txt
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
"""
|
||||
Чтение списка разрешённых сервисов из services_{stand}.txt.
|
||||
|
||||
Формат файла: service_id service_name # описание
|
||||
Закомментированные (#) строки — исключены.
|
||||
Пустые строки — игнорируются.
|
||||
|
||||
Файл лежит в site/config/, пушится с кодом, деплоится вместе с приложением.
|
||||
При изменении списка: edit → commit → push → redeploy.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
_CONFIG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "config")
|
||||
|
||||
|
||||
def load_service_ids(stand="test"):
|
||||
"""Вернуть set разрешённых service_id для указанного стенда."""
|
||||
path = os.path.join(_CONFIG_DIR, f"services_{stand}.txt")
|
||||
ids = set()
|
||||
try:
|
||||
with open(path) as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if not line or line.startswith("#"):
|
||||
continue
|
||||
# Формат: "1 dummy # Болванка"
|
||||
parts = line.split()
|
||||
if parts and parts[0].isdigit():
|
||||
ids.add(int(parts[0]))
|
||||
except FileNotFoundError:
|
||||
pass # файла нет — показываем все сервисы
|
||||
return ids
|
||||
Reference in New Issue
Block a user