Пример #1
0
 def parse_args(self, text):
     args = text.split()
     if not args or args[0] not in ["!w", "!weather"]:
         return None
     sargs = shlex.split(" ".join(args[1:]))
     parser = UndeadArgumentParser(add_help=False)
     parser.add_argument("zipcode", nargs="?", default="")
     parser.add_argument("-s", "--save", default="", dest="save_zipcode")
     return parser.parse_args(sargs)
Пример #2
0
 def parse_args(self, text):
     if len(text) < 4:
         return None
     if self.shortcut and text[:2] == 's/':
         tokens = self.split_delimiter(text)
         if len(tokens) < 3 or not tokens[1]:
             return None
         pattern = tokens[1]
         repl = tokens[2]
         flags = "" if len(tokens) == 3 else tokens[3]
         line = self.get_first_number(flags)
         search = "s" in flags
         return [pattern, repl, line, search]
     args = text.split()
     if args[0] == "!replace":
         sargs = shlex.split(" ".join(args[1:]))
         parser = UndeadArgumentParser(add_help=False)
         parser.add_argument("pattern")
         parser.add_argument("repl")
         parser.add_argument("-l", "--line", type=int, default=-1, dest="line")
         parser.add_argument("-s", "--search", action="store_true", default=False, dest="search")
         pargs = parser.parse_args(sargs)
         return [pargs.pattern, pargs.repl, pargs.line, pargs.search]
     return None
Пример #3
0
 def parse_args(self, text):
     args = text.split()
     if not args or args[0] != "!remind":
         return
     sargs = shlex.split(" ".join(args[1:]))
     parser = UndeadArgumentParser(add_help=False)
     parser.add_argument("time", type=int)
     parser.add_argument("msg", nargs=argparse.REMAINDER)
     tformat = parser.add_mutually_exclusive_group()
     tformat.add_argument("-s", dest="tmult", action="store_const", const=1)
     tformat.add_argument("-h", dest="tmult", action="store_const", const=60*60)
     tformat.add_argument("-d", dest="tmult", action="store_const", const=60*60*24)
     tformat.add_argument("-m", dest="tmult", action="store_const", const=60)
     return parser.parse_args(sargs)