skanderovitch commited on
Commit
0b9ad90
·
verified ·
1 Parent(s): a69893d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -3
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
- return embeddings.index[choice]
 
 
 
 
 
42
  # st.toast('Random for now')
43
- return np.random.choice(embeddings.index)
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