def _validate_cmdchain_item(self, item):
# Test if item is of a valid type
if not (is_op(item) or (isinstance(item, abc.Sequence) and not isinstance(item, str) and
all(isinstance(arg, str) for arg in item))):
raise RuntimeError('Invalid type for command chain item: {!r}'.format(item))
# Test if item is an operator after another operator
try:
prev_item = self._prev_validation_item
except AttributeError:
prev_item = None
self._prev_validation_item = item
if is_op(prev_item) and is_op(item):
raise CmdError('Consecutive operators: "{} {}"'.format(prev_item, item))
评论列表
文章目录