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.
- computer_use_ootb_internal/app_teachmode.py +668 -668
- computer_use_ootb_internal/computer_use_demo/animation/test_animation.py +39 -39
- computer_use_ootb_internal/guard_service.py +977 -977
- computer_use_ootb_internal/preparation/excel_prepare.py +108 -108
- computer_use_ootb_internal/preparation/powerpoint_prepare.py +110 -110
- computer_use_ootb_internal/preparation/pr_prepare.py +112 -111
- computer_use_ootb_internal/preparation/star_rail_prepare.py +99 -99
- computer_use_ootb_internal/preparation/word_prepare.py +108 -108
- computer_use_ootb_internal/run_teachmode_ootb_args.py +237 -237
- computer_use_ootb_internal/service_manager.py +194 -194
- computer_use_ootb_internal/signal_connection.py +47 -47
- computer_use_ootb_internal/test_autogui.py +104 -104
- {computer_use_ootb_internal-0.0.190.dist-info → computer_use_ootb_internal-0.0.192.dist-info}/METADATA +9 -8
- {computer_use_ootb_internal-0.0.190.dist-info → computer_use_ootb_internal-0.0.192.dist-info}/RECORD +16 -16
- computer_use_ootb_internal-0.0.192.dist-info/entry_points.txt +4 -0
- computer_use_ootb_internal-0.0.190.dist-info/entry_points.txt +0 -2
- {computer_use_ootb_internal-0.0.190.dist-info → computer_use_ootb_internal-0.0.192.dist-info}/WHEEL +0 -0
@@ -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)
|