Update app.py
Browse files
app.py
CHANGED
@@ -54,7 +54,7 @@ def increment_user_counter(user_id):
|
|
54 |
# Function to get or create user ID from cookie
|
55 |
def get_or_create_user_id(request: gr.Request):
|
56 |
if request is None:
|
57 |
-
return str(uuid.uuid4())
|
58 |
|
59 |
cookies = SimpleCookie()
|
60 |
cookies.load(request.headers.get('cookie', ''))
|
@@ -62,13 +62,9 @@ def get_or_create_user_id(request: gr.Request):
|
|
62 |
|
63 |
if user_id is None:
|
64 |
user_id = str(uuid.uuid4())
|
65 |
-
|
66 |
-
cookies['user_id']['httponly'] = True
|
67 |
-
cookies['user_id']['max-age'] = 365 * 24 * 60 * 60 # 1 year
|
68 |
else:
|
69 |
-
|
70 |
-
|
71 |
-
return user_id, cookies.output(header='', sep=';')
|
72 |
|
73 |
# Function to encode the image
|
74 |
def encode_image(image_array):
|
@@ -259,25 +255,25 @@ with gr.Blocks(css=css) as demo:
|
|
259 |
gr.update(visible=False),
|
260 |
gr.update(interactive=True),
|
261 |
f"You have {remaining_tests} free test(s) remaining today.",
|
262 |
-
cookie,
|
263 |
)
|
264 |
else:
|
265 |
redirect_text = f"""
|
266 |
Thank you for trying our product description generation tool!
|
267 |
-
|
268 |
You've used all 4 of your free tests for today. We hope you found them helpful and insightful.
|
269 |
-
|
270 |
To unlock unlimited access and discover how our AI-powered solution can revolutionize your content creation process:
|
271 |
-
|
272 |
[Book a Personalized Demo with Our Experts]({demo_link})
|
273 |
-
|
274 |
During the demo, you'll get:
|
275 |
• A tailored walkthrough of our full suite of features
|
276 |
• Insights on how to optimize your specific content workflow
|
277 |
• Answers to any questions you may have about our solution
|
278 |
-
|
279 |
We're excited to show you how we can help scale your content creation!
|
280 |
-
|
281 |
(Your free tests will reset tomorrow, allowing you to try 4 more if you need additional time to decide.)
|
282 |
"""
|
283 |
return (
|
@@ -285,25 +281,25 @@ with gr.Blocks(css=css) as demo:
|
|
285 |
gr.update(visible=True, value=redirect_text),
|
286 |
gr.update(interactive=False),
|
287 |
"You've used all your free tests for today. We invite you to book a demo for full access!",
|
288 |
-
cookie,
|
289 |
)
|
290 |
else:
|
291 |
redirect_text = f"""
|
292 |
Thank you for your interest in our product description generation tool!
|
293 |
-
|
294 |
You've already used your 4 free tests for today. We hope they've given you a glimpse of how our AI can enhance your content creation.
|
295 |
-
|
296 |
Ready to explore the full potential of our solution?
|
297 |
-
|
298 |
[Book a Personalized Demo with Our Experts]({demo_link})
|
299 |
-
|
300 |
In this demo, you'll discover:
|
301 |
• How our AI can be customized for your specific needs
|
302 |
• Advanced features for scaling your content production
|
303 |
• ROI projections based on your current content workflow
|
304 |
-
|
305 |
Let's discuss how we can help you achieve your content goals!
|
306 |
-
|
307 |
(Remember, your free tests will reset tomorrow if you need more time to evaluate.)
|
308 |
"""
|
309 |
return (
|
@@ -311,15 +307,21 @@ with gr.Blocks(css=css) as demo:
|
|
311 |
gr.update(visible=True, value=redirect_text),
|
312 |
gr.update(interactive=False),
|
313 |
"All free tests used. We invite you to book a demo for full access!",
|
314 |
-
cookie,
|
315 |
)
|
316 |
|
317 |
submit_btn.click(
|
318 |
handle_submit,
|
319 |
inputs=[input_img, description_type, custom_instruction],
|
320 |
-
outputs=[output_text, redirect_message, submit_btn, test_counter_display],
|
321 |
)
|
322 |
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
# Launch Gradio app
|
324 |
demo.queue(api_open=False)
|
325 |
demo.launch(debug=True)
|
|
|
54 |
# Function to get or create user ID from cookie
|
55 |
def get_or_create_user_id(request: gr.Request):
|
56 |
if request is None:
|
57 |
+
return str(uuid.uuid4()), None
|
58 |
|
59 |
cookies = SimpleCookie()
|
60 |
cookies.load(request.headers.get('cookie', ''))
|
|
|
62 |
|
63 |
if user_id is None:
|
64 |
user_id = str(uuid.uuid4())
|
65 |
+
return user_id, ('user_id', user_id, {'httponly': True, 'max_age': 365 * 24 * 60 * 60})
|
|
|
|
|
66 |
else:
|
67 |
+
return user_id.value, None
|
|
|
|
|
68 |
|
69 |
# Function to encode the image
|
70 |
def encode_image(image_array):
|
|
|
255 |
gr.update(visible=False),
|
256 |
gr.update(interactive=True),
|
257 |
f"You have {remaining_tests} free test(s) remaining today.",
|
258 |
+
cookie, # This cookie is not being set in the response
|
259 |
)
|
260 |
else:
|
261 |
redirect_text = f"""
|
262 |
Thank you for trying our product description generation tool!
|
263 |
+
|
264 |
You've used all 4 of your free tests for today. We hope you found them helpful and insightful.
|
265 |
+
|
266 |
To unlock unlimited access and discover how our AI-powered solution can revolutionize your content creation process:
|
267 |
+
|
268 |
[Book a Personalized Demo with Our Experts]({demo_link})
|
269 |
+
|
270 |
During the demo, you'll get:
|
271 |
• A tailored walkthrough of our full suite of features
|
272 |
• Insights on how to optimize your specific content workflow
|
273 |
• Answers to any questions you may have about our solution
|
274 |
+
|
275 |
We're excited to show you how we can help scale your content creation!
|
276 |
+
|
277 |
(Your free tests will reset tomorrow, allowing you to try 4 more if you need additional time to decide.)
|
278 |
"""
|
279 |
return (
|
|
|
281 |
gr.update(visible=True, value=redirect_text),
|
282 |
gr.update(interactive=False),
|
283 |
"You've used all your free tests for today. We invite you to book a demo for full access!",
|
284 |
+
cookie, # This cookie is not being set in the response
|
285 |
)
|
286 |
else:
|
287 |
redirect_text = f"""
|
288 |
Thank you for your interest in our product description generation tool!
|
289 |
+
|
290 |
You've already used your 4 free tests for today. We hope they've given you a glimpse of how our AI can enhance your content creation.
|
291 |
+
|
292 |
Ready to explore the full potential of our solution?
|
293 |
+
|
294 |
[Book a Personalized Demo with Our Experts]({demo_link})
|
295 |
+
|
296 |
In this demo, you'll discover:
|
297 |
• How our AI can be customized for your specific needs
|
298 |
• Advanced features for scaling your content production
|
299 |
• ROI projections based on your current content workflow
|
300 |
+
|
301 |
Let's discuss how we can help you achieve your content goals!
|
302 |
+
|
303 |
(Remember, your free tests will reset tomorrow if you need more time to evaluate.)
|
304 |
"""
|
305 |
return (
|
|
|
307 |
gr.update(visible=True, value=redirect_text),
|
308 |
gr.update(interactive=False),
|
309 |
"All free tests used. We invite you to book a demo for full access!",
|
310 |
+
cookie, # This cookie is not being set in the response
|
311 |
)
|
312 |
|
313 |
submit_btn.click(
|
314 |
handle_submit,
|
315 |
inputs=[input_img, description_type, custom_instruction],
|
316 |
+
outputs=[output_text, redirect_message, submit_btn, test_counter_display, gr.Markdown(visible=True, label="User ID")],
|
317 |
)
|
318 |
|
319 |
+
with gr.Column():
|
320 |
+
output_text = gr.Markdown(label="Output Text", show_copy_button=True, elem_classes="output-text")
|
321 |
+
redirect_message = gr.Markdown(visible=False, elem_classes="redirect-message")
|
322 |
+
test_counter_display = gr.Markdown(visible=True, label="Test Counter")
|
323 |
+
user_id_display = gr.Markdown(visible=True, label="User ID") # Add this line
|
324 |
+
|
325 |
# Launch Gradio app
|
326 |
demo.queue(api_open=False)
|
327 |
demo.launch(debug=True)
|