Add generated TRaSH-Guides with scripts

This commit is contained in:
Johan van Eck 2025-07-26 10:10:07 +03:00
parent 8e15e62281
commit 0857ea9dc6
885 changed files with 13936 additions and 34503 deletions

61
scripts/generate.py Normal file
View file

@ -0,0 +1,61 @@
# /// script
# requires-python = ">=3.13"
# dependencies = [
# "pyyaml",
# ]
# ///
import os
import sys
import json
import yaml
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()