r3gm commited on
Commit
4fc8cbc
·
verified ·
1 Parent(s): dff39db

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -26
app.py CHANGED
@@ -210,32 +210,33 @@ class GuiSD:
210
 
211
  def load_new_model(self, model_name, vae_model, task, controlnet_model, progress=gr.Progress(track_tqdm=True)):
212
 
213
- # --- Anti-Abuse Check Start ---
214
- if model_name in self.used_models:
215
- # Move to the end to mark as the most recently used (prevents it from being forgotten)
216
- self.used_models.remove(model_name)
217
- self.used_models.append(model_name)
218
- else:
219
- current_time = datetime.now()
220
- # Retain history of new model requests from the last 20 minutes (1200 seconds)
221
- self.new_model_history = [
222
- t for t in self.new_model_history
223
- if (current_time - t).total_seconds() < 1200
224
- ]
225
-
226
- # Allow a maximum of 5 NEW model requests per 20 minutes
227
- if len(self.new_model_history) >= 5:
228
- yield "Rate limit exceeded: Too many new models requested."
229
- raise gr.Error("Too many new models requested. Please reuse your previously loaded models or wait a few minutes before trying new ones.")
230
-
231
- # Log the new model attempt
232
- self.new_model_history.append(current_time)
233
- self.used_models.append(model_name)
234
-
235
- # Prevent the bypass list from growing infinitely (cap at 5 most recent models)
236
- if len(self.used_models) > 5:
237
- self.used_models.pop(0)
238
- # --- Anti-Abuse Check End ---
 
239
 
240
  lock_key = model_name
241
 
 
210
 
211
  def load_new_model(self, model_name, vae_model, task, controlnet_model, progress=gr.Progress(track_tqdm=True)):
212
 
213
+ if model_name != model_list[0]:
214
+ # --- Anti-Abuse Check Start ---
215
+ if model_name in self.used_models:
216
+ # Move to the end to mark as the most recently used (prevents it from being forgotten)
217
+ self.used_models.remove(model_name)
218
+ self.used_models.append(model_name)
219
+ else:
220
+ current_time = datetime.now()
221
+ # Retain history of new model requests from the last 20 minutes (1200 seconds)
222
+ self.new_model_history = [
223
+ t for t in self.new_model_history
224
+ if (current_time - t).total_seconds() < 1200
225
+ ]
226
+
227
+ # Allow a maximum of 5 NEW model requests per 20 minutes
228
+ if len(self.new_model_history) >= 5:
229
+ yield "Rate limit exceeded: Too many new models requested."
230
+ raise gr.Error("Too many new models requested. Please reuse your previously loaded models or wait a few minutes before trying new ones.")
231
+
232
+ # Log the new model attempt
233
+ self.new_model_history.append(current_time)
234
+ self.used_models.append(model_name)
235
+
236
+ # Prevent the bypass list from growing infinitely (cap at 5 most recent models)
237
+ if len(self.used_models) > 5:
238
+ self.used_models.pop(0)
239
+ # --- Anti-Abuse Check End ---
240
 
241
  lock_key = model_name
242