def __init__(self, data) -> None: StatsAppend(erina.erinaParsingCount, "SauceNAO") # Normalize to get the same type of data everytime if isinstance(data, list): "\n".join(data) else: data = str(data) self.data = data.split("\n") self.similarity = None self.database = None self.title = None self.link = None self.author = None self.thumbnail = None self.is_manga = None self.is_anime = None self.part = None self.year = None self.timing = None self.cache_timestamp = None for element in self.data: element = str(element).replace("\n", "") if element[:11] == 'Similarity:': self.similarity = utils.convert_to_float(element[12:]) elif element[:9] == 'Index ID:': self.database = self.Index(element[10:]) elif element[:6] == 'Title:': self.title = self.AnimeTitle(native_title=element[7:]) elif element[:4] == 'URL:': self.link = str(element[5:]) elif element[:7] == 'Author:': self.author = str(element[8:]) elif element[:10] == 'Thumbnail:': self.thumbnail = str(element[11:]) elif element[:8] == 'isManga:': self.is_manga = utils.convert_to_boolean(element[9:]) elif element[:5] == 'Part:': self.part = utils.convert_to_int(element[6:]) elif element[:8] == 'isAnime:': self.is_anime = utils.convert_to_boolean(element[9:]) elif element[: 8] == 'Episode:': #### COMPATIBILITY WITH OLD SAUCENAO CACHE self.part = utils.convert_to_int(element[9:]) elif element[:5] == 'Year:': self.year = utils.convert_to_int(element[6:]) elif element[:15] == 'Estimated Time:': self.timing = self.Timing(from_time=element[16:], to=element[16:], at=element[16:]) elif element[:16] == 'Cache Timestamp:': self.cache_timestamp = self.CacheTimestamp(element[17:])
def addValue(timestamp, data=None): """ Adds a value to the results """ timestamp = timestamp.timestamp() if data is None: if timestamp in results[category][subcategory]["values"]: results[category][subcategory]["values"][ timestamp] += 1 else: results[category][subcategory]["values"][timestamp] = 1 if category == "search" and subcategory in [ "anilistIDSearchCount", "titleSearchCount", "imageSearchCount" ]: if timestamp in results["search"]["searchCount"][ "values"]: results["search"]["searchCount"]["values"][ timestamp] += 1 else: results["search"]["searchCount"]["values"][ timestamp] = 1 elif subcategory in [ "manamiDBTitleVectorLookups", "erinaDatabaseLookups" ]: if timestamp in results[category][subcategory]["values"]: results[category][subcategory]["values"][ timestamp] += convert_to_int( element.split(" ")[1]) else: results[category][subcategory]["values"][ timestamp] = convert_to_int( element.split(" ")[1]) elif subcategory == "cacheFilesCount": results[category][subcategory]["values"][ timestamp] = convert_to_int(element.split(" ")[1]) elif subcategory == "responsePolarity": if timestamp in results[category][subcategory]["values"]: results[category][subcategory]["values"][ timestamp].append( convert_to_float(element.split(" ")[1])) else: results[category][subcategory]["values"][timestamp] = [ convert_to_float(element.split(" ")[1]) ]
def __init__(self, index) -> None: self.id = utils.convert_to_int(index) try: self.name = str(index_id_to_name[self.id]) except: self.name = None