Spaces:
No application file
No application file
| from abc import ABC, abstractmethod | |
| class CodeExecutorInterface(ABC): | |
| """ | |
| Interface pour l'exécution de code avec un fichier externe (local ou distant). | |
| Cette interface définit un contrat pour exécuter du code dans un langage donné, | |
| en lui fournissant un fichier d'entrée via : | |
| - file_path=<chemin_local> | |
| - file_name=<nom_distant> (téléchargé depuis un service comme HuggingFace) | |
| La classe implémentant cette interface doit : | |
| - Extraire le code et le nom/chemin du fichier | |
| - Résoudre le fichier localement (ou le télécharger) | |
| - Injecter le chemin dans l'environnement d'exécution (variable 'file_path') | |
| - Retourner la sortie du code exécuté | |
| """ | |
| def run_code_with_file(self, code_and_file: str) -> str: | |
| """ | |
| Exécute du code avec un fichier fourni soit localement soit à télécharger. | |
| L'entrée doit contenir : | |
| - du code (par exemple en Python) | |
| - et une ligne : file_path=<chemin> OU file_name=<nom_distant> | |
| Args: | |
| code_and_file (str): Le code source + l'indication du fichier | |
| Returns: | |
| str: La sortie du code exécuté, ou un message d'erreur | |
| """ | |
| pass | |