computer-use-ootb-internal 0.0.190__py3-none-any.whl → 0.0.192__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,109 +1,109 @@
1
- import os
2
- import platform
3
- import subprocess
4
- import logging
5
- from pathlib import Path
6
- import time
7
-
8
- log = logging.getLogger(__name__)
9
-
10
- def run_preparation(state):
11
- """
12
- Performs environment preparation specific to Word on Windows.
13
- Opens a specific template file located on the user's desktop and maximizes the window.
14
- Kills existing Word processes first.
15
- """
16
- if platform.system() != "Windows":
17
- log.warning("Word preparation skipped: Not running on Windows.")
18
- return
19
-
20
- log.info(f"Word preparation: Starting on Windows platform...")
21
-
22
- try:
23
- # Determine the desktop path for Windows
24
- try:
25
- username = os.environ.get("USERNAME", "")
26
- if not username:
27
- log.error("Could not determine Windows username from environment")
28
- return
29
-
30
- log.info(f"Using Windows username: {username}")
31
- desktop_path = Path(f"C:/Users/{username}/Desktop")
32
-
33
- if not desktop_path.exists():
34
- log.error(f"Desktop path not found at: {desktop_path}")
35
- alt_path = Path(f"C:/Documents and Settings/{username}/Desktop")
36
- if alt_path.exists():
37
- desktop_path = alt_path
38
- log.info(f"Using alternative desktop path: {desktop_path}")
39
- else:
40
- log.error("Failed to find user's desktop directory")
41
- return
42
-
43
- except Exception as e:
44
- log.error(f"Error determining Windows user desktop: {e}", exc_info=True)
45
- return
46
-
47
- # Construct path to template file
48
- template_file = desktop_path / "template.docx" # Changed extension
49
- log.info(f"Looking for template file at: {template_file}")
50
-
51
- template_exists = template_file.exists()
52
- if not template_exists:
53
- log.warning(f"Template file not found at: {template_file}. Will attempt to launch Word directly.")
54
-
55
- # --- Kill existing Word processes ---
56
- log.info("Attempting to close existing Microsoft Word processes...")
57
- try:
58
- # Command to forcefully terminate Word processes by image name
59
- kill_cmd = ['taskkill', '/F', '/IM', 'WINWORD.EXE'] # Changed process name
60
- kill_result = subprocess.run(kill_cmd,
61
- capture_output=True, text=True, check=False)
62
-
63
- # Check taskkill result
64
- if kill_result.returncode == 0:
65
- log.info("Successfully sent termination signal to WINWORD.EXE processes.")
66
- elif "not found" in kill_result.stderr.lower() or "not found" in kill_result.stdout.lower():
67
- log.info("No running WINWORD.EXE processes found to close.")
68
- else:
69
- log.warning(f"taskkill command finished with return code {kill_result.returncode}. Output: {kill_result.stdout} Stderr: {kill_result.stderr}")
70
- time.sleep(2)
71
- except FileNotFoundError:
72
- log.error("Error: 'taskkill' command not found. Make sure it's in the system PATH.")
73
- except Exception as e:
74
- log.error(f"Error occurred while trying to close Word: {e}", exc_info=True)
75
- # --- End of kill process ---
76
-
77
- # Open the file with Word maximized on Windows
78
- try:
79
- # Check if template exists and construct command accordingly
80
- if template_file.exists():
81
- log.info(f"Template file found. Attempting to open {template_file} with Word maximized...")
82
- cmd = ['cmd', '/c', 'start', '/max', 'winword', str(template_file)]
83
- else:
84
- log.info(f"Template file not found. Attempting to launch Word maximized...")
85
- cmd = ['cmd', '/c', 'start', '/max', 'winword']
86
-
87
- log.info(f"Executing command: {' '.join(cmd)}")
88
- print(f"[DEBUG] Attempting command in word_prepare: {' '.join(cmd)}")
89
- result = subprocess.run(cmd, check=False, capture_output=True, text=True, creationflags=subprocess.CREATE_NO_WINDOW)
90
-
91
- # ADDED PRINTS for result
92
- print(f"[DEBUG] word_prepare command result:")
93
- print(f"[DEBUG] Return Code: {result.returncode}")
94
- print(f"[DEBUG] Stdout: {result.stdout.strip() if result.stdout else ''}")
95
- print(f"[DEBUG] Stderr: {result.stderr.strip() if result.stderr else ''}")
96
-
97
- if result.returncode == 0:
98
- log.info(f"Successfully executed command for Word.")
99
- else:
100
- log.error(f"Error opening Word: {result.stderr.strip()}")
101
- if result.stdout:
102
- log.error(f"Stdout from start command: {result.stdout.strip()}")
103
- except FileNotFoundError:
104
- log.error("Error: 'cmd' or 'start' command not found. Ensure system PATH is configured correctly.")
105
- except Exception as e:
106
- log.error(f"Exception opening Word on Windows: {e}", exc_info=True)
107
-
108
- except Exception as e:
1
+ import os
2
+ import platform
3
+ import subprocess
4
+ import logging
5
+ from pathlib import Path
6
+ import time
7
+
8
+ log = logging.getLogger(__name__)
9
+
10
+ def run_preparation(state):
11
+ """
12
+ Performs environment preparation specific to Word on Windows.
13
+ Opens a specific template file located on the user's desktop and maximizes the window.
14
+ Kills existing Word processes first.
15
+ """
16
+ if platform.system() != "Windows":
17
+ log.warning("Word preparation skipped: Not running on Windows.")
18
+ return
19
+
20
+ log.info(f"Word preparation: Starting on Windows platform...")
21
+
22
+ try:
23
+ # Determine the desktop path for Windows
24
+ try:
25
+ username = os.environ.get("USERNAME", "")
26
+ if not username:
27
+ log.error("Could not determine Windows username from environment")
28
+ return
29
+
30
+ log.info(f"Using Windows username: {username}")
31
+ desktop_path = Path(f"C:/Users/{username}/Desktop")
32
+
33
+ if not desktop_path.exists():
34
+ log.error(f"Desktop path not found at: {desktop_path}")
35
+ alt_path = Path(f"C:/Documents and Settings/{username}/Desktop")
36
+ if alt_path.exists():
37
+ desktop_path = alt_path
38
+ log.info(f"Using alternative desktop path: {desktop_path}")
39
+ else:
40
+ log.error("Failed to find user's desktop directory")
41
+ return
42
+
43
+ except Exception as e:
44
+ log.error(f"Error determining Windows user desktop: {e}", exc_info=True)
45
+ return
46
+
47
+ # Construct path to template file
48
+ template_file = desktop_path / "template.docx" # Changed extension
49
+ log.info(f"Looking for template file at: {template_file}")
50
+
51
+ template_exists = template_file.exists()
52
+ if not template_exists:
53
+ log.warning(f"Template file not found at: {template_file}. Will attempt to launch Word directly.")
54
+
55
+ # --- Kill existing Word processes ---
56
+ log.info("Attempting to close existing Microsoft Word processes...")
57
+ try:
58
+ # Command to forcefully terminate Word processes by image name
59
+ kill_cmd = ['taskkill', '/F', '/IM', 'WINWORD.EXE'] # Changed process name
60
+ kill_result = subprocess.run(kill_cmd,
61
+ capture_output=True, text=True, check=False)
62
+
63
+ # Check taskkill result
64
+ if kill_result.returncode == 0:
65
+ log.info("Successfully sent termination signal to WINWORD.EXE processes.")
66
+ elif "not found" in kill_result.stderr.lower() or "not found" in kill_result.stdout.lower():
67
+ log.info("No running WINWORD.EXE processes found to close.")
68
+ else:
69
+ log.warning(f"taskkill command finished with return code {kill_result.returncode}. Output: {kill_result.stdout} Stderr: {kill_result.stderr}")
70
+ time.sleep(2)
71
+ except FileNotFoundError:
72
+ log.error("Error: 'taskkill' command not found. Make sure it's in the system PATH.")
73
+ except Exception as e:
74
+ log.error(f"Error occurred while trying to close Word: {e}", exc_info=True)
75
+ # --- End of kill process ---
76
+
77
+ # Open the file with Word maximized on Windows
78
+ try:
79
+ # Check if template exists and construct command accordingly
80
+ if template_file.exists():
81
+ log.info(f"Template file found. Attempting to open {template_file} with Word maximized...")
82
+ cmd = ['cmd', '/c', 'start', '/max', 'winword', str(template_file)]
83
+ else:
84
+ log.info(f"Template file not found. Attempting to launch Word maximized...")
85
+ cmd = ['cmd', '/c', 'start', '/max', 'winword']
86
+
87
+ log.info(f"Executing command: {' '.join(cmd)}")
88
+ print(f"[DEBUG] Attempting command in word_prepare: {' '.join(cmd)}")
89
+ result = subprocess.run(cmd, check=False, capture_output=True, text=True, creationflags=subprocess.CREATE_NO_WINDOW)
90
+
91
+ # ADDED PRINTS for result
92
+ print(f"[DEBUG] word_prepare command result:")
93
+ print(f"[DEBUG] Return Code: {result.returncode}")
94
+ print(f"[DEBUG] Stdout: {result.stdout.strip() if result.stdout else ''}")
95
+ print(f"[DEBUG] Stderr: {result.stderr.strip() if result.stderr else ''}")
96
+
97
+ if result.returncode == 0:
98
+ log.info(f"Successfully executed command for Word.")
99
+ else:
100
+ log.error(f"Error opening Word: {result.stderr.strip()}")
101
+ if result.stdout:
102
+ log.error(f"Stdout from start command: {result.stdout.strip()}")
103
+ except FileNotFoundError:
104
+ log.error("Error: 'cmd' or 'start' command not found. Ensure system PATH is configured correctly.")
105
+ except Exception as e:
106
+ log.error(f"Exception opening Word on Windows: {e}", exc_info=True)
107
+
108
+ except Exception as e:
109
109
  log.error(f"An unexpected error occurred during Word preparation: {e}", exc_info=True)