Source code for pyrekordbox.mysettings

# -*- coding: utf-8 -*-
# Author: Dylan Jones
# Date:   2023-02-01

import re
from pathlib import Path
from typing import List, Union

from . import structs
from .file import (
    FILES,
    DevSettingFile,
    DjmMySettingFile,
    MySetting2File,
    MySettingFile,
    SettingsFile,
)

RE_MYSETTING = re.compile(".*SETTING[0-9]?.DAT$")


[docs] def get_mysetting_paths(root: Union[str, Path], deep: bool = False) -> List[Path]: files = list() root = Path(root) iteator = root.rglob("*") if deep else root.iterdir() for path in iteator: if path.is_file() and RE_MYSETTING.match(path.name): files.append(path) return files
[docs] def read_mysetting_file(path: Union[str, Path]) -> SettingsFile: obj = FILES[str(Path(path).name)] return obj.parse_file(path)