Spaces:
Running
Running
Upload shorts_rss_proxy.py
Browse files- shorts_rss_proxy.py +2 -4
shorts_rss_proxy.py
CHANGED
|
@@ -4,7 +4,7 @@ Avoids CORS issues when client tries to fetch YouTube directly
|
|
| 4 |
"""
|
| 5 |
import requests as req
|
| 6 |
from fastapi import Query
|
| 7 |
-
from
|
| 8 |
|
| 9 |
HEADERS = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}
|
| 10 |
|
|
@@ -36,6 +36,7 @@ def setup_rss_proxy(app):
|
|
| 36 |
"""Get shorts from YouTube RSS feeds server-side"""
|
| 37 |
import xml.etree.ElementTree as ET
|
| 38 |
import html as html_lib
|
|
|
|
| 39 |
|
| 40 |
shorts = []
|
| 41 |
seen = set()
|
|
@@ -65,8 +66,6 @@ def setup_rss_proxy(app):
|
|
| 65 |
vid = vid_el.text if vid_el is not None else ''
|
| 66 |
|
| 67 |
if not vid:
|
| 68 |
-
# Try to extract from link
|
| 69 |
-
import re
|
| 70 |
m = re.search(r'(?:v=|shorts/)([A-Za-z0-9_-]{11})', link)
|
| 71 |
if m:
|
| 72 |
vid = m.group(1)
|
|
@@ -77,7 +76,6 @@ def setup_rss_proxy(app):
|
|
| 77 |
# Check if it's a short
|
| 78 |
is_short = '#shorts' in title.lower() or '#short' in title.lower() or '/shorts/' in link
|
| 79 |
|
| 80 |
-
# Also check media:description for shorts mention
|
| 81 |
if not is_short:
|
| 82 |
desc_el = entry.find('media:description', ns)
|
| 83 |
if desc_el is not None and desc_el.text:
|
|
|
|
| 4 |
"""
|
| 5 |
import requests as req
|
| 6 |
from fastapi import Query
|
| 7 |
+
from fastapi.responses import Response
|
| 8 |
|
| 9 |
HEADERS = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}
|
| 10 |
|
|
|
|
| 36 |
"""Get shorts from YouTube RSS feeds server-side"""
|
| 37 |
import xml.etree.ElementTree as ET
|
| 38 |
import html as html_lib
|
| 39 |
+
import re
|
| 40 |
|
| 41 |
shorts = []
|
| 42 |
seen = set()
|
|
|
|
| 66 |
vid = vid_el.text if vid_el is not None else ''
|
| 67 |
|
| 68 |
if not vid:
|
|
|
|
|
|
|
| 69 |
m = re.search(r'(?:v=|shorts/)([A-Za-z0-9_-]{11})', link)
|
| 70 |
if m:
|
| 71 |
vid = m.group(1)
|
|
|
|
| 76 |
# Check if it's a short
|
| 77 |
is_short = '#shorts' in title.lower() or '#short' in title.lower() or '/shorts/' in link
|
| 78 |
|
|
|
|
| 79 |
if not is_short:
|
| 80 |
desc_el = entry.find('media:description', ns)
|
| 81 |
if desc_el is not None and desc_el.text:
|