# Path: crmsh/pacemaker.py
# def CrmSchema(cib_elem, local_dir):
#     return RngSchema(cib_elem, local_dir)
# 
# class PacemakerError(Exception):
#     '''PacemakerError exceptions'''


import re
from . import config
from .pacemaker import CrmSchema, PacemakerError
from . import log
    # (date_expression)
    l = []
    for attr_obj in schema.get_elem_attr_objs(name):
        l.append({
            'n': schema.get_obj_name(attr_obj),      # name
            't': schema.get_attr_type(attr_obj),     # type
            'v': schema.get_attr_values(attr_obj),   # values
            'd': schema.get_attr_default(attr_obj),  # default
        })
    return l


_cache_funcs = {
    'attr': get_attrs,
    'sub': get_subs,
    'attr_det': get_attr_details_d,
    'attr_det_l': get_attr_details_l,
}


_crm_schema = None
_store = {}


def reset():
    global _store
    _store = {}


def _load_schema(cib):

# Path: crmsh/pacemaker.py
# def CrmSchema(cib_elem, local_dir):
#     return RngSchema(cib_elem, local_dir)
# 
# class PacemakerError(Exception):
#     '''PacemakerError exceptions'''


# Path: crmsh/schema.py
import re
from . import config
from .pacemaker import CrmSchema, PacemakerError
from . import log

    # (date_expression)
    l = []
    for attr_obj in schema.get_elem_attr_objs(name):
        l.append({
            'n': schema.get_obj_name(attr_obj),      # name
            't': schema.get_attr_type(attr_obj),     # type
            'v': schema.get_attr_values(attr_obj),   # values
            'd': schema.get_attr_default(attr_obj),  # default
        })
    return l


_cache_funcs = {
    'attr': get_attrs,
    'sub': get_subs,
    'attr_det': get_attr_details_d,
    'attr_det_l': get_attr_details_l,
}


_crm_schema = None
_store = {}


def reset():
    global _store
    _store = {}


def _load_schema(cib):

    return CrmSchema(cib, config.path.crm_dtd_dir)