NoCrypt commited on
Commit
232f7f2
1 Parent(s): 9503c58

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +69 -0
app.py ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ from bs4 import BeautifulSoup
3
+ import re
4
+ import gradio as gr
5
+
6
+ def get_blocked_urls():
7
+ """
8
+ Get a list of blocked URLs.
9
+
10
+ Returns:
11
+ list: A list of blocked URLs.
12
+
13
+ Raises:
14
+ None.
15
+ """
16
+ url = 'https://colab.research.google.com/'
17
+ r = requests.get(url)
18
+ if r.status_code == 200:
19
+ result = []
20
+ soup = BeautifulSoup(r.text, 'html.parser')
21
+ # search for script that contains "external_polymer_binary" in attr
22
+ for script in soup.find_all('script'):
23
+ if "external_polymer_binary" in str(script):
24
+
25
+ r_js = requests.get(script['src'])
26
+ # print(r_js.text)
27
+
28
+ pattern = r"'(.*?)webui(.*?)'"
29
+ match = re.search(pattern, r_js.text)
30
+ raw_string = match.group(0)
31
+
32
+ # trim 1 char front and back, split the text with ';' into array
33
+ raw_string = raw_string[1:-1].split(';')
34
+ result = raw_string
35
+
36
+ if len(result) > 0:
37
+ return (result)
38
+ else:
39
+ return (["failed :<"])
40
+
41
+ else:
42
+ return (["res code: "+r.status_code])
43
+
44
+
45
+ def handle_refresh():
46
+ """
47
+ Generates an HTML ordered list of blocked URLs.
48
+
49
+ Returns:
50
+ str: The HTML string containing the ordered list of blocked URLs.
51
+ """
52
+ xs = "<ol>"
53
+ for url in get_blocked_urls():
54
+ xs += "<li><code>"+url+"</code></li>"
55
+ xs += "</ol>"
56
+ return xs
57
+
58
+
59
+
60
+ with gr.Blocks(
61
+ analytics_enabled=False, title="GGL Checks", theme="NoCrypt/miku"
62
+ ) as demo:
63
+ gr.HTML("""<center><h1>GGL Checks</h1></center>""")
64
+ refresh = gr.Button("Refresh", variant="primary")
65
+ html = gr.HTML()
66
+ refresh.click(handle_refresh, outputs=[html])
67
+
68
+
69
+ demo.launch(debug=True)