delete unnecessary files
This commit is contained in:
@@ -1,231 +0,0 @@
|
||||
LINK_TRANSFORM = {"al":"https://anilist.co/manga/",
|
||||
"ap":"https://www.anime-planet.com/manga/",
|
||||
"bw":"https://bookwalker.jp/",
|
||||
"kt":"https://kitsu.io/manga/",
|
||||
"mu":"https://www.mangaupdates.com/series.html?id=",
|
||||
"mal":"https://myanimelist.net/manga/"}
|
||||
|
||||
|
||||
LANG_CODES = [
|
||||
"ab",
|
||||
"aa",
|
||||
"af",
|
||||
"ak",
|
||||
"sq",
|
||||
"am",
|
||||
"ar",
|
||||
"an",
|
||||
"hy",
|
||||
"as",
|
||||
"av",
|
||||
"ae",
|
||||
"ay",
|
||||
"az",
|
||||
"bm",
|
||||
"ba",
|
||||
"eu",
|
||||
"be",
|
||||
"bn",
|
||||
"bi",
|
||||
"bs",
|
||||
"br",
|
||||
"bg",
|
||||
"my",
|
||||
"ca",
|
||||
"ch",
|
||||
"ce",
|
||||
"ny",
|
||||
"zh",
|
||||
"cu",
|
||||
"cv",
|
||||
"kw",
|
||||
"co",
|
||||
"cr",
|
||||
"hr",
|
||||
"cs",
|
||||
"da",
|
||||
"dv",
|
||||
"nl",
|
||||
"dz",
|
||||
"en",
|
||||
"eo",
|
||||
"et",
|
||||
"ee",
|
||||
"fo",
|
||||
"fj",
|
||||
"fi",
|
||||
"fr",
|
||||
"fy",
|
||||
"ff",
|
||||
"gd",
|
||||
"gl",
|
||||
"lg",
|
||||
"ka",
|
||||
"de",
|
||||
"el",
|
||||
"kl",
|
||||
"gn",
|
||||
"gu",
|
||||
"ht",
|
||||
"ha",
|
||||
"he",
|
||||
"hz",
|
||||
"hi",
|
||||
"ho",
|
||||
"hu",
|
||||
"is",
|
||||
"io",
|
||||
"ig",
|
||||
"id",
|
||||
"ia",
|
||||
"ie",
|
||||
"iu",
|
||||
"ik",
|
||||
"ga",
|
||||
"it",
|
||||
"ja",
|
||||
"jv",
|
||||
"kn",
|
||||
"kr",
|
||||
"ks",
|
||||
"kk",
|
||||
"km",
|
||||
"ki",
|
||||
"rw",
|
||||
"ky",
|
||||
"kv",
|
||||
"kg",
|
||||
"ko",
|
||||
"kj",
|
||||
"ku",
|
||||
"lo",
|
||||
"la",
|
||||
"lv",
|
||||
"li",
|
||||
"ln",
|
||||
"lt",
|
||||
"lu",
|
||||
"lb",
|
||||
"mk",
|
||||
"mg",
|
||||
"ms",
|
||||
"ml",
|
||||
"mt",
|
||||
"gv",
|
||||
"mi",
|
||||
"mr",
|
||||
"mh",
|
||||
"mn",
|
||||
"na",
|
||||
"nv",
|
||||
"nd",
|
||||
"nr",
|
||||
"ng",
|
||||
"ne",
|
||||
"no",
|
||||
"nb",
|
||||
"nn",
|
||||
"ii",
|
||||
"oc",
|
||||
"oj",
|
||||
"or",
|
||||
"om",
|
||||
"os",
|
||||
"pi",
|
||||
"ps",
|
||||
"fa",
|
||||
"pl",
|
||||
"pt",
|
||||
"pa",
|
||||
"qu",
|
||||
"ro",
|
||||
"rm",
|
||||
"rn",
|
||||
"ru",
|
||||
"se",
|
||||
"sm",
|
||||
"sg",
|
||||
"sa",
|
||||
"sc",
|
||||
"sr",
|
||||
"sn",
|
||||
"sd",
|
||||
"si",
|
||||
"sk",
|
||||
"sl",
|
||||
"so",
|
||||
"st",
|
||||
"es",
|
||||
"su",
|
||||
"sw",
|
||||
"ss",
|
||||
"sv",
|
||||
"tl",
|
||||
"ty",
|
||||
"tg",
|
||||
"ta",
|
||||
"tt",
|
||||
"te",
|
||||
"th",
|
||||
"bo",
|
||||
"ti",
|
||||
"to",
|
||||
"ts",
|
||||
"tn",
|
||||
"tr",
|
||||
"tk",
|
||||
"tw",
|
||||
"ug",
|
||||
"uk",
|
||||
"ur",
|
||||
"uz",
|
||||
"ve",
|
||||
"vi",
|
||||
"vo",
|
||||
"wa",
|
||||
"cy",
|
||||
"wo",
|
||||
"xh",
|
||||
"yi",
|
||||
"yo",
|
||||
"za",
|
||||
"zu",
|
||||
]
|
||||
READING_DIRECTIONS = ["Left to Right", "Right to Left", "Vertical", "Webtoon"]
|
||||
READING_DIRECTONS_KOMGA = ["LEFT_TO_RIGHT", "RIGHT_TO_LEFT", "VERTICAL", "WEBTOON"]
|
||||
READING_DIR_TRANSLATION = {
|
||||
READING_DIRECTIONS[0]: READING_DIRECTONS_KOMGA[0],
|
||||
READING_DIRECTIONS[1]: READING_DIRECTONS_KOMGA[1],
|
||||
READING_DIRECTIONS[2]: READING_DIRECTONS_KOMGA[2],
|
||||
READING_DIRECTIONS[3]: READING_DIRECTONS_KOMGA[3],
|
||||
}
|
||||
|
||||
|
||||
METADATA_PROVIDERS = ["MangaDex", "ComicVine", "AniList", "MyAnimeList", "Comics.org"]
|
||||
SERIES_STATUS = ["---", "Ongoing", "Ended", "Hiatus", "Abandoned"]
|
||||
SERIES_STATUS_KOMGA = ["UNKNOWN", "ONGOING", "ENDED", "HIATUS", "ABANDONED"]
|
||||
SERIES_STATUS_TRANSLATION = {
|
||||
SERIES_STATUS[0]: SERIES_STATUS_KOMGA[0],
|
||||
SERIES_STATUS[1]: SERIES_STATUS_KOMGA[1],
|
||||
SERIES_STATUS[2]: SERIES_STATUS_KOMGA[2],
|
||||
SERIES_STATUS[3]: SERIES_STATUS_KOMGA[3],
|
||||
SERIES_STATUS[4]: SERIES_STATUS_KOMGA[4],
|
||||
}
|
||||
|
||||
def translate_series_status(status: str) -> str:
|
||||
if status in SERIES_STATUS_TRANSLATION.keys():
|
||||
return SERIES_STATUS_TRANSLATION[status]
|
||||
else:
|
||||
#get the key from the value
|
||||
for key, value in SERIES_STATUS_TRANSLATION.items():
|
||||
if value == status:
|
||||
return key
|
||||
|
||||
def translate_reading_direction(direction: str) -> str:
|
||||
if direction in READING_DIR_TRANSLATION.keys():
|
||||
return READING_DIR_TRANSLATION[direction]
|
||||
else:
|
||||
#get the key from the value
|
||||
for key, value in READING_DIR_TRANSLATION.items():
|
||||
if value == direction:
|
||||
return key
|
||||
@@ -1,190 +0,0 @@
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
|
||||
# import a library to open zip files
|
||||
import zipfile
|
||||
|
||||
from jellyfish import jaro_similarity
|
||||
|
||||
from APIs import KomgaAPI, MangadexAPI, NyaaFeed
|
||||
from APIs.cache import ListCache
|
||||
|
||||
Komga = KomgaAPI()
|
||||
|
||||
config = json.load(open("config.json"))
|
||||
|
||||
|
||||
cat = NyaaFeed()
|
||||
|
||||
|
||||
# with open("compare1.json") as f:
|
||||
# data = json.load(f)
|
||||
|
||||
# with open("compare2.json") as f:
|
||||
# data2 = json.load(f)
|
||||
|
||||
|
||||
def compare(data1, data2):
|
||||
# compare the two data sets and return a list of differences
|
||||
differences = []
|
||||
for key in data1:
|
||||
if key in data2:
|
||||
if data1[key] != data2[key]:
|
||||
differences.append(key)
|
||||
else:
|
||||
differences.append(key)
|
||||
|
||||
return differences
|
||||
|
||||
|
||||
# diffs=compare(data, data2)
|
||||
|
||||
# #get the differences from the first data set
|
||||
# for diff in diffs:
|
||||
# print(diff, data[diff])
|
||||
|
||||
# #get the differences from the second data set
|
||||
# for diff in diffs:
|
||||
# print(diff, data2[diff])
|
||||
|
||||
|
||||
def check_presence_of_xml_file(filename: str):
|
||||
with zipfile.ZipFile(filename, "r") as zip_ref:
|
||||
return "ComicInfo.xml" in zip_ref.namelist()
|
||||
|
||||
|
||||
def create_xml_file(filename: str):
|
||||
with zipfile.ZipFile(filename, "r") as zip_ref:
|
||||
return zip_ref.read("ComicInfo.xml")
|
||||
|
||||
|
||||
def rename_files(komga_data: str):
|
||||
"""Rename the files in the folder to the komga name with the volume number.
|
||||
|
||||
Args:
|
||||
----
|
||||
file (str): pth to the folder
|
||||
komga_data (str): series name
|
||||
"""
|
||||
# rename the folder to the komga name
|
||||
new_folder = f'{config["download_location"]}/{komga_data}'
|
||||
try:
|
||||
files = os.listdir(new_folder)
|
||||
except FileNotFoundError:
|
||||
return
|
||||
for file in files:
|
||||
if not (file.endswith(".cbz") or file.endswith(".cbr")):
|
||||
print(f"Skipping {file}, not a cbz file")
|
||||
continue
|
||||
ext = file.split(".")[-1]
|
||||
|
||||
match = re.search(r"v\d{2,4}(-\d{2,4})*", file)
|
||||
if match:
|
||||
print(match.group(0))
|
||||
vol = match.group(0).replace("v", "")
|
||||
title = file.split(match.group(0))[0]
|
||||
title = title.lstrip().rstrip()
|
||||
new_filename = f"{title} v{vol} #{vol}.{ext}"
|
||||
print(new_filename)
|
||||
os.rename(f"{new_folder}/{file}", f"{new_folder}/{new_filename}")
|
||||
# try:
|
||||
# os.rename(f"{new_folder}/{file}", f"{new_folder}/{filename} v{vol} #{vol}.{ext}")
|
||||
# except FileNotFoundError:
|
||||
# print(f"File not found: {file}")
|
||||
# split_index = match.start()
|
||||
# #split the title after the split_index
|
||||
# title=f"{file[:split_index]}{file[:split_index+len(match.group(0)):]}"
|
||||
# print(title)
|
||||
# volumes = match.group(0).split("-")
|
||||
# volumes = [volume.replace("v", "") for volume in volumes]
|
||||
# volume_data="-".join(volumes)
|
||||
|
||||
# # print(volume)
|
||||
# # volumes.append(int(volume))
|
||||
# # #add the volume number to the title as a suffix #nr
|
||||
# title=f"{title} #{volume_data}"
|
||||
# #rename the file
|
||||
# os.rename(f"{new_folder}/{file}", f"{new_folder}/{title}.{ext}")
|
||||
|
||||
|
||||
def __chapter_check(title: str) -> bool:
|
||||
if title.endswith(".cbz") or title.endswith(".cbr"):
|
||||
if not re.search(r"(v\d{1,3}(-\d{1,3})?)|(Vol\. \d{1,3})", title):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def check_folder(folder):
|
||||
files = os.listdir(folder)
|
||||
for file in files:
|
||||
if os.path.isdir(f"{folder}/{file}"):
|
||||
print(f"{file} is a dir")
|
||||
check_folder(f"{folder}/{file}")
|
||||
else:
|
||||
print(f"{file} is a file")
|
||||
if __chapter_check(file):
|
||||
print(f"{file} is a chapter")
|
||||
os.remove(f"{folder}/{file}")
|
||||
else:
|
||||
print(f"{file} is a volume")
|
||||
|
||||
|
||||
def add_ids():
|
||||
def __determine_similarity(search_string: str, given_string: str) -> float:
|
||||
return jaro_similarity(search_string, given_string)
|
||||
|
||||
database = ListCache("mangacache.db")
|
||||
Ma = MangadexAPI()
|
||||
result = database.query_all_missing_id_type("mangadex")
|
||||
print(len(result))
|
||||
max_sim = 0
|
||||
manga_id = None
|
||||
for series in result:
|
||||
title = series[1]
|
||||
mangadex_id = Ma.get_manga_id(title)
|
||||
if type(mangadex_id) == tuple:
|
||||
print("result is a tuple")
|
||||
similarity = __determine_similarity(mangadex_id["title"], title)
|
||||
if similarity > max_sim:
|
||||
max_sim = similarity
|
||||
manga_id = mangadex_id["id"]
|
||||
for alt_title in mangadex_id["alternate_titles"]:
|
||||
similarity = __determine_similarity(alt_title, title)
|
||||
if similarity > max_sim:
|
||||
max_sim = similarity
|
||||
manga_id = mangadex_id["id"]
|
||||
# print(mangadex_id)
|
||||
elif type(mangadex_id) == list:
|
||||
print("result is a list")
|
||||
# print(mangadex_id)
|
||||
for res_title in mangadex_id:
|
||||
similarity = __determine_similarity(res_title["title"], title)
|
||||
if similarity > max_sim:
|
||||
max_sim = similarity
|
||||
manga_id = res_title["id"]
|
||||
for alt_title in res_title["alternate_titles"]:
|
||||
similarity = __determine_similarity(alt_title, title)
|
||||
if similarity > max_sim:
|
||||
max_sim = similarity
|
||||
manga_id = res_title["id"]
|
||||
else:
|
||||
print(mangadex_id)
|
||||
print(manga_id)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# series_names=Komga.get_all_series()
|
||||
# for series in series_names:
|
||||
# print(series[0])
|
||||
# rename_files(series[0])
|
||||
folders = os.listdir(config["download_location"])
|
||||
for folder in folders:
|
||||
print(folder)
|
||||
check_folder(f'{config["download_location"]}/{folder}')
|
||||
rename_files(f'{config["download_location"]}/{folder}')
|
||||
|
||||
# rename_files(komga_data="Hell's Paradise - Jigokuraku")
|
||||
|
||||
# add_ids()
|
||||
Reference in New Issue
Block a user