@@ -57,49 +57,73 @@ def __init__(self, host=None, port=4444, path=None, version=None, log_level="INF
5757 raise TypeError ("Not allowed to specify a version when using an existing server path" )
5858
5959 self .host = host
60- self .port = self ._validate_port (port )
61- self .path = self ._validate_path (path )
62- self .version = self ._validate_version (version )
63- self .log_level = self ._validate_log_level (log_level )
64- self .env = self ._validate_env (env )
65-
60+ self .port = port
61+ self .path = path
62+ self .version = version
63+ self .log_level = log_level
64+ self .env = env
6665 self .process = None
67- self .status_url = self ._get_status_url ()
6866
69- def _get_status_url (self ):
67+ @property
68+ def status_url (self ):
7069 host = self .host if self .host is not None else "localhost"
7170 return f"http://{ host } :{ self .port } /status"
7271
73- def _validate_path (self , path ):
72+ @property
73+ def path (self ):
74+ return self ._path
75+
76+ @path .setter
77+ def path (self , path ):
7478 if path and not os .path .exists (path ):
7579 raise OSError (f"Can't find server .jar located at { path } " )
76- return path
80+ self ._path = path
81+
82+ @property
83+ def port (self ):
84+ return self ._port
7785
78- def _validate_port (self , port ):
86+ @port .setter
87+ def port (self , port ):
7988 try :
8089 port = int (port )
8190 except ValueError :
8291 raise TypeError (f"{ __class__ .__name__ } .__init__() got an invalid port: '{ port } '" )
8392 if not (0 <= port <= 65535 ):
8493 raise ValueError ("port must be 0-65535" )
85- return port
94+ self . _port = port
8695
87- def _validate_version (self , version ):
96+ @property
97+ def version (self ):
98+ return self ._version
99+
100+ @version .setter
101+ def version (self , version ):
88102 if version :
89103 if not re .match (r"^\d+\.\d+\.\d+$" , str (version )):
90104 raise TypeError (f"{ __class__ .__name__ } .__init__() got an invalid version: '{ version } '" )
91- return version
105+ self ._version = version
106+
107+ @property
108+ def log_level (self ):
109+ return self ._log_level
92110
93- def _validate_log_level (self , log_level ):
111+ @log_level .setter
112+ def log_level (self , log_level ):
94113 levels = ("SEVERE" , "WARNING" , "INFO" , "CONFIG" , "FINE" , "FINER" , "FINEST" )
95114 if log_level not in levels :
96115 raise TypeError (f"log_level must be one of: { ', ' .join (levels )} " )
97- return log_level
116+ self ._log_level = log_level
117+
118+ @property
119+ def env (self ):
120+ return self ._env
98121
99- def _validate_env (self , env ):
122+ @env .setter
123+ def env (self , env ):
100124 if env is not None and not isinstance (env , collections .abc .Mapping ):
101125 raise TypeError ("env must be a mapping of environment variables" )
102- return env
126+ self . _env = env
103127
104128 def _wait_for_server (self , timeout = 10 ):
105129 start = time .time ()
0 commit comments