#!/usr/bin/env python3 # *************************************************************************** # * Authors: Alberto García (alberto.garcia@cnb.csic.es) # * Martín Salinas (martin.salinas@cnb.csic.es) # * # * # * This program is free software; you can redistribute it and/or modify # * it under the terms of the GNU General Public License as published by # * the Free Software Foundation; either version 2 of the License, or # * (at your option) any later version. # * # * This program is distributed in the hope that it will be useful, # * but WITHOUT ANY WARRANTY; without even the implied warranty of # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # * GNU General Public License for more details. # * # * You should have received a copy of the GNU General Public License # * along with this program; if not, write to the Free Software # * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # * 02111-1307 USA # * # * All comments concerning this program package may be sent to the # * e-mail address 'scipion@cnb.csic.es' # ***************************************************************************/ import os import shutil import subprocess import sys def __getProjectRootDir() -> str: """ ### Returns the root directory of Xmipp. #### Returns: - (str): Absolute path to Xmipp's root directory. """ return os.path.dirname(os.path.abspath(__file__)) ####################### MAIN EXECUTION THREAD ####################### if __name__ == "__main__": """ Calls main function when executed. """ # Running always under this own directory. os.chdir(__getProjectRootDir()) # Check if installer package is present if not shutil.which("xmipp3_installer"): print( "Xmipp's installer package \'xmipp3-installer\' is not installed.\n" "It is requied to continue.\n" "You can install it by running \'pip install xmipp3-installer\'.", flush=True ) sys.exit(1) # Call xmipp installer process = subprocess.run(["xmipp3_installer", *sys.argv[1:]]) sys.exit(process.returncode)