macrdel commited on
Commit
c75ee7e
1 Parent(s): 0d3f53b

create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import requests
3
+ import time
4
+ import validators
5
+ import pandas as pd
6
+
7
+ MAX_RETRIES = 3
8
+
9
+ def is_valid_youtube_url(url):
10
+ # проверяем, является ли URL допустимым URL YouTube
11
+ return validators.url(url) and ("youtube.com" in url or "youtu.be" in url)
12
+
13
+ def make_request_put(url, query):
14
+ retries = 0
15
+ while retries < MAX_RETRIES:
16
+ try:
17
+ response = requests.post(url, data={"url_video": query})
18
+ response.raise_for_status() # генерировать исключение, если ответ содержит ошибку
19
+ return response.json()
20
+ except (requests.exceptions.RequestException, requests.exceptions.HTTPError) as e:
21
+ time.sleep(5) # подождать перед повторной попыткой
22
+ retries += 1
23
+ st.error("")
24
+ return None
25
+
26
+ def color_negative_red(val):
27
+ color = 'red' if val == 'NEGATIVE' else 'grey' if val == 'NEUTRAL' else 'green'
28
+ return f'color: {color}'
29
+
30
+
31
+ url = st.text_input("YouTube url...")
32
+ clicked = st.button("")
33
+
34
+ if clicked and is_valid_youtube_url(url):
35
+
36
+ data = make_request_put("https://macrdel-sentiment-summarize-youtube-comms.hf.space/comments", url)
37
+ if data:
38
+ data = pd.DataFrame(data)
39
+ st.write(data.style.applymap(color_negative_red, subset=['sentiment']))
40
+
41
+ else:
42
+ st.error("error url")