def parse_place()

in pbspro/src/pbspro/parser.py [0:0]


    def parse_place(self, place: str) -> Dict[str, str]:
        """
        arrangement is one of free | pack | scatter | vscatter
        sharing is one of excl | shared | exclhost
        grouping can have only one instance of group=resource
        """
        placement = {"arrangement": "free"}

        if not place:
            return placement

        toks = place.split(":")

        for tok in toks:
            if tok in ["free", "pack", "scatter", "vscatter"]:
                placement["arrangement"] = tok
            elif tok in ["excl", "shared", "exclhost"]:
                placement["sharing"] = tok
            elif tok.startswith("group="):
                placement["grouping"] = tok

        return placement