Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -32,16 +32,52 @@ def setup_user():
|
|
32 |
st.session_state.neg = 0
|
33 |
st.session_state.pos = 0
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
def get_filename():
|
36 |
if 'preds' in st.session_state:
|
37 |
p = st.session_state.preds**4
|
38 |
p /= sum(p)
|
39 |
choice = np.random.choice(range(len(p)),p=p)
|
40 |
st.session_state.pred = st.session_state.preds[choice]
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
42 |
# st.toast('Random for now')
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
st.title('What does attractive mean to you?')
|
46 |
st.session_state.name = st.text_input(label='Invent a unique alias (and remember it)')
|
47 |
|
|
|
32 |
st.session_state.neg = 0
|
33 |
st.session_state.pos = 0
|
34 |
|
35 |
+
import requests
|
36 |
+
|
37 |
+
def check_image_url_accessible(url):
|
38 |
+
try:
|
39 |
+
# Send a HEAD request to save bandwidth
|
40 |
+
response = requests.head(url, allow_redirects=True, timeout=5)
|
41 |
+
# If the HEAD request fails, fallback to GET request
|
42 |
+
if response.status_code != 200:
|
43 |
+
response = requests.get(url, stream=True, timeout=5)
|
44 |
+
|
45 |
+
# Check the status code
|
46 |
+
if response.status_code == 200:
|
47 |
+
# Verify if it's an image
|
48 |
+
content_type = response.headers.get("Content-Type", "")
|
49 |
+
if "image" in content_type:
|
50 |
+
return True
|
51 |
+
else:
|
52 |
+
return False
|
53 |
+
else:
|
54 |
+
return False
|
55 |
+
except requests.RequestException:
|
56 |
+
return False
|
57 |
+
|
58 |
+
|
59 |
+
|
60 |
def get_filename():
|
61 |
if 'preds' in st.session_state:
|
62 |
p = st.session_state.preds**4
|
63 |
p /= sum(p)
|
64 |
choice = np.random.choice(range(len(p)),p=p)
|
65 |
st.session_state.pred = st.session_state.preds[choice]
|
66 |
+
url = get_s3_url(embeddings.index[choice])
|
67 |
+
if check_image_url_accessible(url):
|
68 |
+
st.toast(url)
|
69 |
+
return embeddings.index[choice]
|
70 |
+
else:
|
71 |
+
return get_filename()
|
72 |
# st.toast('Random for now')
|
73 |
+
choice = np.random.choice(embeddings.index)
|
74 |
+
url = get_s3_url(choice)
|
75 |
+
if check_image_url_accessible(url):
|
76 |
+
st.toast(url)
|
77 |
+
return choice
|
78 |
+
else:
|
79 |
+
return get_filename()
|
80 |
+
|
81 |
st.title('What does attractive mean to you?')
|
82 |
st.session_state.name = st.text_input(label='Invent a unique alias (and remember it)')
|
83 |
|