pycoze 0.1.256__py3-none-any.whl → 0.1.258__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.
- pycoze/api/__init__.py +0 -1
- pycoze/api/api.py +1 -3
- pycoze/api/lib/__init__.py +0 -0
- pycoze/api/{window_cls.py → lib/window_cls.py} +5 -10
- {pycoze-0.1.256.dist-info → pycoze-0.1.258.dist-info}/METADATA +1 -1
- {pycoze-0.1.256.dist-info → pycoze-0.1.258.dist-info}/RECORD +9 -9
- pycoze/api/tab_cls.py +0 -103
- {pycoze-0.1.256.dist-info → pycoze-0.1.258.dist-info}/LICENSE +0 -0
- {pycoze-0.1.256.dist-info → pycoze-0.1.258.dist-info}/WHEEL +0 -0
- {pycoze-0.1.256.dist-info → pycoze-0.1.258.dist-info}/top_level.txt +0 -0
pycoze/api/__init__.py
CHANGED
pycoze/api/api.py
CHANGED
File without changes
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import sys
|
2
2
|
import subprocess
|
3
3
|
import os
|
4
|
-
from
|
5
|
-
import time
|
4
|
+
from pycoze import utils
|
6
5
|
|
7
6
|
|
7
|
+
socket = utils.socket
|
8
|
+
|
8
9
|
class WindowCls:
|
9
10
|
|
10
11
|
def get_slected_text(self) -> str:
|
@@ -16,14 +17,8 @@ class WindowCls:
|
|
16
17
|
message = repr(message)
|
17
18
|
socket.post("append-msg", {"message": message, "type": type})
|
18
19
|
|
19
|
-
def
|
20
|
-
socket.
|
21
|
-
|
22
|
-
def screenshot(self, name):
|
23
|
-
socket.post("screenshot", {"name": name})
|
24
|
-
|
25
|
-
def confirm(self, message: str) -> bool:
|
26
|
-
return socket.post_and_recv_result("confirm", {"message": message})
|
20
|
+
def confirm(self, title:str, message: str) -> bool:
|
21
|
+
return socket.post_and_recv_result("confirm", {"title":title, "message": message})
|
27
22
|
|
28
23
|
def maximize(self):
|
29
24
|
socket.post("maximize", {})
|
@@ -5,10 +5,10 @@ pycoze/ai/llm/__init__.py,sha256=5_AnOrzXI2V6ZZsLUWW1v5ATRWmJy53JLN9jfSZQXCg,249
|
|
5
5
|
pycoze/ai/llm/chat.py,sha256=izriC7nCp5qeJRqcUVQBVqTHiH6MJS77ROzGBJufdNI,5133
|
6
6
|
pycoze/ai/llm/text_to_image_prompt.py,sha256=0bx2C_YRvjAo7iphHGp1-pmGKsKqwur7dM0t3SiA8kA,3398
|
7
7
|
pycoze/ai/llm/think.py,sha256=sUgTBdGzcZtL3r-Wx8M3lDuVUmDVz8g3qC0VU8uiKAI,5143
|
8
|
-
pycoze/api/__init__.py,sha256=
|
9
|
-
pycoze/api/api.py,sha256=
|
10
|
-
pycoze/api/
|
11
|
-
pycoze/api/window_cls.py,sha256=
|
8
|
+
pycoze/api/__init__.py,sha256=Bb7Trv4y5vti-Tt_4fiu7Zfr1HF_vuxASHReLiUHXn4,137
|
9
|
+
pycoze/api/api.py,sha256=OPLp4t4szP4azCTEBNEHO9CIDl9JrmfZPK9mONpvQC0,137
|
10
|
+
pycoze/api/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
+
pycoze/api/lib/window_cls.py,sha256=ZaFNTWOHoOuWrUdyIykf1HVbSkcvhiCEnl1VtiRev8A,1615
|
12
12
|
pycoze/bot/__init__.py,sha256=JxnRoCCqx_LFyVb3pLu0qYCsH8ZLuAaMXAtvVUuCHuE,78
|
13
13
|
pycoze/bot/agent_chat.py,sha256=ARXXsIVCTpmBojz2C4BR69nB0QhM6gkEngL3iq34JPo,4178
|
14
14
|
pycoze/bot/bot.py,sha256=_qmUTZ09FmRLifHrW5stDZWGVK6yuMEMBC3fmeYJnqk,844
|
@@ -34,8 +34,8 @@ pycoze/utils/arg.py,sha256=jop1tBfe5hYkHW1NSpCeaZBEznkgguBscj_7M2dWfrs,503
|
|
34
34
|
pycoze/utils/env.py,sha256=5pWlXfM1F5ZU9hhv1rHlDEanjEW5wf0nbyez9bNRqqA,559
|
35
35
|
pycoze/utils/socket.py,sha256=yyYgx7G40x58sV466OQH0vj3i55xgR3uMDEjbQMbGks,2413
|
36
36
|
pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
|
37
|
-
pycoze-0.1.
|
38
|
-
pycoze-0.1.
|
39
|
-
pycoze-0.1.
|
40
|
-
pycoze-0.1.
|
41
|
-
pycoze-0.1.
|
37
|
+
pycoze-0.1.258.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
|
38
|
+
pycoze-0.1.258.dist-info/METADATA,sha256=DHU2Z8VXIsTpL06l_ZuhaW8NZhB9RB-dpe_S2VnIvVk,699
|
39
|
+
pycoze-0.1.258.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
40
|
+
pycoze-0.1.258.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
|
41
|
+
pycoze-0.1.258.dist-info/RECORD,,
|
pycoze/api/tab_cls.py
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
from pycoze import utils
|
3
|
-
from uuid import uuid4
|
4
|
-
from ps_view import ViewCls, WebsiteViewCls, FileViewCls, DirectoryViewCls, WorkflowCls
|
5
|
-
import time
|
6
|
-
from typing import Union
|
7
|
-
|
8
|
-
|
9
|
-
socket = utils.socket
|
10
|
-
|
11
|
-
class TabCls:
|
12
|
-
|
13
|
-
def open_path(self, item_path: str) -> FileViewCls | DirectoryViewCls:
|
14
|
-
if not os.path.isabs(item_path):
|
15
|
-
item_path = os.path.abspath(item_path)
|
16
|
-
if os.path.isdir(item_path):
|
17
|
-
return self.open_dir(item_path)
|
18
|
-
else:
|
19
|
-
return self.open_file(item_path)
|
20
|
-
|
21
|
-
def open_file(self, item_path: str) -> Union[FileViewCls, WebsiteViewCls, WorkflowCls]:
|
22
|
-
if not os.path.isabs(item_path):
|
23
|
-
item_path = os.path.abspath(item_path)
|
24
|
-
location = ["FileOrDir", item_path]
|
25
|
-
socket.post("add-tab", {"location": location, "name": os.path.basename(item_path)})
|
26
|
-
lower_suffix = item_path.lower().split(".")[-1]
|
27
|
-
if lower_suffix == 'workflow':
|
28
|
-
return WorkflowCls(location)
|
29
|
-
if len(location) > 1 and (location[0] == "Website" or location[1].endswith(".website") or location[1].endswith(".html") or location[1].endswith(".ipynb")):
|
30
|
-
return WebsiteViewCls(location)
|
31
|
-
return FileViewCls(location)
|
32
|
-
|
33
|
-
def open_dir(self, item_path: str) -> DirectoryViewCls:
|
34
|
-
if not os.path.isabs(item_path):
|
35
|
-
item_path = os.path.abspath(item_path)
|
36
|
-
location = ["FileOrDir", item_path]
|
37
|
-
socket.post("add-tab", {"location": location, "name": os.path.basename(item_path)})
|
38
|
-
return DirectoryViewCls(location)
|
39
|
-
|
40
|
-
def open_website(self, url: str, uid:str=None) -> WebsiteViewCls:
|
41
|
-
if uid is None:
|
42
|
-
uid = str(uuid4())
|
43
|
-
location = ["Website", url, uid]
|
44
|
-
socket.post("add-tab", {"location": location, "name": url})
|
45
|
-
return WebsiteViewCls(location)
|
46
|
-
|
47
|
-
def get_active(self) -> ViewCls:
|
48
|
-
result = socket.post_and_recv_result("get-active-tab", {})
|
49
|
-
return self._result_to_view(result)
|
50
|
-
|
51
|
-
def _result_to_view(self, result: list[str]) -> ViewCls:
|
52
|
-
if result[0] == "Website":
|
53
|
-
return WebsiteViewCls(result)
|
54
|
-
elif result[0] == "FileOrDir":
|
55
|
-
if os.path.isdir(result[1]):
|
56
|
-
return DirectoryViewCls(result)
|
57
|
-
else:
|
58
|
-
if result[1].lower().split(".")[-1] == 'workflow':
|
59
|
-
return WorkflowCls(result)
|
60
|
-
return FileViewCls(result)
|
61
|
-
return ViewCls(result)
|
62
|
-
|
63
|
-
def wait_for_tab_open(self, location: list[str] | ViewCls):
|
64
|
-
times = 0
|
65
|
-
while not self.is_tab_open(location):
|
66
|
-
time.sleep(0.01)
|
67
|
-
times += 1
|
68
|
-
if times > 1000:
|
69
|
-
raise Exception("Tab open timeout")
|
70
|
-
|
71
|
-
def get_all(self) -> list[ViewCls]:
|
72
|
-
results = socket.post_and_recv_result("get-all-tabs", {})
|
73
|
-
return [self._result_to_view(result) for result in results]
|
74
|
-
|
75
|
-
def close_tab(self, location: list[str] | ViewCls):
|
76
|
-
if isinstance(location, ViewCls):
|
77
|
-
location = location.location
|
78
|
-
self.wait_for_tab_open(location)
|
79
|
-
socket.post("close-tab", {"location": location})
|
80
|
-
|
81
|
-
def switch_tab(self, location: list[str] | ViewCls):
|
82
|
-
if isinstance(location, ViewCls):
|
83
|
-
location = location.location
|
84
|
-
self.wait_for_tab_open(location)
|
85
|
-
socket.post("switchTab", {"location": location})
|
86
|
-
|
87
|
-
def is_tab_open(self, location: list[str] | ViewCls):
|
88
|
-
if isinstance(location, ViewCls):
|
89
|
-
location = location.location
|
90
|
-
result = socket.post_and_recv_result("is-tab-open", {"location": location})
|
91
|
-
return result
|
92
|
-
|
93
|
-
def pin_tab(self, location: list[str] | ViewCls):
|
94
|
-
if isinstance(location, ViewCls):
|
95
|
-
location = location.location
|
96
|
-
self.wait_for_tab_open(location)
|
97
|
-
socket.post("pin-tab", {"location": location})
|
98
|
-
|
99
|
-
def unpin_tab(self, location: list[str] | ViewCls):
|
100
|
-
if isinstance(location, ViewCls):
|
101
|
-
location = location.location
|
102
|
-
self.wait_for_tab_open(location)
|
103
|
-
socket.post("unpin-tab", {"location": location})
|
File without changes
|
File without changes
|
File without changes
|