⚡ - sauvegarde automatique de l'avancement du livre
This commit is contained in:
parent
ef801609cb
commit
7ae7d5915b
7 changed files with 286 additions and 40 deletions
76
fix_csv_execution_improved.py
Normal file
76
fix_csv_execution_improved.py
Normal file
|
@ -0,0 +1,76 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script pour ajouter un en-tête Python au début d'un fichier CSV afin qu'il
|
||||
puisse être exécuté directement sans erreur et affiche un message d'aide.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
def fix_csv_file(csv_file_path):
|
||||
"""
|
||||
Ajoute un en-tête Python au début du fichier CSV pour gérer l'exécution directe.
|
||||
"""
|
||||
if not os.path.exists(csv_file_path):
|
||||
print(f"Erreur: Le fichier {csv_file_path} n'existe pas.")
|
||||
return False
|
||||
|
||||
# Lire le contenu actuel du fichier
|
||||
with open(csv_file_path, 'r') as f:
|
||||
content = f.read()
|
||||
|
||||
# Vérifier si le fichier commence déjà par le script Python
|
||||
if content.startswith('#!/usr/bin/env python3'):
|
||||
print(f"Le fichier {csv_file_path} est déjà protégé.")
|
||||
return True
|
||||
|
||||
# En-tête Python à ajouter au début du fichier
|
||||
python_header = '''#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Ce fichier est un CSV contenant des données de suivi de livre.
|
||||
Il n'est pas destiné à être exécuté directement comme un script Python.
|
||||
|
||||
Pour analyser ces données, utilisez plutôt:
|
||||
- follow_progress.py: pour mettre à jour et analyser les statistiques
|
||||
- generate_dashboard.py: pour générer un tableau de bord visuel
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
def main():
|
||||
print("Ce fichier est un CSV contenant des données de suivi de livre.")
|
||||
print("Il n'est pas destiné à être exécuté directement comme un script Python.")
|
||||
print("\\nPour analyser ces données, utilisez plutôt:")
|
||||
print("- follow_progress.py: pour mettre à jour et analyser les statistiques")
|
||||
print("- generate_dashboard.py: pour générer un tableau de bord visuel")
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
|
||||
# Les données CSV commencent ci-dessous:
|
||||
'''
|
||||
|
||||
# Ajouter l'en-tête Python au début du fichier
|
||||
with open(csv_file_path, 'w') as f:
|
||||
f.write(python_header)
|
||||
f.write(content)
|
||||
|
||||
print(f"Le fichier {csv_file_path} a été protégé contre l'exécution directe.")
|
||||
return True
|
||||
|
||||
def main():
|
||||
"""
|
||||
Fonction principale.
|
||||
"""
|
||||
# Utiliser le fichier spécifié en argument ou par défaut 'suivi_livre.csv'
|
||||
if len(sys.argv) > 1:
|
||||
csv_file = sys.argv[1]
|
||||
else:
|
||||
csv_file = 'suivi_livre.csv'
|
||||
|
||||
fix_csv_file(csv_file)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue