add filtering for codec
This commit is contained in:
@ -98,12 +98,19 @@ def scan_files(path):
|
||||
pbar.close()
|
||||
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)
|
||||
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])))
|
||||
if int(media_file.resolution[0]) >= 1800 and media_file.codec != "av1" and media_file.codec != "vp9" and media_file.codec != "h265":
|
||||
print ('"'+media_file.name+'" ', end='')
|
||||
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((filter_mode != " ") and (media_file.codec == filter_mode) ):
|
||||
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):
|
||||
codecs = list()
|
||||
@ -129,15 +136,20 @@ def print_codecs(media_files):
|
||||
print("\ntotal "+ str(len(media_files)) + str(" files"))
|
||||
|
||||
def main() -> None:
|
||||
if(len(sys.argv) != 2):
|
||||
path = '.' #use current pwd
|
||||
else:
|
||||
if(len(sys.argv) == 3):
|
||||
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
|
||||
|
||||
print("")
|
||||
print_all(media_files)
|
||||
print_all(media_files, filter_mode)
|
||||
|
||||
print("")
|
||||
print_codecs(media_files)
|
||||
|
Reference in New Issue
Block a user