add command spec type "words" - array of remaining words

This commit is contained in:
jesopo 2020-02-05 16:32:41 +00:00
parent c4136a50ec
commit 460cda87bb

View file

@ -51,6 +51,12 @@ class SpecArgumentTypeString(SpecArgumentType):
class SpecArgumentTypeTrimString(SpecArgumentTypeString): class SpecArgumentTypeTrimString(SpecArgumentTypeString):
def simple(self, args: typing.List[str]): def simple(self, args: typing.List[str]):
return SpecArgumentTypeString.simple(self, list(filter(None, args))) return SpecArgumentTypeString.simple(self, list(filter(None, args)))
class SpecArgumentTypeWords(SpecArgumentTypeString):
def simple(self, args: typing.List[str]):
if args:
out = list(filter(None, args))
return out, len(out)
return None, 1
class SpecArgumentTypeInt(SpecArgumentType): class SpecArgumentTypeInt(SpecArgumentType):
def simple(self, args): def simple(self, args):
@ -84,6 +90,7 @@ SPEC_ARGUMENT_TYPES = {
"aword": SpecArgumentTypeAdditionalWord, "aword": SpecArgumentTypeAdditionalWord,
"wordlower": SpecArgumentTypeWordLower, "wordlower": SpecArgumentTypeWordLower,
"string": SpecArgumentTypeString, "string": SpecArgumentTypeString,
"words": SpecArgumentTypeWords,
"tstring": SpecArgumentTypeTrimString, "tstring": SpecArgumentTypeTrimString,
"int": SpecArgumentTypeInt, "int": SpecArgumentTypeInt,
"date": SpecArgumentTypeDate, "date": SpecArgumentTypeDate,