Update 2.8.3
This commit is contained in:
@@ -1,162 +1,162 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import glob
|
import glob
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
import re
|
import re
|
||||||
from ADC_function import *
|
from ADC_function import *
|
||||||
from core import *
|
from core import *
|
||||||
import json
|
import json
|
||||||
import shutil
|
import shutil
|
||||||
from configparser import ConfigParser
|
from configparser import ConfigParser
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
def UpdateCheck(version):
|
def UpdateCheck(version):
|
||||||
if UpdateCheckSwitch() == '1':
|
if UpdateCheckSwitch() == '1':
|
||||||
html2 = get_html('https://raw.githubusercontent.com/yoshiko2/AV_Data_Capture/master/update_check.json')
|
html2 = get_html('https://raw.githubusercontent.com/yoshiko2/AV_Data_Capture/master/update_check.json')
|
||||||
html = json.loads(str(html2))
|
html = json.loads(str(html2))
|
||||||
|
|
||||||
if not version == html['version']:
|
if not version == html['version']:
|
||||||
print('[*] * New update ' + html['version'] + ' *')
|
print('[*] * New update ' + html['version'] + ' *')
|
||||||
print('[*] ↓ Download ↓')
|
print('[*] ↓ Download ↓')
|
||||||
print('[*] ' + html['download'])
|
print('[*] ' + html['download'])
|
||||||
print('[*]======================================================')
|
print('[*]======================================================')
|
||||||
else:
|
else:
|
||||||
print('[+]Update Check disabled!')
|
print('[+]Update Check disabled!')
|
||||||
|
|
||||||
def argparse_get_file():
|
def argparse_get_file():
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("file", default='',nargs='?', help="Write the file path on here")
|
parser.add_argument("file", default='',nargs='?', help="Write the file path on here")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
if args.file == '':
|
if args.file == '':
|
||||||
return ''
|
return ''
|
||||||
else:
|
else:
|
||||||
return args.file
|
return args.file
|
||||||
|
|
||||||
def movie_lists(escape_folder):
|
def movie_lists(escape_folder):
|
||||||
escape_folder = re.split('[,,]', escape_folder)
|
escape_folder = re.split('[,,]', escape_folder)
|
||||||
total = []
|
total = []
|
||||||
file_type = ['.mp4', '.avi', '.rmvb', '.wmv', '.mov', '.mkv', '.flv', '.ts', '.webm', '.MP4', '.AVI', '.RMVB', '.WMV','.MOV', '.MKV', '.FLV', '.TS', '.WEBM', ]
|
file_type = ['.mp4', '.avi', '.rmvb', '.wmv', '.mov', '.mkv', '.flv', '.ts', '.webm', '.MP4', '.AVI', '.RMVB', '.WMV','.MOV', '.MKV', '.FLV', '.TS', '.WEBM', ]
|
||||||
file_root = os.getcwd()
|
file_root = os.getcwd()
|
||||||
for root, dirs, files in os.walk(file_root):
|
for root, dirs, files in os.walk(file_root):
|
||||||
flag_escape = 0
|
flag_escape = 0
|
||||||
for folder in escape_folder:
|
for folder in escape_folder:
|
||||||
if folder in root:
|
if folder in root:
|
||||||
flag_escape = 1
|
flag_escape = 1
|
||||||
break
|
break
|
||||||
if flag_escape == 1:
|
if flag_escape == 1:
|
||||||
continue
|
continue
|
||||||
for f in files:
|
for f in files:
|
||||||
if os.path.splitext(f)[1] in file_type:
|
if os.path.splitext(f)[1] in file_type:
|
||||||
path = os.path.join(root, f)
|
path = os.path.join(root, f)
|
||||||
path = path.replace(file_root, '.')
|
path = path.replace(file_root, '.')
|
||||||
total.append(path)
|
total.append(path)
|
||||||
return total
|
return total
|
||||||
|
|
||||||
|
|
||||||
def CreatFailedFolder(failed_folder):
|
def CreatFailedFolder(failed_folder):
|
||||||
if not os.path.exists(failed_folder + '/'): # 新建failed文件夹
|
if not os.path.exists(failed_folder + '/'): # 新建failed文件夹
|
||||||
try:
|
try:
|
||||||
os.makedirs(failed_folder + '/')
|
os.makedirs(failed_folder + '/')
|
||||||
except:
|
except:
|
||||||
print("[-]failed!can not be make folder 'failed'\n[-](Please run as Administrator)")
|
print("[-]failed!can not be make folder 'failed'\n[-](Please run as Administrator)")
|
||||||
os._exit(0)
|
os._exit(0)
|
||||||
|
|
||||||
|
|
||||||
def CEF(path):
|
def CEF(path):
|
||||||
try:
|
try:
|
||||||
files = os.listdir(path) # 获取路径下的子文件(夹)列表
|
files = os.listdir(path) # 获取路径下的子文件(夹)列表
|
||||||
for file in files:
|
for file in files:
|
||||||
os.removedirs(path + '/' + file) # 删除这个空文件夹
|
os.removedirs(path + '/' + file) # 删除这个空文件夹
|
||||||
print('[+]Deleting empty folder', path + '/' + file)
|
print('[+]Deleting empty folder', path + '/' + file)
|
||||||
except:
|
except:
|
||||||
a = ''
|
a = ''
|
||||||
|
|
||||||
|
|
||||||
def getNumber(filepath,absolute_path = False):
|
def getNumber(filepath,absolute_path = False):
|
||||||
if absolute_path == True:
|
if absolute_path == True:
|
||||||
filepath=filepath.replace('\\','/')
|
filepath=filepath.replace('\\','/')
|
||||||
file_number = str(re.findall(r'(.+?)\.', str(re.search('([^<>/\\\\|:""\\*\\?]+)\\.\\w+$', filepath).group()))).strip("['']").replace('_', '-')
|
file_number = str(re.findall(r'(.+?)\.', str(re.search('([^<>/\\\\|:""\\*\\?]+)\\.\\w+$', filepath).group()))).strip("['']").replace('_', '-')
|
||||||
return file_number
|
return file_number
|
||||||
if '-' in filepath or '_' in filepath: # 普通提取番号 主要处理包含减号-和_的番号
|
if '-' in filepath or '_' in filepath: # 普通提取番号 主要处理包含减号-和_的番号
|
||||||
filepath = filepath.replace("_", "-")
|
filepath = filepath.replace("_", "-")
|
||||||
filepath.strip('22-sht.me').strip('-HD').strip('-hd')
|
filepath.strip('22-sht.me').strip('-HD').strip('-hd')
|
||||||
filename = str(re.sub("\[\d{4}-\d{1,2}-\d{1,2}\] - ", "", filepath)) # 去除文件名中时间
|
filename = str(re.sub("\[\d{4}-\d{1,2}-\d{1,2}\] - ", "", filepath)) # 去除文件名中时间
|
||||||
if 'FC2' or 'fc2' in filename:
|
if 'FC2' or 'fc2' in filename:
|
||||||
filename = filename.replace('-PPV', '').replace('PPV-', '').replace('FC2PPV-','FC2-').replace('FC2PPV_','FC2-')
|
filename = filename.replace('-PPV', '').replace('PPV-', '').replace('FC2PPV-','FC2-').replace('FC2PPV_','FC2-')
|
||||||
file_number = re.search(r'\w+-\w+', filename, re.A).group()
|
file_number = re.search(r'\w+-\w+', filename, re.A).group()
|
||||||
return file_number
|
return file_number
|
||||||
else: # 提取不含减号-的番号,FANZA CID
|
else: # 提取不含减号-的番号,FANZA CID
|
||||||
try:
|
try:
|
||||||
return str(re.findall(r'(.+?)\.', str(re.search('([^<>/\\\\|:""\\*\\?]+)\\.\\w+$', filepath).group()))).strip("['']").replace('_', '-')
|
return str(re.findall(r'(.+?)\.', str(re.search('([^<>/\\\\|:""\\*\\?]+)\\.\\w+$', filepath).group()))).strip("['']").replace('_', '-')
|
||||||
except:
|
except:
|
||||||
return re.search(r'(.+?)\.', filepath)[0]
|
return re.search(r'(.+?)\.', filepath)[0]
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
version = '2.8.2'
|
version = '2.8.2'
|
||||||
config_file = 'config.ini'
|
config_file = 'config.ini'
|
||||||
config = ConfigParser()
|
config = ConfigParser()
|
||||||
config.read(config_file, encoding='UTF-8')
|
config.read(config_file, encoding='UTF-8')
|
||||||
success_folder = config['common']['success_output_folder']
|
success_folder = config['common']['success_output_folder']
|
||||||
failed_folder = config['common']['failed_output_folder'] # 失败输出目录
|
failed_folder = config['common']['failed_output_folder'] # 失败输出目录
|
||||||
escape_folder = config['escape']['folders'] # 多级目录刮削需要排除的目录
|
escape_folder = config['escape']['folders'] # 多级目录刮削需要排除的目录
|
||||||
print('[*]================== AV Data Capture ===================')
|
print('[*]================== AV Data Capture ===================')
|
||||||
print('[*] Version ' + version)
|
print('[*] Version ' + version)
|
||||||
print('[*]======================================================')
|
print('[*]======================================================')
|
||||||
|
|
||||||
UpdateCheck(version)
|
UpdateCheck(version)
|
||||||
CreatFailedFolder(failed_folder)
|
CreatFailedFolder(failed_folder)
|
||||||
os.chdir(os.getcwd())
|
os.chdir(os.getcwd())
|
||||||
movie_list = movie_lists(escape_folder)
|
movie_list = movie_lists(escape_folder)
|
||||||
|
|
||||||
#========== 野鸡番号拖动 ==========
|
#========== 野鸡番号拖动 ==========
|
||||||
number_argparse=argparse_get_file()
|
number_argparse=argparse_get_file()
|
||||||
if not number_argparse == '':
|
if not number_argparse == '':
|
||||||
print("[!]Making Data for [" + number_argparse + "], the number is [" + getNumber(number_argparse,absolute_path = True) + "]")
|
print("[!]Making Data for [" + number_argparse + "], the number is [" + getNumber(number_argparse,absolute_path = True) + "]")
|
||||||
core_main(number_argparse, getNumber(number_argparse,absolute_path = True))
|
core_main(number_argparse, getNumber(number_argparse,absolute_path = True))
|
||||||
print("[*]======================================================")
|
print("[*]======================================================")
|
||||||
CEF(success_folder)
|
CEF(success_folder)
|
||||||
CEF(failed_folder)
|
CEF(failed_folder)
|
||||||
print("[+]All finished!!!")
|
print("[+]All finished!!!")
|
||||||
input("[+][+]Press enter key exit, you can check the error messge before you exit.")
|
input("[+][+]Press enter key exit, you can check the error messge before you exit.")
|
||||||
os._exit(0)
|
os._exit(0)
|
||||||
# ========== 野鸡番号拖动 ==========
|
# ========== 野鸡番号拖动 ==========
|
||||||
|
|
||||||
count = 0
|
count = 0
|
||||||
count_all = str(len(movie_list))
|
count_all = str(len(movie_list))
|
||||||
print('[+]Find', count_all, 'movies')
|
print('[+]Find', count_all, 'movies')
|
||||||
if config['common']['soft_link'] == '1':
|
if config['common']['soft_link'] == '1':
|
||||||
print('[!] --- Soft link mode is ENABLE! ----')
|
print('[!] --- Soft link mode is ENABLE! ----')
|
||||||
for i in movie_list: # 遍历电影列表 交给core处理
|
for i in movie_list: # 遍历电影列表 交给core处理
|
||||||
count = count + 1
|
count = count + 1
|
||||||
percentage = str(count / int(count_all) * 100)[:4] + '%'
|
percentage = str(count / int(count_all) * 100)[:4] + '%'
|
||||||
print('[!] - ' + percentage + ' [' + str(count) + '/' + count_all + '] -')
|
print('[!] - ' + percentage + ' [' + str(count) + '/' + count_all + '] -')
|
||||||
# print("[!]Making Data for [" + i + "], the number is [" + getNumber(i) + "]")
|
print("[!]Making Data for [" + i + "], the number is [" + getNumber(i) + "]")
|
||||||
# core_main(i, getNumber(i))
|
core_main(i, getNumber(i))
|
||||||
# print("[*]======================================================")
|
print("[*]======================================================")
|
||||||
try:
|
# try:
|
||||||
print("[!]Making Data for [" + i + "], the number is [" + getNumber(i) + "]")
|
# print("[!]Making Data for [" + i + "], the number is [" + getNumber(i) + "]")
|
||||||
core_main(i, getNumber(i))
|
# core_main(i, getNumber(i))
|
||||||
print("[*]======================================================")
|
# print("[*]======================================================")
|
||||||
except: # 番号提取异常
|
# except: # 番号提取异常
|
||||||
print('[-]' + i + ' Cannot catch the number :')
|
# print('[-]' + i + ' Cannot catch the number :')
|
||||||
if config['common']['soft_link'] == '1':
|
# if config['common']['soft_link'] == '1':
|
||||||
print('[-]Link', i, 'to failed folder')
|
# print('[-]Link', i, 'to failed folder')
|
||||||
os.symlink(i, str(os.getcwd()) + '/' + failed_folder + '/')
|
# os.symlink(i, str(os.getcwd()) + '/' + failed_folder + '/')
|
||||||
else:
|
# else:
|
||||||
try:
|
# try:
|
||||||
print('[-]Move ' + i + ' to failed folder')
|
# print('[-]Move ' + i + ' to failed folder')
|
||||||
shutil.move(i, str(os.getcwd()) + '/' + failed_folder + '/')
|
# shutil.move(i, str(os.getcwd()) + '/' + failed_folder + '/')
|
||||||
except FileExistsError:
|
# except FileExistsError:
|
||||||
print('[!]File exists in failed!')
|
# print('[!]File exists in failed!')
|
||||||
except:
|
# except:
|
||||||
print('[+]skip')
|
# print('[+]skip')
|
||||||
continue
|
# continue
|
||||||
|
|
||||||
CEF(success_folder)
|
CEF(success_folder)
|
||||||
CEF(failed_folder)
|
CEF(failed_folder)
|
||||||
print("[+]All finished!!!")
|
print("[+]All finished!!!")
|
||||||
input("[+][+]Press enter key exit, you can check the error messge before you exit.")
|
input("[+][+]Press enter key exit, you can check the error messge before you exit.")
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ media_warehouse=emby
|
|||||||
#emby or plex or kodi ,emby=jellyfin
|
#emby or plex or kodi ,emby=jellyfin
|
||||||
|
|
||||||
[escape]
|
[escape]
|
||||||
literals=\()
|
literals=\()/
|
||||||
folders=failed,JAV_output
|
folders=failed,JAV_output
|
||||||
|
|
||||||
[debug_mode]
|
[debug_mode]
|
||||||
switch=1
|
switch=0
|
||||||
BIN
linux_make
Executable file
BIN
linux_make
Executable file
Binary file not shown.
Reference in New Issue
Block a user