#!/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()