Initial commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
from enum import IntEnum
|
||||
from typing import Literal
|
||||
|
||||
# Enums
|
||||
|
||||
|
||||
class RbxAssetType(IntEnum):
|
||||
IMAGE = 1
|
||||
SHIRT = 11
|
||||
PANTS = 12
|
||||
|
||||
|
||||
# Types
|
||||
|
||||
ClothingAssetType = Literal[
|
||||
RbxAssetType.SHIRT,
|
||||
RbxAssetType.PANTS,
|
||||
]
|
||||
CreatorType = Literal["User", "Group"]
|
||||
|
||||
# Roblox Creator class (for creator info - mainly useful for returning data + TUI)
|
||||
|
||||
|
||||
class RbxCreator:
|
||||
def __init__(self, creator_id: int, username: str, creator_type: CreatorType):
|
||||
self.creator_id = creator_id
|
||||
self.username = username
|
||||
self.creator_type = creator_type
|
||||
|
||||
|
||||
# Asset base class
|
||||
|
||||
|
||||
class RbxAsset:
|
||||
def __init__(
|
||||
self,
|
||||
asset_id: int,
|
||||
creator: RbxCreator,
|
||||
name: str,
|
||||
description: str,
|
||||
asset_type: RbxAssetType,
|
||||
) -> None:
|
||||
self.asset_id = asset_id
|
||||
self.name = name
|
||||
self.description = description
|
||||
self.creator = creator
|
||||
self.asset_type = asset_type
|
||||
|
||||
|
||||
# Clothing asset class
|
||||
|
||||
|
||||
class ClothingAsset(RbxAsset):
|
||||
def __init__(
|
||||
self,
|
||||
asset_id: int,
|
||||
creator: RbxCreator,
|
||||
name: str,
|
||||
description: str,
|
||||
asset_type: ClothingAssetType,
|
||||
) -> None:
|
||||
super().__init__(
|
||||
asset_id=asset_id,
|
||||
creator=creator,
|
||||
name=name,
|
||||
description=description,
|
||||
asset_type=asset_type,
|
||||
)
|
||||
|
||||
def get_image(self) -> bytes:
|
||||
from utils import roblox_service
|
||||
|
||||
return roblox_service.fetch_clothing_image(self)
|
||||
Reference in New Issue
Block a user