You've already forked JapariArchive
123 lines
3.7 KiB
Python
123 lines
3.7 KiB
Python
from datetime import datetime
|
|
from enum import IntEnum, StrEnum
|
|
|
|
class DownloadMode(IntEnum):
|
|
NO_DOWNLOAD = 0
|
|
DOWNLOAD = 1
|
|
DOWNLOAD_ALL = 2
|
|
|
|
class ErrorID(IntEnum):
|
|
SUCCESS = 0
|
|
NO_ART = 1
|
|
OTHER_ERROR = 5
|
|
DOWNLOAD_FAIL = 6
|
|
ACCOUNT_DEAD = 7
|
|
ACCOUNT_SKIP = 8
|
|
TAGGING_ERROR = 9
|
|
FILE_READ_ERROR = 10
|
|
HASHING_Unidentified = 11
|
|
HASHING_FileNotFound = 12
|
|
HASHING_OTHER = 13
|
|
FILE_DELETED_OUTSIDE_ARCHIVE = 14
|
|
NO_CHANNEL = 15
|
|
TWEET_DELETED = 16
|
|
|
|
class ActionTaken(IntEnum):
|
|
Null = 0
|
|
Accepted = 1
|
|
Rejected = 2
|
|
Hidden = 3
|
|
|
|
class AccountRating(StrEnum):
|
|
SFW = "SFW"
|
|
NSFW = "NSFW"
|
|
NSFL = "NSFL"
|
|
|
|
class HavoxLabel(StrEnum):
|
|
KF = "KF"
|
|
NonKF = "NonKF"
|
|
Rejected = "Rejected"
|
|
|
|
class PostRating(StrEnum):
|
|
Unrated = "unrated"
|
|
General = "general"
|
|
Sensitive = "sensitive"
|
|
Questionable = "questionable"
|
|
Explicit = "explicit"
|
|
Filtered = "filtered"
|
|
|
|
class x_accounts:
|
|
id : int
|
|
rating : AccountRating
|
|
name : str
|
|
is_deleted : bool
|
|
is_protected : bool
|
|
download_mode : int
|
|
discord_channel_id : int
|
|
discord_thread_id : int
|
|
|
|
def __init__(self, id = 0, rating = AccountRating.NSFW, name : str = "", is_deleted = False, is_protected = False, download_mode = DownloadMode.NO_DOWNLOAD, discord_thread_id = 0, discord_channel_id = 0, **kwargs):
|
|
self.id = id
|
|
self.rating = rating
|
|
self.name = name
|
|
self.is_deleted = is_deleted
|
|
self.is_protected = is_protected
|
|
self.download_mode = download_mode
|
|
self.discord_thread_id = discord_thread_id
|
|
self.discord_channel_id = discord_channel_id
|
|
|
|
class x_posts:
|
|
id : int
|
|
account_id : int
|
|
discord_post_id : int
|
|
error_id : int
|
|
action_taken : ActionTaken
|
|
rating : PostRating
|
|
"highest rating from all post images"
|
|
tags : list[str]
|
|
text : str
|
|
date : datetime
|
|
|
|
def __init__(self, id = -1, account_id = -1, discord_post_id = 0, error_id = ErrorID.SUCCESS, action_taken = ActionTaken.Null, rating = PostRating.Unrated, tags = [], text = "", date = None, **kwargs):
|
|
self.id = id
|
|
self.account_id = account_id
|
|
self.discord_post_id= discord_post_id
|
|
self.error_id = error_id
|
|
self.action_taken = action_taken
|
|
self.rating = rating
|
|
self.tags = tags
|
|
self.text = text
|
|
self.date = date
|
|
|
|
class x_posts_images:
|
|
post_id : int
|
|
index : int
|
|
phash : int = None
|
|
dhash : int = None
|
|
error_id : int = 0
|
|
rating : PostRating = PostRating.Unrated
|
|
tags : list[str] = []
|
|
file : str = None
|
|
saved_file : str = None
|
|
vox_label : HavoxLabel = None
|
|
duplicate_id : int = -1
|
|
duplicate_index : int = -1
|
|
|
|
def __init__(self, post_id, index, phash = None, dhash = None, error_id = ErrorID.SUCCESS, rating = PostRating.Unrated, tags = [], file = None, saved_file = None, vox_label : HavoxLabel = None, duplicate_index = -1, duplicate_id = -1, **kwargs):
|
|
self.post_id = post_id
|
|
self.index = index
|
|
self.phash = phash
|
|
self.dhash = dhash
|
|
self.error_id = error_id
|
|
self.rating = rating
|
|
self.tags = tags
|
|
self.file = file
|
|
self.saved_file = saved_file
|
|
self.vox_label = vox_label
|
|
self.duplicate_id = duplicate_id
|
|
self.duplicate_index = duplicate_index
|
|
|
|
if __name__ == "__main__":
|
|
print(ErrorID.ACCOUNT_DEAD)
|
|
print(PostRating.Questionable)
|
|
print(x_posts_images(0,1).rating) |