profilarr-trash-guides/scripts/generate.py
Johan van Eck ae132ff1c4 Fix naming
2025-07-26 12:26:15 +03:00

67 lines
2.1 KiB
Python

# /// script
# requires-python = ">=3.13"
# dependencies = [
# "markdownify",
# "pyyaml",
# ]
# ///
import os
import sys
from utils.custom_formats import collect_custom_formats
from utils.regex_patterns import collect_regex_patterns
from utils.profiles import collect_profiles
def clear_output_dir(output_dir):
if not os.path.exists(output_dir):
print(f"Output directory does not exist, skipping clearing")
else:
for filename in os.listdir(output_dir):
file_path = os.path.join(output_dir, filename)
os.remove(file_path)
print(f"Cleared output directory: {output_dir}")
def main():
if len(sys.argv) != 3:
print("Usage: python generate.py <input_dir> <output_dir>")
sys.exit(1)
input_dir = sys.argv[1]
output_dir = sys.argv[2]
regex_patterns_dir = os.path.join(output_dir, "regex_patterns")
os.makedirs(regex_patterns_dir, exist_ok=True)
clear_output_dir(regex_patterns_dir)
custom_formats_dir = os.path.join(output_dir, "custom_formats")
os.makedirs(custom_formats_dir, exist_ok=True)
clear_output_dir(custom_formats_dir)
profiles_dir = os.path.join(output_dir, "profiles")
os.makedirs(profiles_dir, exist_ok=True)
clear_output_dir(profiles_dir)
# TODO: Support Sonarr
for service in ["radarr"]:
trash_custom_formats_dir = os.path.join(input_dir, f"{service}/cf")
if not os.path.exists(trash_custom_formats_dir):
print(
f"Custom format directory {trash_custom_formats_dir} does not exist, skipping."
)
continue
trash_profiles_dir = os.path.join(input_dir, f"{service}/quality-profiles")
if not os.path.exists(trash_profiles_dir):
print(
f"Custom format directory {trash_profiles_dir} does not exist, skipping."
)
continue
collect_regex_patterns(service, trash_custom_formats_dir, regex_patterns_dir)
collect_custom_formats(service, trash_custom_formats_dir, custom_formats_dir)
collect_profiles(service, trash_profiles_dir, profiles_dir)
if __name__ == "__main__":
main()