脚本已适配Windows(x
wzfdgh opened this issue · comments
先贴个代码awa
# -*- coding: utf-8 -*-
from sys import argv
from os import system
from time import sleep
from re import findall, search, sub, I
def TitleMatch(VideoName):
Season = '01'
SubtitleGroupDate = ['字幕', 'Raws', 'sub', '汉化', '搬运', '月新番', 'Airota', 'Comicat', 'DMHY', 'NC-Raws', 'ANi',
'LoliHouse', 'Sakurato', 'TSDM', 'LoveEcho', 'EMe', 'Sakura', 'SweetSub', 'AHU-SUB',
'VCB-Studio', 'GM-Team',
'MingY', 'cc动漫', '推しの子', '喵萌奶茶屋', '天月搬运组', '萝莉社活动室', '千夏生活向上委员会', '酷漫404',
'拨雪寻春', '霜庭云花Sub', 'FSD炸鸽社', '雪飘工作室', '丸子家族', '驯兽师联盟', '肥猫压制', '离谱', '虹咲学园烤肉同好会',
'AQUA工作室', '晨曦制作', '夜莺家族', 'Liella!の烧烤摊']
FirstIntKeyWord = ['仅限港澳台地区']
import os
filename, extension = os.path.splitext(VideoName)
FileType = extension
VideoName = sub(r',|,| ', '-', VideoName, flags=I)
VideoName = sub(r'[^A-Za-z0-9_s&/-u4e00-u9fa5]', '=', VideoName, flags=I)
Episodes = findall(r'[^0-9a-z\u4e00-\u9fa5][0-2]{1}[0-9]{1}[^0-9\u4e00-\u9fa5]',VideoName,flags=I)[0].strip(" =-_eE")
VideoName = sub(r'%s.*' % Episodes, '', VideoName, flags=I)
for i in range(len(FirstIntKeyWord)):
VideoName = sub(r'%s' % FirstIntKeyWord[i], '', VideoName, flags=I)
for i in range(len(SubtitleGroupDate)):
VideoName = sub(r'=.*?%s.*?=' % SubtitleGroupDate[i], '', VideoName, flags=I)
VideoName = VideoName.replace('=', '').replace(' ', '').strip('-')
if ('/' in VideoName) == True:
VideoName = VideoName.split("/", 1)
if VideoName[1].replace('-', '').isalnum() == True:
if search(r'[0-9]{0,1}[0-9]{1}S', VideoName[1][::-1], flags=I) != None:
Season = search(r'[0-9]{0,1}[0-9]{1}S',VideoName[1][::-1],flags=I).group(0)[::-1]
TrueVideoName = VideoName[1].strip(Season)
Season = search(r'[0-9]{0,1}[0-9]{1}S',VideoName[1][::-1],flags=I).group(0)[::-1].strip('Ss')
elif search(r'季.*?第|[0-9]{0,1}[0-9]{1}S',VideoName[::-1],flags=I) != None:
Season = search(r'(季.*?第|[0-9]{0,1}[0-9]{1}S)',VideoName[::-1],flags=I).group(0)[::-1]
TrueVideoName = VideoName.strip(Season)
Season = search(r'(季.*?第|[0-9]{0,1}[0-9]{1}S)',VideoName[::-1],flags=I).group(0)[::-1].strip('第季Ss')
if Season.isdigit() == True:
pass
else:
digit = {'一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9}
Season = digit[Season]
else:
TrueVideoName = VideoName
TrueVideoName = TrueVideoName.strip('-')
return Season,Episodes,TrueVideoName,FileType
def GetArgv():
SavePath,VideoName = argv[1],argv[2]
return SavePath,VideoName
def AutoMv(SavePath,VideoName,Season,Episodes,VideoTrueName,FileType):
NewName = f"S{Season}E{Episodes}{FileType}"
NewVideoDir = f"{VideoTrueName}\S01"
system(f'mkdir {SavePath}\{NewVideoDir}')
sleep(2)
system(f'move "{SavePath}\{VideoName}" "{SavePath}\{NewVideoDir}\{NewName}"')
def Test(test):
return TitleMatch(test)
if __name__ == "__main__":
SavePath,VideoName = GetArgv()
Season,Episodes,VideoTrueName,FileType = TitleMatch(VideoName)
AutoMv(SavePath,VideoName,Season,Episodes,VideoTrueName,FileType)
使用Python x64 3.11.3
修改如下:
- 删除
动漫
分类 - 适配RSS多文件夹下载(输出改为为 下载目录\S01\S01Exx.xxx)
- 优化Windows下FileType判断逻辑
- 优化移动文件逻辑
- etc.
- 可以可以,我的鬼画符code你居然能看懂,有兴趣提PR的话,你就再多写个识别操作系统的函数,分类功能就改成可选
- 对了,要提PR的话请交到dev分支,我之后好整合格式化一下
我改完了你都没回我😰
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
我改完了你都没回我😰
哈哈不好意思,才看到(w
还有什么需要改动的地方吗
- 你可以去
main
分支看看最新版code满不满意 - 有几个想开发的功能和遇到的一些难题,我讲一下,有兴趣的话可以一起实现下
1.现在这个工具只能认一般规范一点的剧集和剧季,但总有些番剧集有特典,剧季名称是xx季是别名的😩这么复杂TMDB它不认就很头痛,现在有一个天大的脑洞就是给ai来认🫠,其实我是想做个整理数据查询数据库的
2.现在剧集的判断也很武断,为了分别年份数据和剧集,我直接砍掉超多剧集的支持,现在上限我设置的是29集
etc 不早了,先sleep保住小命(x
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
- 我也不知道,但就是有
- 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
- 我也不知道,但就是有
- 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了
几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
- 我也不知道,但就是有
- 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了
几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不
- 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
- 我也不知道,但就是有
- 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了
几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不
- 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰
话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
- 我也不知道,但就是有
- 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了
几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不
- 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰
话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....
- 不在,你可以单独开个新群,在别人项目群好像不大好
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
- 我也不知道,但就是有
- 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了
几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不
- 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰
话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....
- 不在,你可以单独开个新群,在别人项目群好像不大好
看看pr,话说那个进群的是你不
- 你就是新群的管理了,在群里摸摸鱼(x
- 那个PR你关了吧,我找个好看的emj,或者你找了个好看的再提
我改完了你都没回我😰
哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支
- 操作系统识别那个我已经实现了
- 😰😰你可以回一下我的回复么
来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况
- Autobangumi那个源码我还没看,不知道咋处理的
- 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发
我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了
- 剧集那个,我想了一下还是好好写个识别日期的函数吧
已经在看了
PS:剧集信息为什么会有年份(w
- 我也不知道,但就是有
- 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了
几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不
- 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰
话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....
- 不在,你可以单独开个新群,在别人项目群好像不大好
看看pr,话说那个进群的是你不
- 对的对的
- 你就是新群的管理了,在群里摸摸鱼(x
- 那个PR你关了吧,我找个好看的emj,或者你找了个好看的再提
btw 那个网站推荐还是去掉好 毕竟这东西还是继续待在灰黑地带比较安全
- 你就是新群的管理了,在群里摸摸鱼(x
- 那个PR你关了吧,我找个好看的emj,或者你找了个好看的再提
btw 那个网站推荐还是去掉好 毕竟这东西还是继续待在灰黑地带比较安全
- 行吧,你放到群里去😰