Backup automatico script del 2026-08-23 12:04

This commit is contained in:
daniele committed 2026-08-23 12:04:16 +02:00
1 parent 11823447a2
commit 795a15a7b6
66 files changed
+8546

No files matched your search

@@ -0,0 +1,96 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Crea repo progetti per davide/luca e progetti Loogle collegati."""
from __future__ import annotations
import os
import sys
ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
if ROOT not in sys.path:
sys.path.insert(0, ROOT)
def _load_dotenv() -> None:
path = os.path.join(ROOT, ".env")
if not os.path.isfile(path):
return
with open(path, encoding="utf-8") as fh:
for line in fh:
line = line.strip()
if not line or line.startswith("#") or "=" not in line:
continue
k, _, v = line.partition("=")
os.environ[k.strip()] = v.strip().strip("'").strip('"')
def ensure_repo(user: str, repo_name: str, description: str) -> str:
from app.knowledge import gitea
gitea._tokens_cache = None
full = f"{user}/{repo_name}"
existing = {r["full_name"] for r in gitea.list_repos(username=user)["repos"]}
if full in existing:
print(f"repo_exists: {full}")
return full
created = gitea.create_repo(
repo_name,
username=user,
private=True,
description=description,
auto_init=True,
)
print(f"repo_created: {created['full_name']}")
return created["full_name"]
def ensure_mcp_project(user: str, project_title: str, gitea_repo: str) -> None:
from app.context import store as context_store
projects = {p["id"]: p for p in context_store.list_projects(user, include_archived=True)}
for meta in projects.values():
if meta.get("gitea_repo") == gitea_repo:
print(f"project_linked: {user}/{meta['id']} -> {gitea_repo}")
return
slug = project_title.lower().replace(" ", "-")
if slug in projects:
meta = context_store.link_project_repo(user, slug, gitea_repo=gitea_repo, seed_from_gitea=True)
print(f"project_updated: {user}/{meta['id']} -> {gitea_repo}")
return
meta = context_store.create_project(
user,
project_title,
tags=["gitea", "p4"],
gitea_repo=gitea_repo,
seed_from_gitea=True,
)
print(f"project_created: {user}/{meta['id']} -> {gitea_repo}")
def main() -> int:
_load_dotenv()
os.environ.setdefault("MCP_DB", os.environ.get("MCP_DB", "/data/loogle_mcp.db"))
from app.db import init_db
init_db()
ensure_repo(
"davide",
"progetti",
"Workspace personale — codice e note generate con Loogle MCP",
)
ensure_repo(
"luca",
"progetti",
"Workspace personale — codice e note generate con Loogle MCP",
)
ensure_mcp_project("davide", "Progetti Davide", "davide/progetti")
ensure_mcp_project("luca", "Progetti Luca", "luca/progetti")
return 0
if __name__ == "__main__":
raise SystemExit(main())