diff --git a/ApplicationCode/GrpcInterface/Python/rips/Instance.py b/ApplicationCode/GrpcInterface/Python/rips/Instance.py index 2b1398e1b5..c1902e7fae 100644 --- a/ApplicationCode/GrpcInterface/Python/rips/Instance.py +++ b/ApplicationCode/GrpcInterface/Python/rips/Instance.py @@ -33,33 +33,33 @@ class Instance: return s.connect_ex(('localhost', port)) == 0 @staticmethod - def launch(resInsightExecutable = '', console = False, launchPort = -1, commandLineParameters=[]): + def launch(resinsight_executable = '', console = False, launch_port = -1, command_line_parameters=[]): """ Launch a new Instance of ResInsight. This requires the environment variable - RESINSIGHT_EXECUTABLE to be set or the parameter resInsightExecutable to be provided. + RESINSIGHT_EXECUTABLE to be set or the parameter resinsight_executable to be provided. The RESINSIGHT_GRPC_PORT environment variable can be set to an alternative port number. Args: - resInsightExecutable (str): Path to a valid ResInsight executable. If set + resinsight_executable (str): Path to a valid ResInsight executable. If set will take precedence over what is provided in the RESINSIGHT_EXECUTABLE environment variable. console (bool): If True, launch as console application, without GUI. - launchPort(int): If -1 will use the default port of 50051 or look for RESINSIGHT_GRPC_PORT + launch_port(int): If -1 will use the default port of 50051 or look for RESINSIGHT_GRPC_PORT if anything else, ResInsight will try to launch with this port - commandLineParameters(list): Additional command line parameters as string entries in the list. + command_line_parameters(list): Additional command line parameters as string entries in the list. Returns: Instance: an instance object if it worked. None if not. """ port = 50051 - portEnv = os.environ.get('RESINSIGHT_GRPC_PORT') - if portEnv: - port = int(portEnv) - if launchPort is not -1: - port = launchPort + port_env = os.environ.get('RESINSIGHT_GRPC_PORT') + if port_env: + port = int(port_env) + if launch_port is not -1: + port = launch_port - if not resInsightExecutable: - resInsightExecutable = os.environ.get('RESINSIGHT_EXECUTABLE') - if not resInsightExecutable: + if not resinsight_executable: + resinsight_executable = os.environ.get('RESINSIGHT_EXECUTABLE') + if not resinsight_executable: print('ERROR: Could not launch ResInsight because the environment variable' ' RESINSIGHT_EXECUTABLE is not set') return None @@ -68,12 +68,12 @@ class Instance: port += 1 print('Port ' + str(port)) - print('Trying to launch', resInsightExecutable) + print('Trying to launch', resinsight_executable) - if isinstance(commandLineParameters, str): - commandLineParameters = [str] + if isinstance(command_line_parameters, str): + command_line_parameters = [str] - parameters = ["ResInsight", "--server", str(port)] + commandLineParameters + parameters = ["ResInsight", "--server", str(port)] + command_line_parameters if console: print("Launching as console app") parameters.append("--console") @@ -82,14 +82,14 @@ class Instance: for i in range(0, len(parameters)): parameters[i] = str(parameters[i]) - pid = os.spawnv(os.P_NOWAIT, resInsightExecutable, parameters) + pid = os.spawnv(os.P_NOWAIT, resinsight_executable, parameters) if pid: instance = Instance(port=port, launched=True) return instance return None @staticmethod - def find(startPort = 50051, endPort = 50071): + def find(start_port = 50051, end_port = 50071): """ Search for an existing Instance of ResInsight by testing ports. By default we search from port 50051 to 50071 or if the environment @@ -97,27 +97,27 @@ class Instance: RESINSIGHT_GRPC_PORT to RESINSIGHT_GRPC_PORT+20 Args: - startPort (int): start searching from this port - endPort (int): search up to but not including this port + start_port (int): start searching from this port + end_port (int): search up to but not including this port """ - portEnv = os.environ.get('RESINSIGHT_GRPC_PORT') - if portEnv: - startPort = int(portEnv) - endPort = startPort + 20 + port_env = os.environ.get('RESINSIGHT_GRPC_PORT') + if port_env: + start_port = int(port_env) + end_port = start_port + 20 - for tryPort in range(startPort, endPort): - if Instance.__is_port_in_use(tryPort): - return Instance(port=tryPort) + for try_port in range(start_port, end_port): + if Instance.__is_port_in_use(try_port): + return Instance(port=try_port) - print('Error: Could not find any ResInsight instances responding between ports ' + str(startPort) + ' and ' + str(endPort)) + print('Error: Could not find any ResInsight instances responding between ports ' + str(start_port) + ' and ' + str(end_port)) return None - def __checkVersion(self): + def __check_version(self): try: - majorVersionOk = self.majorVersion() == int(RiaVersionInfo.RESINSIGHT_MAJOR_VERSION) - minorVersionOk = self.minorVersion() == int(RiaVersionInfo.RESINSIGHT_MINOR_VERSION) - return True, majorVersionOk and minorVersionOk - except grpc.RpcError as e: + major_version_ok = self.major_version() == int(RiaVersionInfo.RESINSIGHT_MAJOR_VERSION) + minor_version_ok = self.minor_version() == int(RiaVersionInfo.RESINSIGHT_MINOR_VERSION) + return True, major_version_ok and minor_version_ok + except: return False, False def __init__(self, port = 50051, launched = False): @@ -135,25 +135,25 @@ class Instance: # Main version check package self.app = self.app = App_pb2_grpc.AppStub(self.channel) - connectionOk = False - versionOk = False + connection_ok = False + version_ok = False if self.launched: for i in range(0, 10): - connectionOk, versionOk = self.__checkVersion() - if connectionOk: + connection_ok, version_ok = self.__check_version() + if connection_ok: break time.sleep(1.0) else: - connectionOk, versionOk = self.__checkVersion() + connection_ok, version_ok = self.__check_version() - if not connectionOk: + if not connection_ok: if self.launched: raise Exception('Error: Could not connect to resinsight at ', location, ' after trying 10 times with 1 second apart') else: raise Exception('Error: Could not connect to resinsight at ', location) exit(1) - if not versionOk: + if not version_ok: raise Exception('Error: Wrong Version of ResInsight at ', location) # Service packages @@ -163,34 +163,34 @@ class Instance: path = os.getcwd() self.commands.set_start_dir(path=path) - def __versionMessage(self): + def __version_message(self): return self.app.GetVersion(Empty()) - def majorVersion(self): + def major_version(self): """Get an integer with the major version number""" - return self.__versionMessage().major_version + return self.__version_message().major_version - def minorVersion(self): + def minor_version(self): """Get an integer with the minor version number""" - return self.__versionMessage().minor_version + return self.__version_message().minor_version - def patchVersion(self): + def patch_version(self): """Get an integer with the patch version number""" - return self.__versionMessage().patch_version + return self.__version_message().patch_version - def versionString(self): + def version_string(self): """Get a full version string, i.e. 2019.04.01""" - return str(self.majorVersion()) + "." + str(self.minorVersion()) + "." + str(self.patchVersion()) + return str(self.major_version()) + "." + str(self.minor_version()) + "." + str(self.patch_version()) def exit(self): """Tell ResInsight instance to quit""" print("Telling ResInsight to Exit") return self.app.Exit(Empty()) - def isConsole(self): + def is_console(self): """Returns true if the connected ResInsight instance is a console app""" return self.app.GetRuntimeInfo(Empty()).app_type == App_pb2.ApplicationTypeEnum.Value('CONSOLE_APPLICATION') - def isGui(self): + def is_gui(self): """Returns true if the connected ResInsight instance is a GUI app""" return self.app.GetRuntimeInfo(Empty()).app_type == App_pb2.ApplicationTypeEnum.Value('GUI_APPLICATION') diff --git a/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/AppInfo.py b/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/AppInfo.py index e3e0a9a76a..06ee6e6a66 100644 --- a/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/AppInfo.py +++ b/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/AppInfo.py @@ -2,5 +2,5 @@ import rips resinsight = rips.Instance.find() if resinsight is not None: - print(resinsight.versionString()) - print("Is this a console run?", resinsight.isConsole()) + print(resinsight.version_string()) + print("Is this a console run?", resinsight.is_console()) diff --git a/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/LaunchWithCommandLineOptions.py b/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/LaunchWithCommandLineOptions.py index 905f72d1c6..f6b85def3c 100644 --- a/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/LaunchWithCommandLineOptions.py +++ b/ApplicationCode/GrpcInterface/Python/rips/PythonExamples/LaunchWithCommandLineOptions.py @@ -1,7 +1,7 @@ # Load ResInsight Processing Server Client Library import rips # Launch ResInsight with last project file and a Window size of 600x1000 pixels -resinsight = rips.Instance.launch(commandLineParameters=['--last', '--size', 600, 1000]) +resinsight = rips.Instance.launch(command_line_parameters=['--last', '--size', 600, 1000]) # Get a list of all cases cases = resinsight.project.cases()