Update app.py
Browse files
app.py
CHANGED
|
@@ -27,6 +27,7 @@ DB_PATH = os.path.join(DB_DIR, "users.db")
|
|
| 27 |
TEMP_DIR = "tmp"
|
| 28 |
USAGE_LIMIT = 5
|
| 29 |
ONE_WEEK_SECONDS = 7 * 24 * 60 * 60
|
|
|
|
| 30 |
|
| 31 |
# متغیرهای مربوط به دیتابیس جدید تصاویر
|
| 32 |
DB_IMAGE_PATH = os.path.join(DB_DIR, "users_image.db")
|
|
@@ -461,7 +462,7 @@ def use_credit():
|
|
| 461 |
return jsonify({"status": "success", "credits_remaining": credits_remaining})
|
| 462 |
|
| 463 |
|
| 464 |
-
# --- مدیریت اعتبار اختصاصی برای صفحه جدید ساخت تصویر ---
|
| 465 |
@app.route('/api/check-image-credit', methods=['POST'])
|
| 466 |
def check_image_credit():
|
| 467 |
data = request.get_json()
|
|
@@ -479,7 +480,8 @@ def check_image_credit():
|
|
| 479 |
reset_timestamp = 0
|
| 480 |
|
| 481 |
if user_record:
|
| 482 |
-
|
|
|
|
| 483 |
c.execute("UPDATE users SET count = 0, week_start = ? WHERE id = ?", (now, user_id))
|
| 484 |
conn.commit()
|
| 485 |
credits_remaining = IMAGE_USAGE_LIMIT
|
|
@@ -487,7 +489,7 @@ def check_image_credit():
|
|
| 487 |
credits_remaining = max(0, IMAGE_USAGE_LIMIT - user_record['count'])
|
| 488 |
if credits_remaining == 0:
|
| 489 |
limit_reached = True
|
| 490 |
-
reset_timestamp = user_record['week_start'] +
|
| 491 |
|
| 492 |
conn.close()
|
| 493 |
return jsonify({
|
|
@@ -509,12 +511,13 @@ def use_image_credit():
|
|
| 509 |
|
| 510 |
now = time.time()
|
| 511 |
if user_record:
|
| 512 |
-
|
|
|
|
| 513 |
c.execute("UPDATE users SET count = 1, week_start = ? WHERE id = ?", (now, user_id))
|
| 514 |
else:
|
| 515 |
if user_record['count'] >= IMAGE_USAGE_LIMIT:
|
| 516 |
conn.close()
|
| 517 |
-
reset_timestamp = user_record['week_start'] +
|
| 518 |
return jsonify({"status": "limit_reached", "credits_remaining": 0, "reset_timestamp": reset_timestamp}), 429
|
| 519 |
c.execute("UPDATE users SET count = count + 1 WHERE id = ?", (user_id,))
|
| 520 |
else:
|
|
|
|
| 27 |
TEMP_DIR = "tmp"
|
| 28 |
USAGE_LIMIT = 5
|
| 29 |
ONE_WEEK_SECONDS = 7 * 24 * 60 * 60
|
| 30 |
+
ONE_DAY_SECONDS = 24 * 60 * 60 # اضافه شده برای ریست شدن روزانه اعتبارات تصویر
|
| 31 |
|
| 32 |
# متغیرهای مربوط به دیتابیس جدید تصاویر
|
| 33 |
DB_IMAGE_PATH = os.path.join(DB_DIR, "users_image.db")
|
|
|
|
| 462 |
return jsonify({"status": "success", "credits_remaining": credits_remaining})
|
| 463 |
|
| 464 |
|
| 465 |
+
# --- مدیریت اعتبار اختصاصی روزانه برای صفحه جدید ساخت تصویر ---
|
| 466 |
@app.route('/api/check-image-credit', methods=['POST'])
|
| 467 |
def check_image_credit():
|
| 468 |
data = request.get_json()
|
|
|
|
| 480 |
reset_timestamp = 0
|
| 481 |
|
| 482 |
if user_record:
|
| 483 |
+
# تغییر از هفته به روزانه
|
| 484 |
+
if user_record['week_start'] < (now - ONE_DAY_SECONDS):
|
| 485 |
c.execute("UPDATE users SET count = 0, week_start = ? WHERE id = ?", (now, user_id))
|
| 486 |
conn.commit()
|
| 487 |
credits_remaining = IMAGE_USAGE_LIMIT
|
|
|
|
| 489 |
credits_remaining = max(0, IMAGE_USAGE_LIMIT - user_record['count'])
|
| 490 |
if credits_remaining == 0:
|
| 491 |
limit_reached = True
|
| 492 |
+
reset_timestamp = user_record['week_start'] + ONE_DAY_SECONDS
|
| 493 |
|
| 494 |
conn.close()
|
| 495 |
return jsonify({
|
|
|
|
| 511 |
|
| 512 |
now = time.time()
|
| 513 |
if user_record:
|
| 514 |
+
# تغییر از هفته به روزانه
|
| 515 |
+
if user_record['week_start'] < (now - ONE_DAY_SECONDS):
|
| 516 |
c.execute("UPDATE users SET count = 1, week_start = ? WHERE id = ?", (now, user_id))
|
| 517 |
else:
|
| 518 |
if user_record['count'] >= IMAGE_USAGE_LIMIT:
|
| 519 |
conn.close()
|
| 520 |
+
reset_timestamp = user_record['week_start'] + ONE_DAY_SECONDS
|
| 521 |
return jsonify({"status": "limit_reached", "credits_remaining": 0, "reset_timestamp": reset_timestamp}), 429
|
| 522 |
c.execute("UPDATE users SET count = count + 1 WHERE id = ?", (user_id,))
|
| 523 |
else:
|