52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
import sys
|
|
from pathlib import Path
|
|
from datetime import date
|
|
|
|
|
|
def lire_version(path: Path):
|
|
if not path.exists():
|
|
return [1, 0, 0]
|
|
|
|
contenu = path.read_text(encoding="utf-8").strip().splitlines()
|
|
if not contenu:
|
|
return [1, 0, 0]
|
|
|
|
version_str = contenu[0].strip()
|
|
try:
|
|
parts = [int(x) for x in version_str.split(".")]
|
|
while len(parts) < 3:
|
|
parts.append(0)
|
|
return parts[:3]
|
|
except ValueError:
|
|
return [1, 0, 0]
|
|
|
|
|
|
def ecrire_version(path: Path, version):
|
|
version_str = ".".join(str(x) for x in version)
|
|
today = date.today().isoformat()
|
|
texte = f"{version_str}\n{today}\n"
|
|
path.write_text(texte, encoding="utf-8")
|
|
return version_str
|
|
|
|
|
|
def increment_patch(version):
|
|
version[2] += 1
|
|
return version
|
|
|
|
|
|
def main():
|
|
if len(sys.argv) < 2:
|
|
print("Usage : python maj_version.py chemin_du_VERSION.txt")
|
|
sys.exit(1)
|
|
|
|
version_file = Path(sys.argv[1])
|
|
version = lire_version(version_file)
|
|
version = increment_patch(version)
|
|
new_version_str = ecrire_version(version_file, version)
|
|
print(f"Nouvelle version : {new_version_str}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|