changed the way on how to get the version to a json file, added helper to libreftit
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import json
|
||||||
|
|
||||||
from .refit_logger import logger
|
from .refit_logger import logger
|
||||||
|
|
||||||
@@ -247,3 +248,30 @@ def create_parallel_directories(input_path: str, target_depth: int, width: int,
|
|||||||
current_depth=0,
|
current_depth=0,
|
||||||
name=name,
|
name=name,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_version_from_file(input_path) -> str:
|
||||||
|
"""Returns the version of the program.
|
||||||
|
|
||||||
|
The function accepts an path to a version file as a string and it
|
||||||
|
returns it version number formatted.
|
||||||
|
|
||||||
|
Arg:
|
||||||
|
input_path (str): The absolute or relative path to the
|
||||||
|
version file.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
>>>get_version_from_file("/path/to/file.json")
|
||||||
|
'0.2.1'"""
|
||||||
|
# Expands the input path
|
||||||
|
expanded_path = os.path.expanduser(input_path)
|
||||||
|
|
||||||
|
# Opening the file and reading its contents, saving as as an dict.
|
||||||
|
file_path = open(expanded_path)
|
||||||
|
prog_version = json.load(file_path)
|
||||||
|
|
||||||
|
# Formatting the output before returning the string again
|
||||||
|
pretty_version = (
|
||||||
|
f"{prog_version['major']}.{prog_version['minor']}.{prog_version['patch']}"
|
||||||
|
)
|
||||||
|
return pretty_version
|
||||||
|
|||||||
@@ -1,43 +1,14 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
import os
|
|
||||||
import configparser
|
|
||||||
|
|
||||||
from modules.refit_logger import logger
|
from modules.refit_logger import logger
|
||||||
from modules.refit_create import Refit_Create
|
from modules.refit_create import Refit_Create
|
||||||
|
from modules.librefit import get_version_from_file
|
||||||
|
|
||||||
|
# NOTE: The final version file needs a dedicated place to live in
|
||||||
CONFIG_FILE = "version.cfg"
|
# so the version number is always readable, independent from where it
|
||||||
|
# is executed
|
||||||
|
REFIT_VERSION = get_version_from_file("~/Documents/git/python/refit/src/version.json")
|
||||||
def read_version_config():
|
|
||||||
# logger.debug(f"Start read_version_config() with config file: {CONFIG_FILE}")
|
|
||||||
config = configparser.ConfigParser()
|
|
||||||
config.read(CONFIG_FILE)
|
|
||||||
|
|
||||||
if not os.path.exists(CONFIG_FILE):
|
|
||||||
# logger.error(
|
|
||||||
# f"FUNC: read_version_config() MSG: Could not find config file '{CONFIG_FILE}'"
|
|
||||||
# )
|
|
||||||
return "x.x.x"
|
|
||||||
|
|
||||||
if "VERSION" not in config:
|
|
||||||
# logger.error(f"Could not find VERSION-variable in config file '{CONFIG_FILE}'")
|
|
||||||
return "x.x.x"
|
|
||||||
|
|
||||||
try:
|
|
||||||
v = config["VERSION"]
|
|
||||||
major = v.get("major", "0")
|
|
||||||
minor = v.get("minor", "0")
|
|
||||||
patch = v.get("patch", "0")
|
|
||||||
# logger.debug(f"Config file read successfully. Version: {major}.{minor}.{patch}")
|
|
||||||
return f"{major}.{minor}.{patch}"
|
|
||||||
except Exception:
|
|
||||||
# logger.warning("Couldn not read version from config file")
|
|
||||||
return "x.x.x"
|
|
||||||
|
|
||||||
|
|
||||||
REFIT_VERSION = f"Refit Beta {read_version_config()}"
|
|
||||||
|
|
||||||
# ---------------------------ARGPARSE START---------------------------
|
# ---------------------------ARGPARSE START---------------------------
|
||||||
|
|
||||||
|
|||||||
5
refit/src/version.json
Normal file
5
refit/src/version.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"minor": 3,
|
||||||
|
"major": 0,
|
||||||
|
"patch": 8
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user