Changed api for more flexible options and list of directories
This commit is contained in:
parent
106f4f2e12
commit
c1fcd78dda
@ -17,11 +17,11 @@ pip install -r requirements.txt
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
./converter.py [list,convert] [-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv] [-filter:old,mpeg,mpeg4,x264,wmv3,wmv] [-dir/-file:/mnt/media/TV\ Shows/ >> ../medlist.txt]
|
||||||
```bash
|
```bash
|
||||||
./converter.py list -any -old -dir /mnt/media/TV\ Shows/ >> ../medlist.txt
|
./converter.py list -in:any -filter:old -dir:/mnt/media/TV\ Shows/ >> ../medlist.txt
|
||||||
./converter.py convert -del -any -mpeg4 -dir "/mnt/media/Movies/"
|
./converter.py convert -del -in:any -filter:mpeg4 -out:x265,mkv -dir:"/mnt/media/Movies/"
|
||||||
./converter.py convert -del -all_avi -verbose -dir "/mnt/media/Movies/"
|
./converter.py convert -del -verbose -in:avi,mpg -dir:/mnt/media/Movies/
|
||||||
```
|
```
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|||||||
79
curator.py
79
curator.py
@ -22,37 +22,46 @@ def main():
|
|||||||
print(f"ffmpeg installed: {ffmpeg_version}")
|
print(f"ffmpeg installed: {ffmpeg_version}")
|
||||||
|
|
||||||
if len(sys.argv) >= 2:
|
if len(sys.argv) >= 2:
|
||||||
|
# Get command parameters
|
||||||
|
directories = []
|
||||||
|
inputs = []
|
||||||
|
filters = []
|
||||||
|
outputs = []
|
||||||
|
for arg in sys.argv:
|
||||||
|
if "-in:" in arg:
|
||||||
|
inputs += arg[4:].split(",")
|
||||||
|
elif "-filters:" in arg:
|
||||||
|
filters += arg[9:].split(",")
|
||||||
|
elif "-out:" in arg:
|
||||||
|
outputs += arg[5:].split(",")
|
||||||
|
elif "-dir:" in arg:
|
||||||
|
directories += arg[5:].split(",")
|
||||||
|
|
||||||
|
|
||||||
if sys.argv[1] == "list":
|
if sys.argv[1] == "list":
|
||||||
if "-file" in sys.argv:
|
if any("-file" in argv for argv in sys.argv):
|
||||||
pass
|
pass
|
||||||
elif "-dir" in sys.argv:
|
elif any("-dir" in argv for argv in sys.argv):
|
||||||
directory = sys.argv[sys.argv.index("-dir") + 1]
|
videolist = []
|
||||||
videolist = get_videolist(directory)
|
#directory = sys.argv[sys.argv.index("-dir") + 1]
|
||||||
|
for directory in directories:
|
||||||
|
videolist += get_videolist(directory, inputs, filters)
|
||||||
for video in videolist:
|
for video in videolist:
|
||||||
print(f"{get_codec(video)} - {video}")
|
print(f"{get_codec(video)} - {video}")
|
||||||
else:
|
else:
|
||||||
print("Missing directory: ")
|
print("Missing directory: ")
|
||||||
elif sys.argv[1] == "test":
|
elif sys.argv[1] == "test":
|
||||||
if "-file" in sys.argv:
|
if any("-file" in argv for argv in sys.argv):
|
||||||
pass
|
pass
|
||||||
elif "-dir" in sys.argv:
|
elif any("-dir" in argv for argv in sys.argv):
|
||||||
directory = sys.argv[sys.argv.index("-dir") + 1]
|
print(f"directories = {directories}, inputs = {inputs}, filters = {filters}, outputs = {outputs}")
|
||||||
videolist = get_videolist(directory)
|
exit()
|
||||||
video = videolist[0]
|
|
||||||
|
|
||||||
folder = str(video)[:str(video).rindex("/") + 1]
|
|
||||||
oldfilename = str(video)[str(video).rindex("/") + 1:]
|
|
||||||
newfilename = oldfilename[:-4] + ".mkv"
|
|
||||||
|
|
||||||
if convert(folder + oldfilename, folder + newfilename):
|
|
||||||
if "-del" in sys.argv:
|
|
||||||
delete(folder + oldfilename)
|
|
||||||
else:
|
else:
|
||||||
print("Missing directory: ")
|
print("Missing directory: ")
|
||||||
|
|
||||||
|
|
||||||
elif sys.argv[1] == "convert":
|
elif sys.argv[1] == "convert":
|
||||||
if "-file" in sys.argv:
|
if any("-file" in argv for argv in sys.argv):
|
||||||
video = sys.argv[sys.argv.index("-file") + 1]
|
video = sys.argv[sys.argv.index("-file") + 1]
|
||||||
folder = str(video)[:str(video).rindex("/") + 1]
|
folder = str(video)[:str(video).rindex("/") + 1]
|
||||||
oldfilename = str(video)[str(video).rindex("/") + 1:]
|
oldfilename = str(video)[str(video).rindex("/") + 1:]
|
||||||
@ -69,9 +78,10 @@ def main():
|
|||||||
except:
|
except:
|
||||||
delete(folder + newfilename)
|
delete(folder + newfilename)
|
||||||
return False
|
return False
|
||||||
elif "-dir" in sys.argv:
|
elif any("-dir" in argv for argv in sys.argv):
|
||||||
directory = sys.argv[sys.argv.index("-dir") + 1]
|
videolist = []
|
||||||
videolist = get_videolist(directory)
|
for directory in directories:
|
||||||
|
videolist += get_videolist(directory, inputs, filters)
|
||||||
counter = 0
|
counter = 0
|
||||||
for video in videolist:
|
for video in videolist:
|
||||||
folder = str(video)[:str(video).rindex("/") + 1]
|
folder = str(video)[:str(video).rindex("/") + 1]
|
||||||
@ -90,22 +100,25 @@ def main():
|
|||||||
delete(folder + newfilename)
|
delete(folder + newfilename)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_videolist(parentdir):
|
def get_videolist(parentdir, inputs = ["any"], filters = []):
|
||||||
print(f"Scanning files in {parentdir} for videos")
|
print(f"Scanning files in {parentdir} for videos")
|
||||||
videolist = []
|
videolist = []
|
||||||
|
|
||||||
path = Path(parentdir)
|
path = Path(parentdir)
|
||||||
if "-all_wmv" in sys.argv or "-any" in sys.argv:
|
if "wmv" in inputs or "any" in inputs or len(inputs) < 1:
|
||||||
videolist += list(path.rglob("*.[wW][mM][vV]"))
|
videolist += list(path.rglob("*.[wW][mM][vV]"))
|
||||||
if "-all_avi" in sys.argv or "-any" in sys.argv:
|
if "avi" in inputs or "any" in inputs or len(inputs) < 1:
|
||||||
videolist += list(path.rglob("*.[aA][vV][iI]"))
|
videolist += list(path.rglob("*.[aA][vV][iI]"))
|
||||||
if "-all_mkv" in sys.argv or "-any" in sys.argv:
|
if "mkv" in inputs or "any" in inputs or len(inputs) < 1:
|
||||||
videolist += list(path.rglob("*.[mM][kK][vV]"))
|
videolist += list(path.rglob("*.[mM][kK][vV]"))
|
||||||
if "-all_mp4" in sys.argv or "-any" in sys.argv:
|
if "mp4" in inputs or "any" in inputs or len(inputs) < 1:
|
||||||
videolist += list(path.rglob("*.[mM][pP]4"))
|
videolist += list(path.rglob("*.[mM][pP]4"))
|
||||||
if "-all_m4v" in sys.argv or "-any" in sys.argv:
|
if "m4v" in inputs or "any" in inputs or len(inputs) < 1:
|
||||||
videolist += list(path.rglob("*.[mM]4[vV]"))
|
videolist += list(path.rglob("*.[mM]4[vV]"))
|
||||||
if "-all_flv" in sys.argv or "-any" in sys.argv:
|
if "flv" in inputs or "any" in inputs or len(inputs) < 1:
|
||||||
videolist += list(path.rglob("*.[fF][lL][vV]"))
|
videolist += list(path.rglob("*.[fF][lL][vV]"))
|
||||||
|
if "mpg" in inputs or "any" in inputs or len(inputs) < 1:
|
||||||
|
videolist += list(path.rglob("*.[mM][pP][gG]"))
|
||||||
|
|
||||||
|
|
||||||
# Remove folders
|
# Remove folders
|
||||||
@ -117,19 +130,19 @@ def get_videolist(parentdir):
|
|||||||
print(f"Filtering {len(videolist)} videos for the requested parameters")
|
print(f"Filtering {len(videolist)} videos for the requested parameters")
|
||||||
videolist = []
|
videolist = []
|
||||||
|
|
||||||
if "-old" in sys.argv:
|
if "old" in filters:
|
||||||
videolist += [video for video in videolist_tmp if get_codec(video) not in ["hevc", "av1"]]
|
videolist += [video for video in videolist_tmp if get_codec(video) not in ["hevc", "av1"]]
|
||||||
|
|
||||||
if "-mpeg4" in sys.argv or "-mpeg" in sys.argv:
|
if "mpeg4" in filters or "mpeg" in filters:
|
||||||
videolist += [video for video in videolist_tmp if get_codec(video) in ["mpeg4", "msmpeg4v3"]]
|
videolist += [video for video in videolist_tmp if get_codec(video) in ["mpeg4", "msmpeg4v3"]]
|
||||||
|
|
||||||
if "-mpeg" in sys.argv:
|
if "mpeg" in filters:
|
||||||
videolist += [video for video in videolist_tmp if get_codec(video) in ["mpeg1video"]]
|
videolist += [video for video in videolist_tmp if get_codec(video) in ["mpeg1video"]]
|
||||||
|
|
||||||
if "-wmv3" in sys.argv:
|
if "wmv3" in filters or "wmv" in filters:
|
||||||
videolist += [video for video in videolist_tmp if get_codec(video) in ["wmv3"]]
|
videolist += [video for video in videolist_tmp if get_codec(video) in ["wmv3"]]
|
||||||
|
|
||||||
if "-x264" in sys.argv:
|
if "x264" in filters:
|
||||||
videolist += [video for video in videolist_tmp if get_codec(video) in ["x264"]]
|
videolist += [video for video in videolist_tmp if get_codec(video) in ["x264"]]
|
||||||
|
|
||||||
print(f"Found {len(videolist)} videos for the requested parameters")
|
print(f"Found {len(videolist)} videos for the requested parameters")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user