frontends.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:mo 作者: thomasleese 项目源码 文件源码
def output(self, event):
        if event.name in self.ignored_events:
            return

        character_style = self.get_character_style(event)
        character = self.get_character(event)
        text_style = self.get_text_style(event)

        if event.name == 'RunningTask':
            text = f'Running task: {Style.NORMAL}{event.args["task"].name}'
        elif event.name == 'SkippingTask':
            text = f'Skipping task: {Style.NORMAL}{event.args["name"]}'
        elif event.name == 'RunningCommand':
            text = f'Executing: {Style.NORMAL}{event.args["command"]}'
        elif event.name == 'CommandOutput':
            text = event.args['output']
            if event.args['pipe'] == 'stderr':
                text_style += Fore.RED
        elif event.name == 'CommandFailed':
            text = f'Command failed with exit code {event.args["code"]}'
            if event.args['description']:
                text += f'{Style.NORMAL}\n{self.indent(event.args["description"], 3)}'
        elif event.name == 'InvalidMofile':
            text = f'Invalid task file: {Style.NORMAL}{event.args["filename"]}'
        elif event.name == 'UndefinedVariable':
            text = f'Undefined variable: {Style.NORMAL}{event.args["variable"]}'
        elif event.name == 'TaskNotFound':
            text = f'No such task: {Style.NORMAL}{event.args["name"]}'
            if event.args['similarities']:
                similarities_str = ', '.join(event.args['similarities'])
                text += f' Did you mean? {similarities_str}'
        elif event.name == 'HelpOutput':
            print()
            for line in event.args['output'].splitlines():
                print('', line)
            return
        elif event.name == 'Help':
            print('Available tasks:')
            print()
            for name, task in event.args['tasks'].items():
                print(name, '-', task.description)
            return
        else:
            character = '?'
            character_style = Fore.YELLOW
            text = f'Unknown event: {Style.NORMAL}{event}'
            text_style = Fore.YELLOW

        character_style += Style.BRIGHT

        print(
            f' {character_style}{character}{Style.RESET_ALL}' +
            f' {text_style}{text}{Style.RESET_ALL}'
        )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号