Source code for pyphyschemtools.quantumChem_corner.wrappers

import subprocess
import os
import sys

[docs] def run_script(subfolder, filename): """Fonction générique pour lancer un script Bash ou un binaire Fortran.""" # Localise le fichier à l'intérieur du package installé base_path = os.path.dirname(__file__) file_path = os.path.join(base_path, subfolder, filename) if not os.path.exists(file_path): print(f"Erreur : {filename} introuvable dans {file_path}") sys.exit(1) # Exécute le fichier en passant tous les arguments reçus (sys.argv) try: # Pour les scripts Bash, on force l'usage de bash au cas où le bit d'exécution serait perdu if subfolder == "bash_scripts": cmd = ["bash", file_path] + sys.argv[1:] else: cmd = [file_path] + sys.argv[1:] subprocess.run(cmd) except KeyboardInterrupt: sys.exit(0)
# Wrappers pour les scripts Bash
[docs] def vasp_cv(): run_script("bash_scripts", "VASPcv")
[docs] def restart_vasp(): run_script("bash_scripts", "RestartVASP")
[docs] def cp_g(): run_script("bash_scripts", "cpG")
[docs] def cp_vasp(): run_script("bash_scripts", "cpVASP")
[docs] def clean_vasp(): run_script("bash_scripts", "cleanVASPf")
[docs] def g_parser(): run_script("bash_scripts", "GParser")
[docs] def h_vasp(): run_script("bash_scripts", "hVASP")
[docs] def gp2bw(): run_script("bash_scripts", "GP2bw")
# Wrappers pour les binaires Fortran
[docs] def manip_cell(): run_script("bin", "ManipCell")
[docs] def thermo_vasp(): run_script("bin", "ThermoWithVASP")
[docs] def vib_vasp(): run_script("bin", "vibVASP")
[docs] def sel4vib_vasp(): run_script("bin", "sel4vibVASP")
[docs] def select_lobster(): run_script("bin", "selectLOBSTER")