threads-cleaner 0.2.2__tar.gz → 0.2.3__tar.gz
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.
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/PKG-INFO +1 -1
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/pyproject.toml +1 -1
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/src/threads_cleaner/browser.py +9 -5
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/.gitignore +0 -0
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/README.md +0 -0
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/src/threads_cleaner/__init__.py +0 -0
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/src/threads_cleaner/__main__.py +0 -0
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/src/threads_cleaner/config.py +0 -0
- {threads_cleaner-0.2.2 → threads_cleaner-0.2.3}/src/threads_cleaner/main.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: threads-cleaner
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Bulk-delete your Threads posts and replies. Free, open-source, runs locally.
|
|
5
5
|
Project-URL: Homepage, https://github.com/vincentmathis/threads-cleaner
|
|
6
6
|
Project-URL: Repository, https://github.com/vincentmathis/threads-cleaner
|
|
@@ -77,7 +77,10 @@ class BrowserDeleter:
|
|
|
77
77
|
time.sleep(0.3)
|
|
78
78
|
except: pass
|
|
79
79
|
try:
|
|
80
|
-
self._page.
|
|
80
|
+
self._page.keyboard.press("Escape")
|
|
81
|
+
time.sleep(0.3)
|
|
82
|
+
self._page.keyboard.press("Escape")
|
|
83
|
+
time.sleep(0.3)
|
|
81
84
|
except: pass
|
|
82
85
|
|
|
83
86
|
def _find_and_click_more(self) -> bool:
|
|
@@ -90,7 +93,7 @@ class BrowserDeleter:
|
|
|
90
93
|
const r = icon.getBoundingClientRect();
|
|
91
94
|
if (r.width < 5 || r.height < 5) continue;
|
|
92
95
|
if (r.y < 100) continue;
|
|
93
|
-
icon.
|
|
96
|
+
icon.click();
|
|
94
97
|
return true;
|
|
95
98
|
}
|
|
96
99
|
return false;
|
|
@@ -107,7 +110,7 @@ class BrowserDeleter:
|
|
|
107
110
|
if (el.offsetParent === null) continue;
|
|
108
111
|
const txt = el.innerText || el.textContent || '';
|
|
109
112
|
if (txt.trim() === 'Delete') {
|
|
110
|
-
el.
|
|
113
|
+
el.click();
|
|
111
114
|
return true;
|
|
112
115
|
}
|
|
113
116
|
}
|
|
@@ -135,8 +138,9 @@ class BrowserDeleter:
|
|
|
135
138
|
if (el.offsetParent === null) continue;
|
|
136
139
|
const txt = el.innerText || el.textContent || '';
|
|
137
140
|
if (txt.trim() === 'Delete') {
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
// Must NOT be inside the menu (which we already dismissed)
|
|
142
|
+
if (!el.closest('[role="menu"]')) {
|
|
143
|
+
el.click();
|
|
140
144
|
return true;
|
|
141
145
|
}
|
|
142
146
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|