Skip to content

Commit

Permalink
Update 1.7
Browse files Browse the repository at this point in the history
  • Loading branch information
mvdctop authored Nov 24, 2019
1 parent 5e34602 commit 7ccc718
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 72 deletions.
13 changes: 13 additions & 0 deletions ADC_function.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import re
import time
import sys
from lxml import etree

config_file='config.ini'
config = ConfigParser()
Expand Down Expand Up @@ -58,6 +59,12 @@
except:
print('[-]Config.ini read failed! Please use the offical file!')

def getDataState(json_data): # 元数据获取失败检测
if json_data['title'] == '' or json_data['title'] == 'None' or json_data['title'] == 'null':
return 0
else:
return 1

def ReadMediaWarehouse():
return config['media']['media_warehouse']

Expand All @@ -69,6 +76,12 @@ def UpdateCheckSwitch():
return '0'
elif check == '':
return '0'

def getXpathSingle(htmlcode,xpath):
html = etree.fromstring(htmlcode, etree.HTMLParser())
result1 = str(html.xpath(xpath)).strip(" ['']")
return result1

def get_html(url,cookies = None):#网页请求核心
try:
proxy = config['proxy']['proxy']
Expand Down
7 changes: 3 additions & 4 deletions AV_Data_Capture.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

# ============global var===========

version='1.5'
version='1.7'

config = ConfigParser()
config.read(config_file, encoding='UTF-8')
Expand All @@ -35,7 +35,6 @@ def moveMovies():
movieFiles = movieFiles + [os.path.join(dirpath, f)
for dirpath, dirnames, files in os.walk(fromPath)
for f in fnmatch.filter(files, '*.' + fm)]
print(movieFiles)
for movie in movieFiles:
print("Move file " + movie)
shutil.move(movie, os.path.curdir)
Expand All @@ -45,8 +44,8 @@ def UpdateCheck():
html = json.loads(str(html2))

if not version == html['version']:
print('[*] * New update ' + html['version'] + ' *')
print('[*] * Download *')
print('[*] * New update ' + html['version'] + ' *')
print('[*] * Download *')
print('[*] ' + html['download'])
print('[*]=====================================')
else:
Expand Down
49 changes: 21 additions & 28 deletions core.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
import avsox
import javbus
import javdb

# =========website========


# 初始化全局变量
Config = ConfigParser()
Config.read(config_file, encoding='UTF-8')
Expand Down Expand Up @@ -89,13 +89,6 @@ def CreatFailedFolder():
os._exit(0)


def getDataState(json_data): # 元数据获取失败检测
if json_data['title'] == '' or json_data['title'] == 'None' or json_data['title'] == 'null':
return 0
else:
return 1


def getDataFromJSON(file_number): # 从JSON返回元数据
global title
global studio
Expand Down Expand Up @@ -131,7 +124,7 @@ def getDataFromJSON(file_number): # 从JSON返回元数据
json_data = json.loads(siro.main(file_number))
if getDataState(json_data) == 0: # 如果元数据获取失败,请求番号至其他网站抓取
json_data = json.loads(javbus.main(file_number))
elif getDataState(json_data) == 0: # 如果元数据获取失败,请求番号至其他网站抓取
if getDataState(json_data) == 0: # 如果元数据获取失败,请求番号至其他网站抓取
json_data = json.loads(javdb.main(file_number))
# ==
elif 'fc2' in file_number or 'FC2' in file_number:
Expand Down Expand Up @@ -308,16 +301,16 @@ def DownloadFileWithFilename(url, filename, path): # path = examle:photo , vide

