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):
|