yusufgundogdu's picture
Update app.py
f93d23a verified
from flask import Flask, jsonify, request
import time
app = Flask(__name__)
fake_db = {
"accounts": [],
"generate_lists": {
"items": [
{
"title": "3D Anime Generate",
"content": [
{
"credit": 100,
"id": "1",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg",
"name": "REALISTIC",
"level": 0
},
{
"credit": 80,
"id": "2",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg",
"name": "DRAWING",
"level": 0
},
{
"id": "3",
"name": "TOY FIGURE",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg",
"credit": 60,
"level": 1
},
{
"id": "4",
"name": "3D",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg",
"credit": 120,
"level": 2
},
{
"id": "5",
"name": "ANIMATION",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg",
"credit": 90,
"level": 2
}
]
},
{
"title": "REALISTIC Generate",
"content": [
{
"id": "6",
"name": "REALISTIC",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg",
"credit": 100,
"level": 1
},
{
"id": "7",
"name": "DRAWING",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg",
"credit": 80,
"level": 1
},
{
"id": "8",
"name": "TOY FIGURE",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg",
"credit": 60,
"level": 1
},
{
"id": "9",
"name": "3D",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg",
"credit": 120,
"level": 1
},
{
"id": "10",
"name": "ANIMATION",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg",
"credit": 90,
"level": 3
}
]
},
{
"title": "DRAWING Generate",
"content": [
{
"id": "11",
"name": "REALISTIC",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg",
"credit": 100,
"level": 3
},
{
"id": "12",
"name": "DRAWING",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg",
"credit": 80,
"level": 3
},
{
"id": "13",
"name": "TOY FIGURE",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg",
"credit": 60,
"level": 2
},
{
"id": "14",
"name": "3D",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg",
"credit": 120,
"level": 2
},
{
"id": "15",
"name": "ANIMATION",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg",
"credit": 90,
"level": 2
}
]
},
{
"title": "ANIMATION Generate",
"content": [
{
"id": "16",
"name": "REALISTIC",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg",
"credit": 100,
"level": 3
},
{
"id": "17",
"name": "DRAWING",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg",
"credit": 80,
"level": 1
},
{
"id": "18",
"name": "TOY FIGURE",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg",
"credit": 60,
"level": 1
},
{
"id": "19",
"name": "3D",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg",
"credit": 120,
"level": 2
},
{
"id": "20",
"name": "ANIMATION",
"imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg",
"credit": 90,
"level": 2
}
]
}
]
}
}
def generate_new_id():
if not fake_db["accounts"]:
return 1
return max(account["id"] for account in fake_db["accounts"]) + 1
@app.route('/account/<platform>/<udid>', methods=['GET'])
def get_or_create_account(platform, udid):
platform = platform.upper()
if platform not in ["IOS", "AND"]:
return jsonify({
"success": False,
"object": None,
"error": "Invalid platform"
}), 400
account = next((acc for acc in fake_db["accounts"] if acc["udid"] == udid), None)
if account:
return jsonify({
"success": True,
"object": {
"account": {
"id": account["id"],
"timestamp": account["timestamp"],
"udid": account["udid"],
"platform": account["platform"],
"credit": account["credit"],
"level": account["level"]
}
},
"error": None
})
else:
new_account = {
"id": generate_new_id(),
"timestamp": int(time.time()),
"udid": udid,
"platform": platform,
"credit": 100,
"level": 0
}
fake_db["accounts"].append(new_account)
return jsonify({
"success": True,
"object": {
"account": {
"id": new_account["id"],
"timestamp": new_account["timestamp"],
"udid": new_account["udid"],
"platform": new_account["platform"],
"credit": new_account["credit"],
"level": new_account["level"]
}
},
"error": None
}), 201
@app.route('/update/account/<udid>', methods=['POST'])
def update_account_by_udid(udid):
try:
if not request.is_json:
return jsonify({
"success": False,
"error": "Content-Type must be application/json"
}), 400
incoming_data = request.get_json()
# UDID'ye göre hesabı bul
account = next((acc for acc in fake_db["accounts"] if acc["udid"] == udid), None)
if not account:
return jsonify({
"success": False,
"error": "Account not found"
}), 404
# Güncelleme işlemleri
if 'credit' in incoming_data:
account['credit'] = int(incoming_data['credit'])
if 'level' in incoming_data:
account['level'] = int(incoming_data['level'])
if 'platform' in incoming_data:
account['platform'] = incoming_data['platform'].upper()
account['timestamp'] = int(time.time()) # Güncelleme zamanı
return jsonify({
"success": True,
"object": {
"account": account
}
})
except Exception as e:
return jsonify({
"success": False,
"error": str(e)
}), 500
@app.route('/generate_list', methods=['GET'])
def get_generate_list():
return jsonify({
"success": True,
"object": {
"generate_lists": fake_db["generate_lists"]
},
"error": None
})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860)