def imageDownload(): # 封面是否下载成功,否则移动到failed
if option == 'emby':
if DownloadFileWithFilename(cover, number + '.jpg', path) == 'failed':
if DownloadFileWithFilename(cover, number + c_word + '.jpg', path) == 'failed':
moveFailedFolder()
DownloadFileWithFilename(cover, number + '.jpg', path)
DownloadFileWithFilename(cover, number + c_word + '.jpg', path)
if multi_part == 1:
old_name = os.path.join(path, number + '.jpg')
new_name = os.path.join(path, number + '.jpg')
old_name = os.path.join(path, number + c_word + '.jpg')
new_name = os.path.join(path, number + c_word + '.jpg')
os.rename(old_name, new_name)
print('[+]Image Downloaded!', path + '/' + number + '.jpg')
print('[+]Image Downloaded!', path + '/' + number + c_word + '.jpg')
else:
print('[+]Image Downloaded!', path + '/' + number + '.jpg')
print('[+]Image Downloaded!', path + '/' + number + c_word + '.jpg')
elif option == 'plex':
if DownloadFileWithFilename(cover, 'fanart.jpg', path) == 'failed':
moveFailedFolder()
Expand Down Expand Up @@ -393,9 +386,9 @@ def PrintFiles():
print(" <plot>" + outline + "</plot>", file=code)
print(" <runtime>" + str(runtime).replace(" ", "") + "</runtime>", file=code)
print(" <director>" + director + "</director>", file=code)
print(" <poster>" + number + ".png</poster>", file=code)
print(" <thumb>" + number + ".png</thumb>", file=code)
print(" <fanart>" + number + '.jpg' + "</fanart>", file=code)
print(" <poster>" + number + c_word + ".png</poster>", file=code)
print(" <thumb>" + number + c_word + ".png</thumb>", file=code)
print(" <fanart>" + number + c_word + '.jpg' + "</fanart>", file=code)
try:
for key, value in actor_photo.items():
print(" <actor>", file=code)
Expand Down Expand Up @@ -504,19 +497,19 @@ def cutImage():
elif option == 'emby':
if imagecut == 1:
try:
img = Image.open(path + '/' + number + '.jpg')
img = Image.open(path + '/' + number + c_word + '.jpg')
imgSize = img.size
w = img.width
h = img.height
img2 = img.crop((w / 1.9, 0, w, h))
img2.save(path + '/' + number + '.png')
img2.save(path + '/' + number + c_word + '.png')
except:
print('[-]Cover cut failed!')
elif imagecut == 0:
img = Image.open(path + '/' + number + '.jpg')
img = Image.open(path + '/' + number + c_word + '.jpg')
w = img.width
h = img.height
img.save(path + '/' + number + '.png')
img.save(path + '/' + number + c_word + '.png')
elif option == 'kodi':
if imagecut == 1:
try:
Expand Down Expand Up @@ -578,7 +571,7 @@ def copyRenameJpgToBackdrop():
shutil.copy(path + '/fanart.jpg', path + '/Backdrop.jpg')
shutil.copy(path + '/poster.png', path + '/thumb.png')
if option == 'emby':
shutil.copy(path + '/' + number + '.jpg', path + '/Backdrop.jpg')
shutil.copy(path + '/' + number + c_word + '.jpg', path + '/Backdrop.jpg')
if option == 'kodi':
shutil.copy(path + '/' + number + c_word + '-fanart.jpg', path + '/Backdrop.jpg')

Expand Down Expand Up @@ -618,9 +611,9 @@ def debug_mode():
part = get_part(filepath)
if '-c.' in filepath or '-C.' in filepath or '中文' in filepath or '字幕' in filepath:
cn_sub = '1'
c_word = '-C'
c_word = '-C' #中文字幕影片后缀

