mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 20:32:32 -05:00
refactor: deduplicate yaml import pattern via require_yaml()
This commit is contained in:
@@ -26,13 +26,9 @@ import urllib.error
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||||
from common import list_registered_platforms, load_database, load_platform_config
|
from common import list_registered_platforms, load_database, load_platform_config, require_yaml
|
||||||
|
|
||||||
try:
|
yaml = require_yaml()
|
||||||
import yaml
|
|
||||||
except ImportError:
|
|
||||||
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
DEFAULT_DB = "database.json"
|
DEFAULT_DB = "database.json"
|
||||||
DEFAULT_PLATFORMS_DIR = "platforms"
|
DEFAULT_PLATFORMS_DIR = "platforms"
|
||||||
|
|||||||
@@ -21,6 +21,17 @@ except ImportError:
|
|||||||
yaml = None
|
yaml = None
|
||||||
|
|
||||||
|
|
||||||
|
def require_yaml():
|
||||||
|
"""Import and return yaml, exiting if PyYAML is not installed."""
|
||||||
|
try:
|
||||||
|
import yaml as _yaml
|
||||||
|
return _yaml
|
||||||
|
except ImportError:
|
||||||
|
import sys
|
||||||
|
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
def compute_hashes(filepath: str | Path) -> dict[str, str]:
|
def compute_hashes(filepath: str | Path) -> dict[str, str]:
|
||||||
"""Compute SHA1, MD5, SHA256, CRC32, Adler32 for a file."""
|
"""Compute SHA1, MD5, SHA256, CRC32, Adler32 for a file."""
|
||||||
sha1 = hashlib.sha1()
|
sha1 = hashlib.sha1()
|
||||||
|
|||||||
@@ -18,14 +18,10 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
try:
|
|
||||||
import yaml
|
|
||||||
except ImportError:
|
|
||||||
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
sys.path.insert(0, os.path.dirname(__file__))
|
sys.path.insert(0, os.path.dirname(__file__))
|
||||||
from common import list_registered_platforms, load_database, load_emulator_profiles, load_platform_config
|
from common import list_registered_platforms, load_database, load_emulator_profiles, load_platform_config, require_yaml
|
||||||
|
|
||||||
|
yaml = require_yaml()
|
||||||
|
|
||||||
DEFAULT_EMULATORS_DIR = "emulators"
|
DEFAULT_EMULATORS_DIR = "emulators"
|
||||||
DEFAULT_PLATFORMS_DIR = "platforms"
|
DEFAULT_PLATFORMS_DIR = "platforms"
|
||||||
|
|||||||
@@ -16,14 +16,10 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
sys.path.insert(0, os.path.dirname(__file__))
|
sys.path.insert(0, os.path.dirname(__file__))
|
||||||
from common import list_registered_platforms, load_platform_config
|
from common import list_registered_platforms, load_platform_config, require_yaml
|
||||||
from truth import diff_platform_truth
|
from truth import diff_platform_truth
|
||||||
|
|
||||||
try:
|
yaml = require_yaml()
|
||||||
import yaml
|
|
||||||
except ImportError:
|
|
||||||
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
def _load_truth(truth_dir: str, platform: str) -> dict | None:
|
def _load_truth(truth_dir: str, platform: str) -> dict | None:
|
||||||
|
|||||||
@@ -32,18 +32,14 @@ from common import (
|
|||||||
list_platform_system_ids, list_registered_platforms,
|
list_platform_system_ids, list_registered_platforms,
|
||||||
filter_systems_by_target, list_system_ids, load_database,
|
filter_systems_by_target, list_system_ids, load_database,
|
||||||
load_data_dir_registry, load_emulator_profiles, load_platform_config,
|
load_data_dir_registry, load_emulator_profiles, load_platform_config,
|
||||||
md5_composite, resolve_local_file,
|
md5_composite, require_yaml, resolve_local_file,
|
||||||
)
|
)
|
||||||
from validation import (
|
from validation import (
|
||||||
_build_validation_index, check_file_validation, filter_files_by_mode,
|
_build_validation_index, check_file_validation, filter_files_by_mode,
|
||||||
)
|
)
|
||||||
from deterministic_zip import rebuild_zip_deterministic
|
from deterministic_zip import rebuild_zip_deterministic
|
||||||
|
|
||||||
try:
|
yaml = require_yaml()
|
||||||
import yaml
|
|
||||||
except ImportError:
|
|
||||||
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
DEFAULT_PLATFORMS_DIR = "platforms"
|
DEFAULT_PLATFORMS_DIR = "platforms"
|
||||||
DEFAULT_DB_FILE = "database.json"
|
DEFAULT_DB_FILE = "database.json"
|
||||||
|
|||||||
@@ -19,14 +19,10 @@ import sys
|
|||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
try:
|
|
||||||
import yaml
|
|
||||||
except ImportError:
|
|
||||||
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
sys.path.insert(0, os.path.dirname(__file__))
|
sys.path.insert(0, os.path.dirname(__file__))
|
||||||
from common import list_registered_platforms, load_database, load_emulator_profiles, load_platform_config
|
from common import list_registered_platforms, load_database, load_emulator_profiles, load_platform_config, require_yaml
|
||||||
|
|
||||||
|
yaml = require_yaml()
|
||||||
from generate_readme import compute_coverage
|
from generate_readme import compute_coverage
|
||||||
from verify import verify_platform
|
from verify import verify_platform
|
||||||
|
|
||||||
|
|||||||
@@ -19,14 +19,11 @@ from common import (
|
|||||||
load_emulator_profiles,
|
load_emulator_profiles,
|
||||||
load_platform_config,
|
load_platform_config,
|
||||||
load_target_config,
|
load_target_config,
|
||||||
|
require_yaml,
|
||||||
)
|
)
|
||||||
from truth import generate_platform_truth
|
from truth import generate_platform_truth
|
||||||
|
|
||||||
try:
|
yaml = require_yaml()
|
||||||
import yaml
|
|
||||||
except ImportError:
|
|
||||||
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
DEFAULT_OUTPUT_DIR = "dist/truth"
|
DEFAULT_OUTPUT_DIR = "dist/truth"
|
||||||
DEFAULT_PLATFORMS_DIR = "platforms"
|
DEFAULT_PLATFORMS_DIR = "platforms"
|
||||||
|
|||||||
@@ -28,20 +28,16 @@ import sys
|
|||||||
import zipfile
|
import zipfile
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
try:
|
|
||||||
import yaml
|
|
||||||
except ImportError:
|
|
||||||
print("Error: PyYAML required (pip install pyyaml)", file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
sys.path.insert(0, os.path.dirname(__file__))
|
sys.path.insert(0, os.path.dirname(__file__))
|
||||||
from common import (
|
from common import (
|
||||||
build_zip_contents_index, check_inside_zip, compute_hashes,
|
build_zip_contents_index, check_inside_zip, compute_hashes,
|
||||||
filter_systems_by_target, group_identical_platforms, list_emulator_profiles,
|
filter_systems_by_target, group_identical_platforms, list_emulator_profiles,
|
||||||
list_system_ids, load_data_dir_registry, load_emulator_profiles,
|
list_system_ids, load_data_dir_registry, load_emulator_profiles,
|
||||||
load_platform_config, md5sum, md5_composite, resolve_local_file,
|
load_platform_config, md5sum, md5_composite, require_yaml, resolve_local_file,
|
||||||
resolve_platform_cores,
|
resolve_platform_cores,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
yaml = require_yaml()
|
||||||
from validation import (
|
from validation import (
|
||||||
_build_validation_index, _parse_validation, build_ground_truth,
|
_build_validation_index, _parse_validation, build_ground_truth,
|
||||||
check_file_validation, filter_files_by_mode,
|
check_file_validation, filter_files_by_mode,
|
||||||
|
|||||||
Reference in New Issue
Block a user