diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..a18f400 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,11 @@ +# https://taskfile.dev + +version: '3' + +vars: + GREETING: Hello, World! + +tasks: + format: + cmds: + - docker run --rm --volume $(pwd):/src --workdir /src pyfound/black:25.1.0 black . diff --git a/convert_file_encoding.py b/convert_file_encoding.py index 2ee45e1..f0ee153 100644 --- a/convert_file_encoding.py +++ b/convert_file_encoding.py @@ -4,14 +4,14 @@ import sys def convert_encoding(filepath): try: - with open(filepath, 'r', encoding='cp1251', errors='strict') as f: + with open(filepath, "r", encoding="cp1251", errors="strict") as f: content = f.read() - - with open(filepath, 'w', encoding='utf-8', errors='strict') as f: + + with open(filepath, "w", encoding="utf-8", errors="strict") as f: f.write(content) - + print(f"Success: {filepath}") - + except UnicodeDecodeError: print(f"Error: {filepath} - not cp1251 encoded") except Exception as e: @@ -25,9 +25,10 @@ def process_directory(root_dir): for root, _, files in os.walk(root_dir): for file in files: - if file.endswith(('.cue', '.log')): + if file.endswith((".cue", ".log")): file_path = os.path.join(root, file) convert_encoding(file_path) + def execute(args): - process_directory(args.directory) \ No newline at end of file + process_directory(args.directory) diff --git a/music-tools.py b/music-tools.py index 95fc172..e08ff0b 100755 --- a/music-tools.py +++ b/music-tools.py @@ -6,14 +6,12 @@ import convert_file_encoding def create_convert_parser(subparsers): parser = subparsers.add_parser( - 'convert', - description='Recursively convert .cue and .log files from cp1251 to utf-8', - epilog='Example: python convert_encoding.py /path/to/directory' + "convert", + description="Recursively convert .cue and .log files from cp1251 to utf-8", + epilog="Example: python convert_encoding.py /path/to/directory", ) parser.add_argument( - 'directory', - type=str, - help='Path to target directory for conversion' + "directory", type=str, help="Path to target directory for conversion" ) parser.set_defaults(func=convert_file_encoding.execute) @@ -22,8 +20,7 @@ if __name__ == "__main__": top_parser = argparse.ArgumentParser() subparsers = top_parser.add_subparsers() create_convert_parser(subparsers) - + args = top_parser.parse_args() print(args) args.func(args) - \ No newline at end of file