Bertug1911 commited on
Commit
4579fc9
·
verified ·
1 Parent(s): 50c69ed

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -13
app.py CHANGED
@@ -1,31 +1,42 @@
1
- import gradio as gr
 
2
  import time
3
  from collections import defaultdict, deque
4
 
5
- # Her kullanıcıya özel tıklama kayıtları
 
 
 
 
 
 
 
 
 
 
 
6
  click_logs = defaultdict(deque)
7
  MAX_CLICKS = 5
8
  WINDOW_SECONDS = 60
9
 
10
  def generate_output(session_id):
11
  now = time.time()
12
- user_clicks = click_logs[session_id]
13
 
14
- # Eski tıklamaları temizle
15
- while user_clicks and now - user_clicks[0] > WINDOW_SECONDS:
16
- user_clicks.popleft()
17
 
18
- if len(user_clicks) >= MAX_CLICKS:
19
- return "⚠️ Dakikada en fazla 5 defa tıklayabilirsin."
20
 
21
- user_clicks.append(now)
22
- return f"✅ Üretim başarılı! Tıklama sayısı: {len(user_clicks)}/5"
23
 
24
  with gr.Blocks() as app:
25
- session_id = gr.State(str(time.time())) # Basit session ID üretimi (gerçek değil ama iş görür)
26
-
27
  output = gr.Textbox(label="Sonuç")
28
- button = gr.Button("Üret!")
29
 
30
  button.click(fn=generate_output, inputs=[session_id], outputs=output)
31
 
 
1
+ import subprocess
2
+ import sys
3
  import time
4
  from collections import defaultdict, deque
5
 
6
+ # Gerekli kütüphane varsa geç, yoksa kur
7
+ def install(package):
8
+ try:
9
+ __import__(package)
10
+ except ImportError:
11
+ subprocess.check_call([sys.executable, "-m", "pip", "install", package])
12
+
13
+ install("gradio")
14
+
15
+ import gradio as gr
16
+
17
+ # Kullanıcı başına tıklama logları
18
  click_logs = defaultdict(deque)
19
  MAX_CLICKS = 5
20
  WINDOW_SECONDS = 60
21
 
22
  def generate_output(session_id):
23
  now = time.time()
24
+ logs = click_logs[session_id]
25
 
26
+ # Süresi geçmiş tıklamaları temizle
27
+ while logs and now - logs[0] > WINDOW_SECONDS:
28
+ logs.popleft()
29
 
30
+ if len(logs) >= MAX_CLICKS:
31
+ return f" Dakikada sadece {MAX_CLICKS} kez tıklayabilirsin."
32
 
33
+ logs.append(now)
34
+ return f"✅ Üretim başarılı! ({len(logs)}/{MAX_CLICKS})"
35
 
36
  with gr.Blocks() as app:
37
+ session_id = gr.State(str(time.time())) # Basit oturum kimliği
 
38
  output = gr.Textbox(label="Sonuç")
39
+ button = gr.Button("Üret")
40
 
41
  button.click(fn=generate_output, inputs=[session_id], outputs=output)
42