~ruther/qmk_firmware

1875659df025ec83201bb8e1e4515100e5152a87 — Nick Brassel 1 year, 1 month ago 8b8f730
CLI Speed improvements. (#23189)

1 files changed, 10 insertions(+), 4 deletions(-)

M lib/python/qmk/json_schema.py
M lib/python/qmk/json_schema.py => lib/python/qmk/json_schema.py +10 -4
@@ 7,6 7,7 @@ from collections.abc import Mapping
from functools import lru_cache
from typing import OrderedDict
from pathlib import Path
from copy import deepcopy

from milc import cli



@@ 22,7 23,8 @@ def _dict_raise_on_duplicates(ordered_pairs):
    return d


def json_load(json_file, strict=True):
@lru_cache(maxsize=20)
def _json_load_impl(json_file, strict=True):
    """Load a json file from disk.

    Note: file must be a Path object.


@@ 42,7 44,11 @@ def json_load(json_file, strict=True):
        exit(1)


@lru_cache(maxsize=0)
def json_load(json_file, strict=True):
    return deepcopy(_json_load_impl(json_file=json_file, strict=strict))


@lru_cache(maxsize=20)
def load_jsonschema(schema_name):
    """Read a jsonschema file from disk.
    """


@@ 57,7 63,7 @@ def load_jsonschema(schema_name):
    return json_load(schema_path)


@lru_cache(maxsize=0)
@lru_cache(maxsize=1)
def compile_schema_store():
    """Compile all our schemas into a schema store.
    """


@@ 73,7 79,7 @@ def compile_schema_store():
    return schema_store


@lru_cache(maxsize=0)
@lru_cache(maxsize=20)
def create_validator(schema):
    """Creates a validator for the given schema id.
    """

Do not follow this link