Source code for president.parser

# This file is placed in the Public Domain.
#
# pylint: disable=C,I,R


"parser"


def __dir__():
    return (
            "parse",
           )


[docs]def parse(self, txt=None) -> None: args = [] self.args = [] self.cmd = self.cmd or "" self.gets = self.gets or {} self.mod = self.mod or "" self.opts = self.opts or "" self.sets = self.sets or {} self.otxt = txt or "" _nr = -1 for spli in self.otxt.split(): if spli.startswith("-"): try: self.index = int(spli[1:]) except ValueError: self.opts += spli[1:] continue if "=" in spli: key, value = spli.split("=", maxsplit=1) if key == "mod": self.mod += f",{value}" continue self.sets[key] = value continue if "==" in spli: key, value = spli.split("==", maxsplit=1) self.gets[key] = value continue _nr += 1 if _nr == 0: self.cmd = spli continue args.append(spli) if args: self.args = args self.txt = self.cmd or "" self.rest = " ".join(self.args) self.txt = self.cmd + " " + self.rest else: self.txt = self.cmd