From 72f4a47176a168e4a8bb6c8380385901c568c902 Mon Sep 17 00:00:00 2001 From: Luke Simons <luke.simons@epfl.ch> Date: Fri, 7 Mar 2025 17:40:21 +0100 Subject: [PATCH] Added tcv_get_deploymentinfo.m --- matlab/TCV_IMAS/tcv_get_deploymentinfo.m | 55 ++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 matlab/TCV_IMAS/tcv_get_deploymentinfo.m diff --git a/matlab/TCV_IMAS/tcv_get_deploymentinfo.m b/matlab/TCV_IMAS/tcv_get_deploymentinfo.m new file mode 100644 index 0000000..576b97c --- /dev/null +++ b/matlab/TCV_IMAS/tcv_get_deploymentinfo.m @@ -0,0 +1,55 @@ +function info = tcv_get_deploymentinfo(filepath) + % Reads a deployment info file and extracts relevant details + % Author: L. Simons + % Date: 07/03/25 + % + % Args: + % filepath: Path to the text file + % + % Returns: + % info: Struct containing extracted information + + % Initialize output struct + info = struct(); + info.repository=fileparts(filepath); + + % Check if file exists + if exist(filepath, 'file') ~= 2 + error('File does not exist: %s', filepath); + end + + % Open file for reading + fid = fopen(filepath, 'r'); + if fid == -1 + error('Could not open file: %s', filepath); + end + + % Read file line by line + while ~feof(fid) + line = fgetl(fid); + if ischar(line) + tokens = regexp(line, '^(\w+):\s(.+)$', 'tokens'); + if ~isempty(tokens) + key = tokens{1}{1}; + value = strtrim(tokens{1}{2}); + + % Store relevant fields in the struct + switch key + case 'DEPLOYMENT_DATE' + info.deployment_date = value; + case 'GIT_TAG' + info.git_tag = value; + case 'GIT_COMMIT' + info.git_commit = value; + case 'GIT_TAG_DATE' + info.git_tag_date = value; + case 'GITLAB_PROJECT_URL' + info.gitlab_project_url = value; + end + end + end + end + + % Close the file + fclose(fid); +end -- GitLab