Hana Celeste commited on
Commit
c7ef355
·
verified ·
1 Parent(s): 20e1d8f

Rename app/youtube_dns.py to app/utils.py

Browse files
Files changed (2) hide show
  1. app/utils.py +15 -0
  2. app/youtube_dns.py +0 -20
app/utils.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+
3
+ def extract_video_id(url: str) -> str:
4
+ patterns = [
5
+ r"v=([a-zA-Z0-9_-]{11})",
6
+ r"youtu\.be/([a-zA-Z0-9_-]{11})",
7
+ r"shorts/([a-zA-Z0-9_-]{11})"
8
+ ]
9
+
10
+ for p in patterns:
11
+ m = re.search(p, url)
12
+ if m:
13
+ return m.group(1)
14
+
15
+ raise ValueError("Invalid YouTube URL")
app/youtube_dns.py DELETED
@@ -1,20 +0,0 @@
1
- import socket
2
- import dns.resolver
3
-
4
- _original_getaddrinfo = socket.getaddrinfo
5
-
6
- def force_ipv4_dns():
7
- def patched_getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
8
- try:
9
- if any(x in host for x in ("youtube.com", "googlevideo.com", "youtu.be")):
10
- resolver = dns.resolver.Resolver()
11
- resolver.nameservers = ["8.8.8.8", "1.1.1.1"]
12
- answer = resolver.resolve(host, "A")
13
- return [
14
- (socket.AF_INET, socket.SOCK_STREAM, proto, "", (str(answer[0]), port))
15
- ]
16
- except Exception:
17
- pass
18
- return _original_getaddrinfo(host, port, family, type, proto, flags)
19
-
20
- socket.getaddrinfo = patched_getaddrinfo