class CBZInfo: def __init__(self, title, url): self.title = title self.url = url self.serires = "" self.type = "" self.filename = "" self.torrent = "" self.language = "" self.gallery_id = 0 # 중복을 허용하지 않는 집합으로 초기화 self.related_galID = set() self.artists = set() self.tags = set() def __str__(self): return f"{self.title} by {self.author} ({self.publication_year})" def AddTag(self, name): self.tags.add(name) def RmvTag(self, name): self.tags.discard(name) def AddArtist(self, name): self.artists.add(name) def RmvArtist(self, name): self.artists.discard(name) class TagInfo: def __init__(self, name, url): self.name = name self.url = url def __str__(self): return f"{self.name} : {self.url}" class ImageFileInfo: def __init__(self, name, height, width, hashValue, bWebp): self.name = name self.height = height self.width = width self.hashValue = hashValue self.bWebp = bWebp