# créer une structure de livre orgmode selon des contraintes données # python structure_generator.py --objective_words 1000 --objective_chapter 2000 --number_chapters 10 --number_parts 4 --save_livre True import argparse parser = argparse.ArgumentParser(description='Générer un livre avec des chapitres et des parties.') parser.add_argument('--objective_words', type=int, default=500, help='le nombre de mots par chapitre (par défaut 500)') parser.add_argument('--objective_chapter', type=int, default=1500, help='le nombre de mots par chapitre (par défaut 1500)') parser.add_argument('--number_chapters', type=int, default=5, help='le nombre de chapitres (par défaut 5)') parser.add_argument('--number_parts', type=int, default=3, help='le nombre de parties (par défaut 3)') parser.add_argument('--save_livre', type=bool, default=False, help='si le fichier "livre.org" doit être écrasé avec la nouvelle structure générée (par défaut False)') args = parser.parse_args() print(args) book_content = '' for i in range(args.number_chapters): book_content += f"\n\n** Chapitre {i+1} :title:target_{args.objective_words}:" for j in range(args.number_parts): book_content += f"\n\n*** Chapitre {i+1} - Partie {j+1} :title:target_{args.objective_words}:" print("--------------") print(book_content) print("--------------") if args.save_livre: now = datetime.datetime.now() date_string = now.strftime("%Y-%m-%d_%H-%M-%S") backup_file_path = f"{date_string}__livre.org" os.copy("livre.org", backup_file_path) with open('livre.org', 'w') as f: f.write(book_content) print("Livres sauvegardé sous le nom de livre.txt") else: print("Vous pouvez copier cette cascade de parties de livre dans livre.org")