ultralytics-actions 0.0.66__tar.gz → 0.0.67__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.
- {ultralytics_actions-0.0.66/ultralytics_actions.egg-info → ultralytics_actions-0.0.67}/PKG-INFO +1 -1
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/__init__.py +1 -1
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/common_utils.py +9 -7
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67/ultralytics_actions.egg-info}/PKG-INFO +1 -1
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/LICENSE +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/README.md +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/first_interaction.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/summarize_pr.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/summarize_release.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/update_markdown_code_blocks.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/__init__.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/github_utils.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/utils/openai_utils.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/pyproject.toml +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/setup.cfg +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/tests/test_urls.py +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/SOURCES.txt +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/dependency_links.txt +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/entry_points.txt +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/requires.txt +0 -0
- {ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/top_level.txt +0 -0
{ultralytics_actions-0.0.66/ultralytics_actions.egg-info → ultralytics_actions-0.0.67}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics-actions
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.67
|
4
4
|
Summary: Ultralytics Actions for GitHub automation and PR management.
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
@@ -20,15 +20,14 @@ REQUESTS_HEADERS = {
|
|
20
20
|
"Sec-Fetch-Mode": "navigate",
|
21
21
|
"Sec-Fetch-User": "?1",
|
22
22
|
"Sec-Fetch-Dest": "document",
|
23
|
-
"Referer": "https://www.google.com/",
|
24
|
-
"Origin": "https://www.google.com/",
|
25
23
|
}
|
26
24
|
BAD_HTTP_CODES = frozenset(
|
27
25
|
{
|
28
|
-
|
26
|
+
204, # No content
|
29
27
|
# 403, # Forbidden - client lacks permission to access the resource (commented as works in browser typically)
|
30
28
|
404, # Not Found - requested resource doesn't exist
|
31
29
|
405, # Method Not Allowed - HTTP method not supported for this endpoint
|
30
|
+
406, # Not Acceptable - server can't generate response matching client's acceptable headers
|
32
31
|
410, # Gone - resource permanently removed
|
33
32
|
500, # Internal Server Error - server encountered an error
|
34
33
|
502, # Bad Gateway - upstream server sent invalid response
|
@@ -141,7 +140,7 @@ def brave_search(query, api_key, count=5):
|
|
141
140
|
return [result.get("url") for result in results if result.get("url")]
|
142
141
|
|
143
142
|
|
144
|
-
def is_url(url, session=None, check=True, max_attempts=3, timeout=
|
143
|
+
def is_url(url, session=None, check=True, max_attempts=3, timeout=3, return_url=False, redirect=False):
|
145
144
|
"""Check if string is URL and optionally verify it exists, with fallback for GitHub repos."""
|
146
145
|
try:
|
147
146
|
# Check allow list
|
@@ -200,6 +199,7 @@ def check_links_in_string(text, verbose=True, return_bad=False, replace=False):
|
|
200
199
|
|
201
200
|
with requests.Session() as session, ThreadPoolExecutor(max_workers=64) as executor:
|
202
201
|
session.headers.update(REQUESTS_HEADERS)
|
202
|
+
session.cookies = requests.cookies.RequestsCookieJar()
|
203
203
|
results = list(executor.map(lambda x: is_url(x[1], session, return_url=True, redirect=True), urls))
|
204
204
|
bad_urls = [url for (title, url), (valid, redirect) in zip(urls, results) if not valid]
|
205
205
|
|
@@ -212,14 +212,16 @@ def check_links_in_string(text, verbose=True, return_bad=False, replace=False):
|
|
212
212
|
for (title, url), (valid, redirect) in zip(urls, results):
|
213
213
|
# Handle invalid URLs with Brave search
|
214
214
|
if not valid and brave_api_key:
|
215
|
-
|
215
|
+
query = f"{(redirect or url)[:200]} {title[:199]}"
|
216
|
+
if search_urls := brave_search(query, brave_api_key, count=3):
|
216
217
|
best_url = search_urls[0]
|
217
218
|
for alt_url in search_urls:
|
218
219
|
if is_url(alt_url, session):
|
219
220
|
best_url = alt_url
|
220
221
|
break
|
221
|
-
|
222
|
-
|
222
|
+
if url != best_url:
|
223
|
+
replacements[url] = best_url
|
224
|
+
modified_text = modified_text.replace(url, best_url)
|
223
225
|
# Handle redirects for valid URLs
|
224
226
|
elif valid and redirect and redirect != url:
|
225
227
|
replacements[url] = redirect
|
{ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67/ultralytics_actions.egg-info}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics-actions
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.67
|
4
4
|
Summary: Ultralytics Actions for GitHub automation and PR management.
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/actions/update_markdown_code_blocks.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/requires.txt
RENAMED
File without changes
|
{ultralytics_actions-0.0.66 → ultralytics_actions-0.0.67}/ultralytics_actions.egg-info/top_level.txt
RENAMED
File without changes
|