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()