Chrunos commited on
Commit
44f1011
·
verified ·
1 Parent(s): e1c913c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -55
app.py CHANGED
@@ -211,55 +211,9 @@ async def get_track_download_url(track_id: str, quality: str) -> str:
211
 
212
 
213
 
214
-
215
- # In-memory storage for request counting
216
- request_counts = defaultdict(list)
217
- request_lock = threading.Lock()
218
- DAILY_LIMIT = 20
219
-
220
- def cleanup_old_records():
221
- """Remove records older than 24 hours"""
222
- today = datetime.now()
223
- with request_lock:
224
- for ip in list(request_counts.keys()):
225
- request_counts[ip] = [
226
- (timestamp, count)
227
- for timestamp, count in request_counts[ip]
228
- if (today - timestamp).days < 1
229
- ]
230
- if not request_counts[ip]:
231
- del request_counts[ip]
232
-
233
- def get_daily_requests(ip):
234
- """Get the number of requests made today by this IP"""
235
- cleanup_old_records()
236
- today = datetime.now()
237
- with request_lock:
238
- return sum(
239
- count for timestamp, count in request_counts[ip]
240
- if (today - timestamp).days < 1
241
- )
242
-
243
- def increment_daily_requests(ip):
244
- """Increment the request counter for this IP"""
245
- now = datetime.now()
246
- with request_lock:
247
- request_counts[ip].append((now, 1))
248
-
249
  @app.route('/track_dl', methods=['POST'])
250
  async def track_dl():
251
- client_ip = request.remote_addr
252
-
253
- # Check current usage
254
- current_requests = get_daily_requests(client_ip)
255
- remaining_requests = DAILY_LIMIT - current_requests
256
-
257
- if remaining_requests <= 0:
258
- return jsonify({
259
- "error": "Daily limit of 20 downloads exceeded. Get Premium or try again tomorrow.",
260
- "remaining_requests": 0
261
- }), 429
262
-
263
  data = request.get_json()
264
  track_id = data.get('track_id')
265
  quality = data.get('quality', '128')
@@ -269,31 +223,28 @@ async def track_dl():
269
  if quality_num > 128 or quality.upper() == 'FLAC':
270
  return jsonify({
271
  "error": "Quality above 128 or FLAC is for Premium users Only.",
272
- "remaining_requests": remaining_requests
273
  }), 400
274
 
275
  dl_url = await get_track_download_url(track_id, quality)
276
 
277
  if dl_url and "http" in dl_url:
278
- # Increment counter only on successful download
279
- increment_daily_requests(client_ip)
280
- remaining_requests -= 1 # Decrease remaining count after successful increment
281
-
282
  result = {
283
  "url": dl_url,
284
- "remaining_requests": remaining_requests
285
  }
286
  return jsonify(result)
287
  else:
288
  return jsonify({
289
  "error": "Failed to Fetch the Track.",
290
- "remaining_requests": remaining_requests
291
  }), 400
292
 
293
  except ValueError:
294
  return jsonify({
295
  "error": "Invalid quality value provided. It should be a valid integer or FLAC.",
296
- "remaining_requests": remaining_requests
297
  }), 400
298
 
299
 
 
211
 
212
 
213
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  @app.route('/track_dl', methods=['POST'])
215
  async def track_dl():
216
+
 
 
 
 
 
 
 
 
 
 
 
217
  data = request.get_json()
218
  track_id = data.get('track_id')
219
  quality = data.get('quality', '128')
 
223
  if quality_num > 128 or quality.upper() == 'FLAC':
224
  return jsonify({
225
  "error": "Quality above 128 or FLAC is for Premium users Only.",
226
+ "premium": "https://chrunos.com/premium-shortcuts/"
227
  }), 400
228
 
229
  dl_url = await get_track_download_url(track_id, quality)
230
 
231
  if dl_url and "http" in dl_url:
232
+
 
 
 
233
  result = {
234
  "url": dl_url,
235
+ "premium": "https://chrunos.com/premium-shortcuts/"
236
  }
237
  return jsonify(result)
238
  else:
239
  return jsonify({
240
  "error": "Failed to Fetch the Track.",
241
+ "premium": "https://chrunos.com/premium-shortcuts/"
242
  }), 400
243
 
244
  except ValueError:
245
  return jsonify({
246
  "error": "Invalid quality value provided. It should be a valid integer or FLAC.",
247
+ "premium": "https://chrunos.com/premium-shortcuts/"
248
  }), 400
249
 
250