nsfwalex commited on
Commit
b37e825
1 Parent(s): 4400f0c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -19
app.py CHANGED
@@ -79,7 +79,38 @@ footer {display: none !important;}
79
  js = '''
80
  <script src="https://huggingface.co/spaces/nsfwalex/sd_card/resolve/main/prompt.js"></script>
81
  <script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  window.g=function(){
 
 
 
 
83
  const conditions = {
84
  "tag": ["normal", "sexy", "porn"],
85
  "exclude_category": ["Clothing"],
@@ -89,20 +120,7 @@ window.g=function(){
89
  console.log(prompt);
90
  return prompt
91
  }
92
- function checkDomain(img, str) {
93
- // Get the current page's hostname (domain)
94
- const currentDomain = window.location.hostname;
95
-
96
- // Convert both the domain and the input string to lowercase for case-insensitive comparison
97
- const lowerDomain = currentDomain.toLowerCase();
98
- const lowerStr = str.toLowerCase();
99
-
100
- // Check if the domain contains the string
101
- if lowerDomain.includes(lowerStr){
102
- return null;
103
- }
104
- return img;
105
- }
106
  window.postMessageToParent = function(prompt, event, source, value) {
107
  // Construct the message object with the provided parameters
108
  console.log("post start",event, source, value);
@@ -138,6 +156,10 @@ function uploadImage(prompt, images, event, source, value) {
138
  console.log("Not in an iframe, can't post to parent");
139
  }
140
  }
 
 
 
 
141
  </script>
142
  '''
143
  def save_image(img):
@@ -220,20 +242,19 @@ with gr.Blocks(css=css,head=js,fill_height=True) as demo:
220
  random_button = gr.Button("Surprise Me", scale=1, min_width=10)
221
  run_button = gr.Button( "GO!", scale=1, min_width=20, variant="primary",icon="https://huggingface.co/spaces/nsfwalex/sd_card/resolve/main/hot.svg")
222
 
223
- def on_demo_load(request: gr.Request):
224
  params = dict(request.query_params)
225
- print("load_demo, url params", params, "host", request.client.host)
226
  if params.get("e", "0") == "1":
227
  #update the image
228
  #bind events
229
- random_button.click(fn=lambda x:x, inputs=[prompt], outputs=[prompt], js='''()=>window.g()''')
230
  return Image.open(default_image)
231
  return None
232
 
233
 
234
  result.change(fn=lambda x:x, inputs=[prompt,result], outputs=[], js=f'''(p,img)=>window.uploadImage(p, img,"process_finished","demo_hf_{cfg.get("name")}_card", "finish")''')
235
  run_button.click(generate, inputs=[prompt], outputs=[result], js=f'''(p)=>window.postMessageToParent(p,"process_started","demo_hf_{cfg.get("name")}_card", "click_go")''')
236
-
237
- demo.load(fn=on_demo_load, inputs=[], outputs=[result])#, js='''(img)=>checkDomain(img, "huggingface")''')
238
  if __name__ == "__main__":
239
  demo.queue().launch(show_api=False)
 
79
  js = '''
80
  <script src="https://huggingface.co/spaces/nsfwalex/sd_card/resolve/main/prompt.js"></script>
81
  <script>
82
+ function getEnvInfo() {
83
+ const result = {};
84
+
85
+ // Get URL parameters
86
+ const urlParams = new URLSearchParams(window.location.search);
87
+ for (const [key, value] of urlParams) {
88
+ result[key] = value;
89
+ }
90
+
91
+ // Get current domain and convert to lowercase
92
+ result["__domain"] = window.location.hostname.toLowerCase();
93
+
94
+ // Get iframe parent domain, if any, and convert to lowercase
95
+ try {
96
+ if (window.self !== window.top) {
97
+ result["__iframe_domain"] = document.referrer
98
+ ? new URL(document.referrer).hostname.toLowerCase()
99
+ : "unable to get iframe parent domain";
100
+ }else{
101
+ result["__iframe_domain"] = null;
102
+ }
103
+ } catch (e) {
104
+ result["__iframe_domain"] = "unable to access iframe parent domain";
105
+ }
106
+
107
+ return result;
108
+ }
109
  window.g=function(){
110
+ params = getUrlParamsAndDomain()
111
+ if (params["e"] != "1"){
112
+ return "";
113
+ }
114
  const conditions = {
115
  "tag": ["normal", "sexy", "porn"],
116
  "exclude_category": ["Clothing"],
 
120
  console.log(prompt);
121
  return prompt
122
  }
123
+
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  window.postMessageToParent = function(prompt, event, source, value) {
125
  // Construct the message object with the provided parameters
126
  console.log("post start",event, source, value);
 
156
  console.log("Not in an iframe, can't post to parent");
157
  }
158
  }
159
+ function onDemoLoad(){
160
+ let envInfo = getEnvInfo()
161
+ return envInfo["__domain"], envInfo["__iframe_domain"]
162
+ }
163
  </script>
164
  '''
165
  def save_image(img):
 
242
  random_button = gr.Button("Surprise Me", scale=1, min_width=10)
243
  run_button = gr.Button( "GO!", scale=1, min_width=20, variant="primary",icon="https://huggingface.co/spaces/nsfwalex/sd_card/resolve/main/hot.svg")
244
 
245
+ def on_demo_load(request: gr.Request, domain, iframe_domain):
246
  params = dict(request.query_params)
247
+ print("load_demo, url params", params, "domain", domain, "iframe", iframe_domain)
248
  if params.get("e", "0") == "1":
249
  #update the image
250
  #bind events
 
251
  return Image.open(default_image)
252
  return None
253
 
254
 
255
  result.change(fn=lambda x:x, inputs=[prompt,result], outputs=[], js=f'''(p,img)=>window.uploadImage(p, img,"process_finished","demo_hf_{cfg.get("name")}_card", "finish")''')
256
  run_button.click(generate, inputs=[prompt], outputs=[result], js=f'''(p)=>window.postMessageToParent(p,"process_started","demo_hf_{cfg.get("name")}_card", "click_go")''')
257
+ random_button.click(fn=lambda x:x, inputs=[prompt], outputs=[prompt], js='''()=>window.g()''')
258
+ demo.load(fn=on_demo_load, inputs=[], outputs=[result], js='''()=>onDemoLoad()''')
259
  if __name__ == "__main__":
260
  demo.queue().launch(show_api=False)