fix: onsale now uses collectible_item_id via PATCH; add collectible_item_id to queue
This commit is contained in:
+8
-3
@@ -66,10 +66,15 @@ def init_db():
|
||||
description TEXT NOT NULL,
|
||||
group_id INTEGER NOT NULL,
|
||||
asset_type TEXT NOT NULL,
|
||||
collectible_item_id TEXT,
|
||||
retry_count INTEGER DEFAULT 0,
|
||||
next_retry DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
""")
|
||||
try:
|
||||
cursor.execute("ALTER TABLE onsale_queue ADD COLUMN collectible_item_id TEXT")
|
||||
except sqlite3.OperationalError:
|
||||
pass
|
||||
conn.commit()
|
||||
|
||||
def get_uploaded_asset(image_hash: str, asset_type: int) -> Optional[int]:
|
||||
@@ -96,13 +101,13 @@ def save_uploaded_asset(image_hash: str, asset_type: int, original_asset_id: int
|
||||
)
|
||||
conn.commit()
|
||||
|
||||
def add_to_onsale_queue(asset_id: int, original_asset_id: int, name: str, description: str, group_id: int, asset_type: str):
|
||||
def add_to_onsale_queue(asset_id: int, original_asset_id: int, name: str, description: str, group_id: int, asset_type: str, collectible_item_id: str | None = None):
|
||||
"""Adds an asset to the onsale retry queue."""
|
||||
with sqlite3.connect(DB_PATH) as conn:
|
||||
cursor = conn.cursor()
|
||||
cursor.execute(
|
||||
"INSERT INTO onsale_queue (asset_id, original_asset_id, name, description, group_id, asset_type) VALUES (?, ?, ?, ?, ?, ?)",
|
||||
(asset_id, original_asset_id, name, description, group_id, asset_type)
|
||||
"INSERT INTO onsale_queue (asset_id, original_asset_id, name, description, group_id, asset_type, collectible_item_id) VALUES (?, ?, ?, ?, ?, ?, ?)",
|
||||
(asset_id, original_asset_id, name, description, group_id, asset_type, collectible_item_id)
|
||||
)
|
||||
conn.commit()
|
||||
|
||||
|
||||
+5
-12
@@ -97,12 +97,8 @@ async def process_onsale_queue():
|
||||
f"Retrying onsale for asset {item['asset_id']} (Attempt {item['retry_count'] + 1})"
|
||||
)
|
||||
try:
|
||||
await roblox_onsale.onsale_asset(
|
||||
item["asset_id"],
|
||||
item["name"],
|
||||
item["description"],
|
||||
item["group_id"],
|
||||
)
|
||||
collectible_item_id = item["collectible_item_id"] or await roblox_onsale.get_collectible_item_id(item["asset_id"])
|
||||
await roblox_onsale.onsale_asset(collectible_item_id)
|
||||
database.remove_from_onsale_queue(item["id"])
|
||||
print(
|
||||
f"Successfully put asset {item['asset_id']} on sale via queue."
|
||||
@@ -206,13 +202,9 @@ async def reupload_asset(asset_id: int, _: str = Depends(verify_api_key)):
|
||||
)
|
||||
|
||||
await asyncio.sleep(5)
|
||||
collectible_item_id = await roblox_onsale.get_collectible_item_id(new_asset_id)
|
||||
try:
|
||||
await roblox_onsale.onsale_asset(
|
||||
new_asset_id,
|
||||
asset.name,
|
||||
new_description,
|
||||
int(TARGET),
|
||||
)
|
||||
await roblox_onsale.onsale_asset(collectible_item_id)
|
||||
except RateLimitError:
|
||||
print(
|
||||
f"Rate limit hit for asset {new_asset_id}, adding to retry queue."
|
||||
@@ -227,6 +219,7 @@ async def reupload_asset(asset_id: int, _: str = Depends(verify_api_key)):
|
||||
new_description,
|
||||
int(TARGET),
|
||||
asset_type_name,
|
||||
collectible_item_id,
|
||||
)
|
||||
return {
|
||||
"uploaded": uploaded,
|
||||
|
||||
Reference in New Issue
Block a user