|
""" |
|
🧭 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]: |
|
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)}" |