if argparse_get_file()[1] == '': # 获取手动拉去影片获取的番号
if argparse_get_file()[1] == '': # 如果第二个运行参数为空,获取从第一个参数影片路径的番号
try:
number = str(re.findall(r'(.+?)\.', str(re.search('([^<>/\\\\|:""\\*\\?]+)\\.\\w+$', filepath).group()))).strip("['']").replace('_', '-')
print("[!]Making Data for [" + number + "]")
Expand All @@ -629,14 +622,14 @@ def debug_mode():
moveFailedFolder()
else:
number = argparse_get_file()[1]
CreatFailedFolder()
CreatFailedFolder() # 创建输出失败目录
getDataFromJSON(number) # 定义番号
debug_mode()
debug_mode() # 调试模式检测
creatFolder() # 创建文件夹
if program_mode == '1':
if multi_part == 1:
number += part # 这时number会被附加上CD1后缀
smallCoverCheck()
smallCoverCheck() # 检查小封面
imageDownload() # creatFoder会返回番号路径
cutImage() # 裁剪图
copyRenameJpgToBackdrop()
Expand Down
64 changes: 26 additions & 38 deletions javdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,71 +69,59 @@ def getOutline(htmlcode):
return result
def main(number):
try:
a = get_html('https://javdb.com/search?q=' + number + '&f=all')
a = get_html('https://javdb.com/search?q=' + number + '&f=all').replace(u'\xa0', u' ')
html = etree.fromstring(a, etree.HTMLParser()) # //table/tr[1]/td[1]/text()
result1 = str(html.xpath('//*[@id="videos"]/div/div/a/@href')).strip(" ['']")
if result1 == '':
a = get_html('https://javdb.com/search?q=' + number.replace('-', '_') + '&f=all')
html = etree.fromstring(a, etree.HTMLParser()) # //table/tr[1]/td[1]/text()
result1 = str(html.xpath('//*[@id="videos"]/div/div/a/@href')).strip(" ['']")
b = get_html('https://javdb1.com' + result1)
soup = BeautifulSoup(b, 'lxml')
a = str(soup.find(attrs={'class': 'panel'}))
b = get_html('https://javdb.com' + result1).replace(u'\xa0', u' ')
dic = {
'actor': getActor(a),
'title': getTitle(b).replace("\\n", '').replace(' ', '').replace(getActor(a), '').replace(getNum(a),
'').replace(
'无码', '').replace('有码', '').lstrip(' '),
'studio': getStudio(a),
'outline': getOutline(a),
'runtime': getRuntime(a),
'director': getDirector(a),
'release': getRelease(a),
'number': getNum(a),
'studio': getStudio(b),
'outline': getOutline(b),
'runtime': getRuntime(b),
'director': getDirector(b),
'release': getRelease(b),
'number': getNum(b),
'cover': getCover(b),
'imagecut': 0,
'tag': getTag(a),
'label': getLabel(a),
'year': getYear(getRelease(a)), # str(re.search('\d{4}',getRelease(a)).group()),
'tag': getTag(b),
'label': getLabel(b),
'year': getYear(getRelease(b)), # str(re.search('\d{4}',getRelease(a)).group()),
'actor_photo': '',
'website': 'https://javdb1.com' + result1,
'website': 'https://javdb.com' + result1,
'source': 'javdb.py',
}
js = json.dumps(dic, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ':'), ) # .encode('UTF-8')
return js
except:
a = get_html('https://javdb.com/search?q=' + number + '&f=all')
a = get_html('https://javdb.com/search?q=' + number + '&f=all').replace(u'\xa0', u' ')
html = etree.fromstring(a, etree.HTMLParser()) # //table/tr[1]/td[1]/text()
result1 = str(html.xpath('//*[@id="videos"]/div/div/a/@href')).strip(" ['']")
if result1 == '' or result1 == 'null':
a = get_html('https://javdb.com/search?q=' + number.replace('-', '_') + '&f=all')
html = etree.fromstring(a, etree.HTMLParser()) # //table/tr[1]/td[1]/text()
result1 = str(html.xpath('//*[@id="videos"]/div/div/a/@href')).strip(" ['']")
b = get_html('https://javdb.com' + result1)
soup = BeautifulSoup(b, 'lxml')
a = str(soup.find(attrs={'class': 'panel'}))
b = get_html('https://javdb.com' + result1).replace(u'\xa0', u' ')
dic = {
'actor': getActor(a),
'actor': getActor(b),
'title': getTitle(b).replace("\\n", '').replace(' ', '').replace(getActor(a), '').replace(
getNum(a),
getNum(b),
'').replace(
'无码', '').replace('有码', '').lstrip(' '),
'studio': getStudio(a),
'outline': getOutline(a),
'runtime': getRuntime(a),
'director': getDirector(a),
'release': getRelease(a),
'number': getNum(a),
'studio': getStudio(b),
'outline': getOutline(b),
'runtime': getRuntime(b),
'director': getDirector(b),
'release': getRelease(b),
'number': getNum(b),
'cover': getCover(b),
'imagecut': 0,
'tag': getTag(a),
'label': getLabel(a),
'year': getYear(getRelease(a)), # str(re.search('\d{4}',getRelease(a)).group()),
'tag': getTag(b),
'label': getLabel(b),
'year': getYear(getRelease(b)), # str(re.search('\d{4}',getRelease(a)).group()),
'actor_photo': '',
'website': 'https://javdb.com' + result1,
'source': 'javdb.py',
}
js = json.dumps(dic, ensure_ascii=False, sort_keys=True, indent=4,separators=(',', ':'), ) # .encode('UTF-8')
return js

#print(main('061519-861'))
#print(get_html('https://javdb1.com/v/WwZ0Q'))
4 changes: 2 additions & 2 deletions update_check.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.6",
"version_show":"1.6",
"version": "1.7",
"version_show":"1.7",
"download": "https://github.com/yoshiko2/AV_Data_Capture/releases"
}

0 comments on commit 7ccc718

Please sign in to comment.