Update app.py
Browse files
app.py
CHANGED
|
@@ -564,15 +564,18 @@ def call_extract_endpoint(post_url: str) -> Dict[str, Any]:
|
|
| 564 |
|
| 565 |
|
| 566 |
def is_threads_url(url: str) -> bool:
|
| 567 |
-
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
| 572 |
-
(('/post/' in parsed.path) or ('/t/' in parsed.path))
|
| 573 |
-
)
|
| 574 |
-
except:
|
| 575 |
return False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 576 |
|
| 577 |
@app.post("/multi")
|
| 578 |
async def multi_download(request: Request):
|
|
|
|
| 564 |
|
| 565 |
|
| 566 |
def is_threads_url(url: str) -> bool:
|
| 567 |
+
"""Validate if URL is a valid Threads URL"""
|
| 568 |
+
try:
|
| 569 |
+
parsed = urlparse(url)
|
| 570 |
+
# Check if netloc matches known Threads domains
|
| 571 |
+
if parsed.netloc not in ['threads.net', 'www.threads.net', 'threads.com', 'www.threads.com']:
|
|
|
|
|
|
|
|
|
|
| 572 |
return False
|
| 573 |
+
# Check if path contains /post/ or /t/ after a username
|
| 574 |
+
if '/post/' in parsed.path or '/t/' in parsed.path:
|
| 575 |
+
return True
|
| 576 |
+
return False
|
| 577 |
+
except Exception:
|
| 578 |
+
return False
|
| 579 |
|
| 580 |
@app.post("/multi")
|
| 581 |
async def multi_download(request: Request):
|