From 6daffeee15aa3bfd59aebac25c125f427b11e130 Mon Sep 17 00:00:00 2001 From: Lev Rusanov <30170278+JDM170@users.noreply.github.com> Date: Sun, 12 May 2024 18:26:49 +0700 Subject: [PATCH] Initial commit Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com> --- README.md | 1 + rename.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 README.md create mode 100644 rename.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..c1eb3d0 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# renaname anilibria episodes \ No newline at end of file diff --git a/rename.py b/rename.py new file mode 100644 index 0000000..3adf618 --- /dev/null +++ b/rename.py @@ -0,0 +1,28 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +from sys import exit +from os import listdir, rename +from os.path import splitext, realpath +from re import search + +number_pattern = r"\[\d{1,}\]" # Паттерн для поиска номера серии +extension_versions = [".mkv", ".avi"] # Список поддерживаемых расширений + + +def rename_file(full_path, file_name): + found_number = search(number_pattern, file_name[0]) # Ищем номер серии, если он есть то продолжаем + if found_number is not None: + found_number = found_number.group()[1:-1] # Убираем квадратные скобки + current_path = realpath(full_path) # Получаем путь до файла + new_path = "{}{}{}".format(current_path.replace(full_path, ""), found_number, file_name[1]) # Новый путь до файла + rename(current_path, new_path) # Переименовываем файл + print("\"{}\" successfully renamed to \"{}\".".format(full_path, found_number + file_name[1])) + + +if __name__ == '__main__': + for file_name in listdir(): + splitted_name = splitext(file_name) # Разделяем имя файла и его расширение, итог: кортеж (0 - имя файла, 1 - расширение) + if splitted_name[1] in extension_versions: # Проверяем совпадения расширения со списком, если есть совпадения то переименовываем файл + rename_file(file_name, splitted_name) # Вызываем функцию переименования файла + exit()