Spaces:
Running
Running
""" | |
🧭 Outils de navigation et d'information sur les fichiers Figma | |
""" | |
import json | |
from .config import figma_config, make_figma_request | |
def get_figma_file_info(file_id: str = "") -> str: | |
""" | |
Récupère les informations détaillées d'un fichier Figma. | |
Args: | |
file_id (str): ID du fichier Figma (optionnel, utilise la configuration par défaut si vide) | |
Returns: | |
str: Informations du fichier au format JSON ou message d'erreur | |
""" | |
file_id = file_id or figma_config["file_id"] | |
if not file_id: | |
return "❌ ID du fichier requis. Utilisez configure_figma_file_id() d'abord." | |
result = make_figma_request(f"files/{file_id}") | |
if "error" in result: | |
return f"❌ Erreur : {result['error']}" | |
file_info = { | |
"nom": result.get("name", ""), | |
"derniere_modification": result.get("lastModified", ""), | |
"version": result.get("version", ""), | |
"pages": [page.get("name", "") for page in result.get("document", {}).get("children", [])] | |
} | |
return f"📄 **Fichier Figma :**\n{json.dumps(file_info, indent=2, ensure_ascii=False)}" | |
def get_figma_comments(file_id: str = "") -> str: | |
""" | |
Récupère tous les commentaires d'un fichier Figma. | |
Args: | |
file_id (str): ID du fichier Figma (optionnel, utilise la configuration par défaut si vide) | |
Returns: | |
str: Liste des commentaires ou message d'erreur | |
""" | |
file_id = file_id or figma_config["file_id"] | |
if not file_id: | |
return "❌ ID du fichier requis" | |
result = make_figma_request(f"files/{file_id}/comments") | |
if "error" in result: | |
return f"❌ Erreur : {result['error']}" | |
comments = result.get("comments", []) | |
if not comments: | |
return "📝 Aucun commentaire trouvé dans ce fichier" | |
comment_list = [] | |
for comment in comments[:10]: # Limiter à 10 commentaires | |
user = comment.get("user", {}).get("handle", "Anonyme") | |
message = comment.get("message", "") | |
created_at = comment.get("created_at", "") | |
comment_list.append(f"👤 {user} ({created_at}): {message}") | |
return f"📝 **Commentaires récents :**\n" + "\n\n".join(comment_list) | |
def get_figma_user_info() -> str: | |
""" | |
Récupère les informations de l'utilisateur connecté. | |
Returns: | |
str: Informations utilisateur au format JSON ou message d'erreur | |
""" | |
result = make_figma_request("me") | |
if "error" in result: | |
return f"❌ Erreur : {result['error']}" | |
user_info = { | |
"nom": result.get("handle", ""), | |
"email": result.get("email", ""), | |
"id": result.get("id", "") | |
} | |
return f"👤 **Utilisateur connecté :**\n{json.dumps(user_info, indent=2, ensure_ascii=False)}" |