Spaces:
No application file
No application file
File size: 1,249 Bytes
b156b8a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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é
"""
@abstractmethod
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
|