Refresh and added usage tracking

This commit is contained in:
Hannes
2026-04-24 00:47:51 +02:00
parent 8519d9f62e
commit 477b1bf985
45 changed files with 726 additions and 166 deletions
+78
View File
@@ -0,0 +1,78 @@
#!/usr/bin/env python3
"""
Usage:
remove_fname_last_n <number> (<directory>)
"""
import sys
from pathlib import Path
import os
from termcolor import colored
VIDEO_EXTENSIONS = {
".mkv", ".mp4", ".avi", ".mov", ".wmv", ".flv", ".webm", ".m4v"
}
def main():
args = sys.argv[1:]
undo = "--undo" in args
if undo:
args.remove("--undo")
if len(args) == 0:
number = 0
directory = Path(os.getcwd())
elif len(args) == 1:
try:
number = int(args[0])
directory = Path(os.getcwd())
except:
number = 0
directory = Path(args[0])
elif len(args) == 2:
try:
number = int(args[0])
directory = Path(args[1])
except:
number = int(args[1])
directory = Path(args[0])
else:
print("Usage: remove_fname_last_n <number> (<directory>)")
sys.exit(1)
if not directory.exists():
print(colored("Directory does not exist", "red"))
sys.exit(1)
import subprocess
subprocess.run(["python", "/home/honney/.bin/tracker.py", "add", "remove_fname_last_n"])
files = sorted(
[f for f in directory.iterdir()
if f.is_file() and f.suffix.lower() in VIDEO_EXTENSIONS],
key=lambda f: f.name
)
if not files:
print(colored("No video files found", "yellow"))
return
for f in files:
new_name = f.parent/Path(f.stem[:-number]+f.suffix)
if new_name.exists():
print(colored(f"File {new_name.name} already exists", "red"))
else:
print(
colored("Renamed: ", "green") +
colored(f.name, "red") +
colored(" -> ", "white") +
colored(new_name.name, "green")
)
f.rename(new_name)
if __name__ == "__main__":
main()