Prevent missing regex_patterns (#15)

This commit is contained in:
Johan 2026-01-10 17:51:12 +02:00 committed by GitHub
parent 599fd6209f
commit 783609d2e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
195 changed files with 1617 additions and 562 deletions

View file

@ -1,14 +1,14 @@
import os
import json
import yaml
import yaml
from markdownify import markdownify
from utils.file_utils import iterate_json_files
from utils.mappings.qualities import QUALITIES
from utils.strings import get_name
def collect_profile_formats(
def _collect_profile_formats(
service, trash_score_name, format_items, trash_id_to_scoring_mapping
):
profile_formats = []
@ -29,14 +29,14 @@ def collect_profile_formats(
)
def get_quality_id(quality_name):
def _get_quality_id(quality_name):
return next(
(quality["id"] for quality in QUALITIES if quality["name"] == quality_name),
None,
)
def collect_qualities(items):
def _collect_qualities(items):
qualities = []
quality_collection_id = -1
for item in items:
@ -44,7 +44,7 @@ def collect_qualities(items):
continue
quality = {
"id": get_quality_id(item.get("name", "")),
"id": _get_quality_id(item.get("name", "")),
"name": item.get("name", ""),
}
if item.get("items") is not None:
@ -54,14 +54,14 @@ def collect_qualities(items):
quality["qualities"] = []
for sub_item in item["items"]:
quality["qualities"].append(
{"id": get_quality_id(sub_item), "name": sub_item}
{"id": _get_quality_id(sub_item), "name": sub_item}
)
qualities.append(quality)
return list(reversed(qualities))
def get_upgrade_until(quality_name, profile_qualities):
def _get_upgrade_until(quality_name, profile_qualities):
found_quality = next(
quality for quality in profile_qualities if quality["name"] == quality_name
)
@ -73,10 +73,10 @@ def get_upgrade_until(quality_name, profile_qualities):
return found_quality
def collect_profile(service, input_json, output_dir, trash_id_to_scoring_mapping):
def _collect_profile(service, input_json, output_dir, trash_id_to_scoring_mapping):
# Compose YAML structure
name = input_json.get("name", "")
profile_qualities = collect_qualities(input_json.get("items", []))
profile_qualities = _collect_qualities(input_json.get("items", []))
yml_data = {
"name": get_name(service, name),
"description": f"""[Profile from TRaSH-Guides.](https://trash-guides.info/{service.capitalize()}/{service}-setup-quality-profiles)
@ -87,14 +87,14 @@ def collect_profile(service, input_json, output_dir, trash_id_to_scoring_mapping
"minCustomFormatScore": input_json.get("minFormatScore", 0),
"upgradeUntilScore": input_json.get("cutoffFormatScore", 0),
"minScoreIncrement": input_json.get("minUpgradeFormatScore", 0),
"custom_formats": collect_profile_formats(
"custom_formats": _collect_profile_formats(
service,
input_json.get("trash_score_set"),
input_json.get("formatItems", {}),
trash_id_to_scoring_mapping,
),
"qualities": profile_qualities,
"upgrade_until": get_upgrade_until(input_json.get("cutoff"), profile_qualities),
"upgrade_until": _get_upgrade_until(input_json.get("cutoff"), profile_qualities),
"language": input_json.get("language", "any").lower(),
}
@ -111,12 +111,5 @@ def collect_profiles(
output_dir,
trash_id_to_scoring_mapping,
):
for root, _, files in os.walk(input_dir):
for filename in sorted(files):
if not filename.endswith(".json"):
continue
file_path = os.path.join(root, filename)
with open(file_path, "r", encoding="utf-8") as f:
data = json.load(f)
collect_profile(service, data, output_dir, trash_id_to_scoring_mapping)
for _, _, data in iterate_json_files(input_dir):
_collect_profile(service, data, output_dir, trash_id_to_scoring_mapping)