typo transalte to translate,and some blank lines

This commit is contained in:
FatalFurY
2022-02-16 23:37:31 +08:00
parent ece2ee451c
commit 123a2a0c73
4 changed files with 81 additions and 52 deletions

View File

@@ -3,18 +3,21 @@ import json
import os import os
import re import re
import sys import sys
import time
import shutil import shutil
import typing import typing
import urllib3 import urllib3
import signal import signal
import platform import platform
import multiprocessing
from datetime import datetime, timedelta
from pathlib import Path
from opencc import OpenCC from opencc import OpenCC
import ADC_function
import config import config
from datetime import datetime, timedelta
import time
from pathlib import Path
from ADC_function import file_modification_days, get_html, parallel_download_files from ADC_function import file_modification_days, get_html, parallel_download_files
from number_parser import get_number from number_parser import get_number
from core import core_main, moveFailedFolder from core import core_main, moveFailedFolder
@@ -581,7 +584,7 @@ def main():
sys.exit(0) sys.exit(0)
import multiprocessing
if __name__ == '__main__': if __name__ == '__main__':
multiprocessing.freeze_support() multiprocessing.freeze_support()
main() main()

View File

@@ -235,8 +235,8 @@ def get_data_from_json(file_number, oCC): # 从JSON返回元数据
json_data['studio'] = studio json_data['studio'] = studio
json_data['director'] = director json_data['director'] = director
if conf.is_transalte(): if conf.is_translate():
translate_values = conf.transalte_values().split(",") translate_values = conf.translate_values().split(",")
for translate_value in translate_values: for translate_value in translate_values:
if json_data[translate_value] == "": if json_data[translate_value] == "":
continue continue
@@ -248,12 +248,12 @@ def get_data_from_json(file_number, oCC): # 从JSON返回元数据
continue continue
except: except:
pass pass
if conf.get_transalte_engine() == "azure": if conf.get_translate_engine() == "azure":
t = translate( t = translate(
json_data[translate_value], json_data[translate_value],
target_language="zh-Hans", target_language="zh-Hans",
engine=conf.get_transalte_engine(), engine=conf.get_translate_engine(),
key=conf.get_transalte_key(), key=conf.get_translate_key(),
) )
else: else:
t = translate(json_data[translate_value]) t = translate(json_data[translate_value])

View File

@@ -8,7 +8,7 @@ success_output_folder=JAV_output
soft_link=0 soft_link=0
failed_move=1 failed_move=1
auto_exit=0 auto_exit=0
transalte_to_sc=0 translate_to_sc=0
multi_threading=0 multi_threading=0
;actor_gender value: female(♀) or male(♂) or both(♀ ♂) or all(♂ ♀ ⚧) ;actor_gender value: female(♀) or male(♂) or both(♀ ♂) or all(♂ ♀ ⚧)
actor_gender=female actor_gender=female
@@ -51,7 +51,7 @@ folders=failed,JAV_output
switch=0 switch=0
; 机器翻译 ; 机器翻译
[transalte] [translate]
switch=0 switch=0
;可选项 google-free,azure ;可选项 google-free,azure
engine=google-free engine=google-free

106
config.py
View File

