Initial import: vesti.nixg.ru — новостной апрув-проект (web, crawler, classifier, publisher, openspec)

This commit is contained in:
kpa39l
2026-09-13 15:58:32 +00:00
commit c3f59f7b7a
113 changed files with 7065 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# VESTI — общий конфиг (загрузка .env, пути)
import os
from pathlib import Path
from dotenv import load_dotenv
BASE_DIR = Path(__file__).resolve().parent # /opt/vesti
load_dotenv(BASE_DIR / ".env")
DB_PATH = BASE_DIR / "db" / "vesti.db"
SCHEMA_PATH = BASE_DIR / "db" / "schema.sql"
SOURCES_PATH = BASE_DIR / "sources" / "sources.yaml"
BUNDLES_DIR = BASE_DIR / "bundles"
MEDIA_DIR = BASE_DIR / "media"
TG_API_ID = int(os.getenv("TG_API_ID", "0"))
TG_API_HASH = os.getenv("TG_API_HASH", "")
TG_PROXY = os.getenv("TG_PROXY", "socks5://127.0.0.1:1080")
TG_SESSION_DIR = Path(os.getenv("TG_SESSION_DIR", str(BASE_DIR / "telegram")))
VESTI_BOT_TOKEN = os.getenv("VESTI_BOT_TOKEN", "")
VESTI_BOT_CHANNEL = os.getenv("VESTI_BOT_CHANNEL", "@dedinit_vesti_linux_ru_bot")
ADMIN_USER = os.getenv("ADMIN_USER", "admin")
ADMIN_PASSWORD = os.getenv("ADMIN_PASSWORD", "change_me")
OLLAMA_URL = os.getenv("OLLAMA_URL", "http://127.0.0.1:11434")
OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "qwen3:8b-nothink")
# Направления (категории)
DIRECTIONS = ["tech", "politics", "games", "electronics", "llm", "linux"]
def ensure_dirs():
for d in (BASE_DIR / "db", MEDIA_DIR, TG_SESSION_DIR, BUNDLES_DIR):
d.mkdir(parents=True, exist_ok=True)