in pbspro/src/pbspro/parser.py [0:0]
def get_pbspro_parser() -> PBSProParser:
global _PARSER
if _PARSER is None:
# avoid circular import
from pbspro.pbscmd import PBSCMD
from pbspro.resource import read_resource_definitions
# chicken / egg issue: we want the resource definitions
# as a member of the parser, but we need the parser to parse
# the definitions...
# So create temp parser with no resource definitions
_PARSER = PBSProParser({})
pbscmd = PBSCMD(_PARSER)
logging.warning(
"Using uninitialized PBSProParser: please call"
+ " set_pbspro_parser before calling get_pbspro_parser"
)
resource_definitions = read_resource_definitions(pbscmd, {})
_PARSER = PBSProParser(resource_definitions)
return _PARSER