@@ -32,10 +32,16 @@ def __repr__(self) -> str:
32
32
def __str__ (self ) -> str :
33
33
return f"Sapscript(default_window_title={ self .default_window_title } )"
34
34
35
- def launch_sap (self , * , root_sap_dir : Path = Path (r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui" ),
36
- sid : str , client : str ,
37
- user : str , password : str ,
38
- maximise : bool = True , quit_auto : bool = True ) -> None :
35
+ def launch_sap (self ,
36
+ sid : str ,
37
+ client : str ,
38
+ user : str ,
39
+ password : str ,
40
+ * ,
41
+ root_sap_dir : Path = Path (r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui" ),
42
+ maximise : bool = True ,
43
+ language : str = "en" ,
44
+ quit_auto : bool = True ) -> None :
39
45
"""
40
46
Launches SAP and waits for it to load
41
47
@@ -46,6 +52,7 @@ def launch_sap(self, *, root_sap_dir: Path = Path(r"C:\Program Files (x86)\SAP\F
46
52
user (str): SAP user
47
53
password (str): SAP password
48
54
maximise (bool): maximises window after start if True
55
+ language (str): SAP language
49
56
quit_auto (bool): quits automatically on SAP exit if True
50
57
51
58
Raises:
@@ -67,7 +74,8 @@ def launch_sap(self, *, root_sap_dir: Path = Path(r"C:\Program Files (x86)\SAP\F
67
74
client ,
68
75
user ,
69
76
password ,
70
- maximise
77
+ maximise ,
78
+ language
71
79
)
72
80
73
81
time .sleep (5 )
@@ -165,7 +173,7 @@ def open_new_window(self, window_to_handle_opening: window.Window) -> None:
165
173
utils .wait_for_window_title (self .default_window_title )
166
174
167
175
def _launch (self , working_dir : Path , sid : str , client : str ,
168
- user : str , password : str , maximise : bool ) -> None :
176
+ user : str , password : str , maximise : bool , language : str ) -> None :
169
177
"""
170
178
launches sap from sapshcut.exe
171
179
"""
@@ -174,8 +182,12 @@ def _launch(self, working_dir: Path, sid: str, client: str,
174
182
sap_executable = working_dir .joinpath ("sapshcut.exe" )
175
183
176
184
maximise_sap = "-max" if maximise else ""
177
- command = f"-system={ sid } -client={ client } " \
178
- f"-user={ user } -pw={ password } { maximise_sap } "
185
+ language_sap = f"-language={ language } " if language else ""
186
+
187
+ additional_args = " " .join ([maximise_sap , language_sap ])
188
+ command = " " .join ([f"-system={ sid } -client={ client } "
189
+ f"-user={ user } -pw={ password } " ,
190
+ additional_args ])
179
191
180
192
tryouts = 2
181
193
while tryouts > 0 :
0 commit comments