########################################################################### # # Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file update_paths.py # # @date 18-Jun-2020 # @author Peter Lucia # # @brief This script sets up squish qt to use the testsuites virtualenv # ############################################################################ from configparser import ConfigParser import os import shutil SQUISH_QT_INSTALL_DIR="/home/denali/squish-for-qt-6.5-20191031-1443" filepath = os.path.join(SQUISH_QT_INSTALL_DIR, "etc/paths.ini") current_file_dir = os.path.abspath(os.path.join(os.path.dirname(__file__))) i = 0 while os.path.exists(os.path.join(current_file_dir, "paths.ini.BAK{0}".format(i))): i += 1 backup_path = os.path.join(current_file_dir, "paths.ini.BAK{0}".format(i)) parent_dir = os.path.abspath(os.path.join(current_file_dir, "..")) venv_dir = os.path.join(parent_dir, "venv") paths_original = { "Paths": { "Scripting/PythonHome" : "\"@(SQUISH_PREFIX)/python\"", "LibraryPath" : "\"@(SQUISH_PREFIX)/lib:@(SQUISH_PREFIX)/perl/lib/perl5/5.22.0/x86_64-linux/CORE:@(SQUISH_PREFIX)/python/lib:@(SQUISH_PREFIX)/ruby/lib:@(SQUISH_PREFIX)/tcl/lib\"" } } paths_new = { "Paths": { "Scripting/PythonHome" : "\"{0}\"".format(venv_dir), "LibraryPath" : "\"@(SQUISH_PREFIX)/lib:@(SQUISH_PREFIX)/perl/lib/perl5/5.22.0/x86_64-linux/CORE:@(SQUISH_PREFIX)/ruby/lib:@(SQUISH_PREFIX)/tcl/lib\"" } } try: shutil.copyfile(filepath, backup_path) config = ConfigParser() config.optionxform=str # ensure case sensitive config.read(filepath) config["Paths"]["Scripting/PythonHome"] = paths_new["Paths"]["Scripting/PythonHome"] config["Paths"]["LibraryPath"] = paths_new["Paths"]["LibraryPath"] with open(filepath, 'w') as f: config.write(f) print("Success.") except Exception as e: print("Error, are the paths correct?")