#!/usr/bin/env python import re import argparse def extract_content(file_path): with open(file_path, 'r', encoding='utf-8') as file: content = file.read() # Utiliser une expression régulière pour trouver le contenu entre les balises et #think_pattern = r'(.*?)' think_pattern = r'Thinking\.\.\.(.*?)\.\.\.done thinking\.' think_matches = re.findall(think_pattern, content, re.DOTALL) # Nettoyer les résultats pour enlever les espaces superflus extracted_think = [match.strip() for match in think_matches] # Utiliser une expression régulière pour trouver le contenu YAML entre les balises ```yaml et ``` yaml_pattern = r'```yaml(.*?)```' yaml_matches = re.findall(yaml_pattern, content, re.DOTALL) # Nettoyer les résultats pour enlever les espaces superflus extracted_yaml = [match.strip() for match in yaml_matches] # Supprimer le contenu YAML et du texte complet markdown_content = re.sub(yaml_pattern, '', content, flags=re.DOTALL) markdown_content = re.sub(think_pattern, '', markdown_content, flags=re.DOTALL) return extracted_think, extracted_yaml, markdown_content.strip() def main(): # Configuration de l'analyseur d'arguments parser = argparse.ArgumentParser(description='Extraire le contenu d\'un fichier texte.') parser.add_argument('file_path', type=str, help='Chemin vers le fichier texte à analyser.') group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--think', action='store_true', help='Afficher le contenu de la balise .') group.add_argument('--explanation', action='store_true', help='Afficher le reste du Markdown sans le code YAML et .') group.add_argument('--yaml', action='store_true', help='Afficher le contenu YAML.') # Analyse des arguments args = parser.parse_args() # Extraction du contenu extracted_think, extracted_yaml, markdown_content = extract_content(args.file_path) if args.think: # Affichage du contenu de la balise if extracted_think: print(extracted_think[0]) else: print("Aucun contenu trouvé entre les balises et .") elif args.yaml: # Affichage du contenu YAML if extracted_yaml: print(extracted_yaml[0]) else: print("Aucun contenu YAML trouvé.") elif args.explanation: # Affichage du reste du Markdown sans le code YAML et print(markdown_content) if __name__ == "__main__": main()