add filtering for codec
This commit is contained in:
@ -98,12 +98,19 @@ def scan_files(path):
|
|||||||
pbar.close()
|
pbar.close()
|
||||||
return media_files
|
return media_files
|
||||||
|
|
||||||
def print_all(media_files):
|
def print_all(media_files, filter_mode):
|
||||||
|
media_files_filtered = list() #stores all found files that match the given codec filter
|
||||||
media_files.sort(key=lambda x: x.size, reverse=True)
|
media_files.sort(key=lambda x: x.size, reverse=True)
|
||||||
for media_file in media_files:
|
for media_file in media_files:
|
||||||
# print ("{:<64} | {:<8} | {:<16} | {:<8} | {:<16}".format(cut_file_name(media_file.name, 64), str(datetime.timedelta(seconds=media_file.duration)).split(".")[0], human_readable_size(media_file.size), media_file.codec, str(media_file.resolution[0])+"x"+str(media_file.resolution[1])))
|
print ("{:<64} | {:<8} | {:<16} | {:<8} | {:<16}".format(cut_file_name(media_file.name, 64), str(datetime.timedelta(seconds=media_file.duration)).split(".")[0], human_readable_size(media_file.size), media_file.codec, str(media_file.resolution[0])+"x"+str(media_file.resolution[1])))
|
||||||
if int(media_file.resolution[0]) >= 1800 and media_file.codec != "av1" and media_file.codec != "vp9" and media_file.codec != "h265":
|
if((filter_mode != " ") and (media_file.codec == filter_mode) ):
|
||||||
print ('"'+media_file.name+'" ', end='')
|
media_files_filtered.append(media_file.name)
|
||||||
|
|
||||||
|
if(filter_mode != " "):
|
||||||
|
print("\nFound files with selected filter: " + filter_mode + "\n")
|
||||||
|
for media_file_filtered in media_files_filtered:
|
||||||
|
print(media_file_filtered)
|
||||||
|
print("\n")
|
||||||
|
|
||||||
def print_codecs(media_files):
|
def print_codecs(media_files):
|
||||||
codecs = list()
|
codecs = list()
|
||||||
@ -129,15 +136,20 @@ def print_codecs(media_files):
|
|||||||
print("\ntotal "+ str(len(media_files)) + str(" files"))
|
print("\ntotal "+ str(len(media_files)) + str(" files"))
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
if(len(sys.argv) != 2):
|
if(len(sys.argv) == 3):
|
||||||
path = '.' #use current pwd
|
|
||||||
else:
|
|
||||||
path = sys.argv[1] #use arg0 as path
|
path = sys.argv[1] #use arg0 as path
|
||||||
|
filter_mode = sys.argv[2] #use arg2 as filter input
|
||||||
|
elif (len(sys.argv) == 2):
|
||||||
|
path = sys.argv[1] #use arg0 as path
|
||||||
|
filter_mode = " "
|
||||||
|
else:
|
||||||
|
path = '.' #use current pwd
|
||||||
|
filter_mode = " "
|
||||||
|
|
||||||
media_files = scan_files(path) #scan all media files
|
media_files = scan_files(path) #scan all media files
|
||||||
|
|
||||||
print("")
|
print("")
|
||||||
print_all(media_files)
|
print_all(media_files, filter_mode)
|
||||||
|
|
||||||
print("")
|
print("")
|
||||||
print_codecs(media_files)
|
print_codecs(media_files)
|
||||||
|
Reference in New Issue
Block a user