@@ -5,18 +5,17 @@ import configparser
import time import time
from pathlib import Path from pathlib import Path
G_conf_override = { G_conf_override = {
# index 0 save Config() first instance for quick access by using getInstance() # index 0 save Config() first instance for quick access by using getInstance()
0 : None, 0: None,
# register override config items # register override config items
"common:main_mode" : None, "common:main_mode": None,
"common:source_folder" : None, "common:source_folder": None,
"common:auto_exit" : None, "common:auto_exit": None,
"common:nfo_skip_days" : None, "common:nfo_skip_days": None,
"common:stop_counter" : None, "common:stop_counter": None,
"common:ignore_failed_list" : None, "common:ignore_failed_list": None,
"debug_mode:switch" : None "debug_mode:switch": None
} }
@@ -81,7 +80,7 @@ class Config:
sys.exit(2) sys.exit(2)
# 用户目录才确定具有写权限,因此选择 ~/mdc.ini 作为配置文件生成路径,而不是有可能并没有写权限的 # 用户目录才确定具有写权限,因此选择 ~/mdc.ini 作为配置文件生成路径,而不是有可能并没有写权限的
# 当前目录。目前版本也不再鼓励使用当前路径放置配置文件了,只是作为多配置文件的切换技巧保留。 # 当前目录。目前版本也不再鼓励使用当前路径放置配置文件了,只是作为多配置文件的切换技巧保留。
write_path = path_search_order[2] # Path.home() / "mdc.ini" write_path = path_search_order[2] # Path.home() / "mdc.ini"
write_path.write_text(res_path.read_text(encoding='utf-8'), encoding='utf-8') write_path.write_text(res_path.read_text(encoding='utf-8'), encoding='utf-8')
print("Config file '{}' created.".format(write_path.resolve())) print("Config file '{}' created.".format(write_path.resolve()))
input("Press Enter key exit...") input("Press Enter key exit...")
@@ -98,14 +97,18 @@ class Config:
# print("[-]",e) # print("[-]",e)
# sys.exit(3) # sys.exit(3)
# #self.conf = self._default_config() # #self.conf = self._default_config()
def getboolean_override(self, section, item) -> bool: def getboolean_override(self, section, item) -> bool:
return self.conf.getboolean(section, item) if G_conf_override[f"{section}:{item}"] is None else bool(G_conf_override[f"{section}:{item}"]) return self.conf.getboolean(section, item) if G_conf_override[f"{section}:{item}"] is None else bool(
G_conf_override[f"{section}:{item}"])
def getint_override(self, section, item) -> int: def getint_override(self, section, item) -> int:
return self.conf.getint(section, item) if G_conf_override[f"{section}:{item}"] is None else int(G_conf_override[f"{section}:{item}"]) return self.conf.getint(section, item) if G_conf_override[f"{section}:{item}"] is None else int(
G_conf_override[f"{section}:{item}"])
def get_override(self, section, item) -> str: def get_override(self, section, item) -> str:
return self.conf.get(section, item) if G_conf_override[f"{section}:{item}"] is None else str(G_conf_override[f"{section}:{item}"]) return self.conf.get(section, item) if G_conf_override[f"{section}:{item}"] is None else str(
G_conf_override[f"{section}:{item}"])
def main_mode(self) -> int: def main_mode(self) -> int:
try: try:
@@ -127,34 +130,46 @@ class Config:
def soft_link(self) -> bool: def soft_link(self) -> bool:
return self.conf.getboolean("common", "soft_link") return self.conf.getboolean("common", "soft_link")
def failed_move(self) -> bool: def failed_move(self) -> bool:
return self.conf.getboolean("common", "failed_move") return self.conf.getboolean("common", "failed_move")
def auto_exit(self) -> bool: def auto_exit(self) -> bool:
return self.getboolean_override("common", "auto_exit") return self.getboolean_override("common", "auto_exit")
def transalte_to_sc(self) -> bool:
return self.conf.getboolean("common", "transalte_to_sc") def translate_to_sc(self) -> bool:
return self.conf.getboolean("common", "translate_to_sc")
def multi_threading(self) -> bool: def multi_threading(self) -> bool:
return self.conf.getboolean("common", "multi_threading") return self.conf.getboolean("common", "multi_threading")
def del_empty_folder(self) -> bool: def del_empty_folder(self) -> bool:
return self.conf.getboolean("common", "del_empty_folder") return self.conf.getboolean("common", "del_empty_folder")
def nfo_skip_days(self) -> int: def nfo_skip_days(self) -> int:
try: try:
return self.getint_override("common", "nfo_skip_days") return self.getint_override("common", "nfo_skip_days")
except: except:
return 30 return 30
def stop_counter(self) -> int: def stop_counter(self) -> int:
try: try:
return self.getint_override("common", "stop_counter") return self.getint_override("common", "stop_counter")
except: except:
return 0 return 0
def ignore_failed_list(self) -> bool: def ignore_failed_list(self) -> bool:
return self.getboolean_override("common", "ignore_failed_list") return self.getboolean_override("common", "ignore_failed_list")
def download_only_missing_images(self) -> bool: def download_only_missing_images(self) -> bool:
return self.conf.getboolean("common", "download_only_missing_images") return self.conf.getboolean("common", "download_only_missing_images")
def mapping_table_validity(self) -> int: def mapping_table_validity(self) -> int:
return self.conf.getint("common", "mapping_table_validity") return self.conf.getint("common", "mapping_table_validity")
def is_transalte(self) -> bool:
return self.conf.getboolean("transalte", "switch") def is_translate(self) -> bool:
return self.conf.getboolean("translate", "switch")
def is_trailer(self) -> bool: def is_trailer(self) -> bool:
return self.conf.getboolean("trailer", "switch") return self.conf.getboolean("trailer", "switch")
@@ -190,18 +205,25 @@ class Config:
return extrafanart_download return extrafanart_download
except ValueError: except ValueError:
self._exit("extrafanart_folder") self._exit("extrafanart_folder")
def get_transalte_engine(self) -> str:
return self.conf.get("transalte","engine") def get_translate_engine(self) -> str:
# def get_transalte_appId(self) ->str: return self.conf.get("translate", "engine")
# return self.conf.get("transalte","appid")
def get_transalte_key(self) -> str: # def get_translate_appId(self) ->str:
return self.conf.get("transalte","key") # return self.conf.get("translate","appid")
def get_transalte_delay(self) -> int:
return self.conf.getint("transalte","delay") def get_translate_key(self) -> str:
def transalte_values(self) -> str: return self.conf.get("translate", "key")
return self.conf.get("transalte", "values")
def get_translate_delay(self) -> int:
return self.conf.getint("translate", "delay")
def translate_values(self) -> str:
return self.conf.get("translate", "values")
def get_translate_service_site(self) -> str: def get_translate_service_site(self) -> str:
return self.conf.get("transalte", "service_site") return self.conf.get("translate", "service_site")
def proxy(self): def proxy(self):
try: try:
sec = "proxy" sec = "proxy"
@@ -284,21 +306,21 @@ class Config:
def storyline_show(self) -> int: def storyline_show(self) -> int:
try: try:
v = self.conf.getint("storyline", "show_result") v = self.conf.getint("storyline", "show_result")
return v if v in (0,1,2) else 2 if v > 2 else 0 return v if v in (0, 1, 2) else 2 if v > 2 else 0
except: except:
return 0 return 0
def storyline_mode(self) -> int: def storyline_mode(self) -> int:
try: try:
v = self.conf.getint("storyline", "run_mode") v = self.conf.getint("storyline", "run_mode")
return v if v in (0,1,2) else 2 if v > 2 else 0 return v if v in (0, 1, 2) else 2 if v > 2 else 0
except: except:
return 1 return 1
def cc_convert_mode(self) -> int: def cc_convert_mode(self) -> int:
try: try:
v = self.conf.getint("cc_convert", "mode") v = self.conf.getint("cc_convert", "mode")
return v if v in (0,1,2) else 2 if v > 2 else 0 return v if v in (0, 1, 2) else 2 if v > 2 else 0
except: except:
return 1 return 1
@@ -320,7 +342,6 @@ class Config:
except: except:
return "hog" return "hog"
@staticmethod @staticmethod
def _exit(sec: str) -> None: def _exit(sec: str) -> None:
print("[-] Read config error! Please check the {} section in config.ini", sec) print("[-] Read config error! Please check the {} section in config.ini", sec)
@@ -340,7 +361,7 @@ class Config:
conf.set(sec1, "soft_link", "0") conf.set(sec1, "soft_link", "0")
conf.set(sec1, "failed_move", "1") conf.set(sec1, "failed_move", "1")
conf.set(sec1, "auto_exit", "0") conf.set(sec1, "auto_exit", "0")
conf.set(sec1, "transalte_to_sc", "1") conf.set(sec1, "translate_to_sc", "1")
# actor_gender value: female or male or both or all(含人妖) # actor_gender value: female or male or both or all(含人妖)
conf.set(sec1, "actor_gender", "female") conf.set(sec1, "actor_gender", "female")
conf.set(sec1, "del_empty_folder", "1") conf.set(sec1, "del_empty_folder", "1")
@@ -358,7 +379,6 @@ class Config:
conf.set(sec2, "type", "socks5") conf.set(sec2, "type", "socks5")
conf.set(sec2, "cacert_file", "") conf.set(sec2, "cacert_file", "")
sec3 = "Name_Rule" sec3 = "Name_Rule"
conf.add_section(sec3) conf.add_section(sec3)
conf.set(sec3, "location_rule", "actor + '/' + number") conf.set(sec3, "location_rule", "actor + '/' + number")
@@ -382,7 +402,7 @@ class Config:
conf.add_section(sec7) conf.add_section(sec7)
conf.set(sec7, "switch", "0") conf.set(sec7, "switch", "0")
sec8 = "transalte" sec8 = "translate"
conf.add_section(sec8) conf.add_section(sec8)
conf.set(sec8, "switch", "0") conf.set(sec8, "switch", "0")
conf.set(sec8, "engine", "google-free") conf.set(sec8, "engine", "google-free")
@@ -402,8 +422,10 @@ class Config:
sec11 = "media" sec11 = "media"
conf.add_section(sec11) conf.add_section(sec11)
conf.set(sec11, "media_type", ".mp4,.avi,.rmvb,.wmv,.mov,.mkv,.flv,.ts,.webm,.MP4,.AVI,.RMVB,.WMV,.MOV,.MKV,.FLV,.TS,.WEBM,iso,ISO") conf.set(sec11, "media_type",
conf.set(sec11, "sub_type", ".smi,.srt,.idx,.sub,.sup,.psb,.ssa,.ass,.txt,.usf,.xss,.ssf,.rt,.lrc,.sbv,.vtt,.ttml") ".mp4,.avi,.rmvb,.wmv,.mov,.mkv,.flv,.ts,.webm,.MP4,.AVI,.RMVB,.WMV,.MOV,.MKV,.FLV,.TS,.WEBM,iso,ISO")
conf.set(sec11, "sub_type",
".smi,.srt,.idx,.sub,.sup,.psb,.ssa,.ass,.txt,.usf,.xss,.ssf,.rt,.lrc,.sbv,.vtt,.ttml")
sec12 = "watermark" sec12 = "watermark"
conf.add_section(sec12) conf.add_section(sec12)
@@ -464,7 +486,8 @@ class IniProxy():
''' '''
if self.address: if self.address:
if self.proxytype in self.SUPPORT_PROXY_TYPE: if self.proxytype in self.SUPPORT_PROXY_TYPE:
proxies = {"http": self.proxytype + "://" + self.address, "https": self.proxytype + "://" + self.address} proxies = {"http": self.proxytype + "://" + self.address,
"https": self.proxytype + "://" + self.address}
else: else:
proxies = {"http": "http://" + self.address, "https": "https://" + self.address} proxies = {"http": "http://" + self.address, "https": "https://" + self.address}
else: else:
@@ -477,13 +500,16 @@ if __name__ == "__main__":
def evprint(evstr): def evprint(evstr):
code = compile(evstr, "<string>", "eval") code = compile(evstr, "<string>", "eval")
print('{}: "{}"'.format(evstr, eval(code))) print('{}: "{}"'.format(evstr, eval(code)))
config = Config() config = Config()
mfilter = {'conf', 'proxy', '_exit', '_default_config', 'getboolean_override', 'getint_override', 'get_override', 'ini_path'} mfilter = {'conf', 'proxy', '_exit', '_default_config', 'getboolean_override', 'getint_override', 'get_override',
'ini_path'}
for _m in [m for m in dir(config) if not m.startswith('__') and m not in mfilter]: for _m in [m for m in dir(config) if not m.startswith('__') and m not in mfilter]:
evprint(f'config.{_m}()') evprint(f'config.{_m}()')
pfilter = {'proxies', 'SUPPORT_PROXY_TYPE'} pfilter = {'proxies', 'SUPPORT_PROXY_TYPE'}
# test getInstance() # test getInstance()
assert(getInstance() == config) assert (getInstance() == config)
for _p in [p for p in dir(getInstance().proxy()) if not p.startswith('__') and p not in pfilter]: for _p in [p for p in dir(getInstance().proxy()) if not p.startswith('__') and p not in pfilter]:
evprint(f'getInstance().proxy().{_p}') evprint(f'getInstance().proxy().{_p}')