Spaces:
Sleeping
Sleeping
| import subprocess | |
| import sys | |
| import time | |
| from collections import defaultdict, deque | |
| # Gerekli kütüphane varsa geç, yoksa kur | |
| def install(package): | |
| try: | |
| __import__(package) | |
| except ImportError: | |
| subprocess.check_call([sys.executable, "-m", "pip", "install", package]) | |
| install("gradio") | |
| import gradio as gr | |
| # Kullanıcı başına tıklama logları | |
| click_logs = defaultdict(deque) | |
| MAX_CLICKS = 5 | |
| WINDOW_SECONDS = 60 | |
| def generate_output(session_id): | |
| now = time.time() | |
| logs = click_logs[session_id] | |
| # Süresi geçmiş tıklamaları temizle | |
| while logs and now - logs[0] > WINDOW_SECONDS: | |
| logs.popleft() | |
| if len(logs) >= MAX_CLICKS: | |
| return f"⛔ You can only click {MAX_CLICKS} times in a minute!" | |
| logs.append(now) | |
| return f"✅ Generation succesful! ({len(logs)}/{MAX_CLICKS})" | |
| with gr.Blocks() as app: | |
| session_id = gr.State(str(time.time())) # Basit oturum kimliği | |
| output = gr.Textbox(label="Result") | |
| button = gr.Button("Test!") | |
| button.click(fn=generate_output, inputs=[session_id], outputs=output) | |
| app.launch() | |