Fabric: 在任务级别上的hide('running')已损坏

创建于 2011-08-25  ·  9评论  ·  资料来源: fabric/fabric

1)它不会隐藏诸如“正在执行任务...”之类的东西
2)它从最后一个输出中删除换行符,从而加入输出的下一行

fabfile是:
@任务
def show_hostname():
与设置(隐藏('正在运行')):
运行('主机名')
运行('日期')

%/opt/python-2.7/bin/fab -f output.py -H x1,x2 show_hostname
[x1]执行任务“ show_hostname”
[x1]输出:x1mydomain.de
[x1]离开:[x1]离开:CEST 2011年8月25日10:34:10
[x1]输出:[x2]执行任务“ show_hostname”
[x2]输出:x2.mydomain.de
[x2]离开:[x2]离开:CEST 2011年8月25日10:34:11
[x2]出:
完毕。

而当我们在它:

3)例如,run('hostname')总是输出空行,如下所示:

[h1]执行任务“ show_hostname”
[h1]出:h1.mydomain.de
[h1]退出:

是3)是有目的的,而1,2问题是来自那个空行吗?

谢谢,
斯文

Bug UI

最有用的评论

  • 如何还隐藏“完成”。 完成后打印?
  • 如何还隐藏“从my.server.com断开连接...完成。”?

如果我只禁用所有输出(实际上是全部),除了我明确打印出的内容(有问题时除外),这将很有用。

所有9条评论

如果你看面料。 main:main ,您会看到“执行”发生在任务外部,这就是为什么它没有被隐藏的原因。 解决方法(全局!),您可以设置fabric.state.output ['running'] = False,或传递--hide = running。

Gregg是正确的选择:执行-由于必须打印“执行”行,因此它必须是一个全局设置-尽管我承认这样做不是很直观,并希望有更好的解决方法。 (我可以想到一种用于新型任务的方法,但目前还不确定增加两种类型在行为上的差异是否值得...)

stdout块末尾的换行符是有意使用的,IIRC,尽管我不记得是要明确插入它们还是实际上是从远程端插入(并只是触发一个新的行前缀)。我不认为这是一个错误。

“缺少”换行符可能是相关的-我必须仔细检查。 可能是一种情况,它会以一种或另一种方式看起来很丑陋,而我们不得不将丑陋性转移到较不常见的情况下。

此错误/ UI不一致是否有任何更新? 我正在尝试通过结构尾文件,并且最好屏蔽那些“ [hostname]”输出。

我尝试了fabric.state.output['running'] = False ,没有任何变化。

@charlax您可以使用fab --hide=running ,这将从运行开始就翻转该输出级别,因此它应隐藏所有无法在任务内部隐藏的“正在运行的任务x”。 不知道为什么我没有在前面的评论中提到这一点。

您还应该能够在fabfile的模块(顶层)级别进行您提到的fabric.state.output更改-尝试时将其放在哪里? 如果它在任务中,则仍然无法正常工作。

哦,对了,实际上我想做的是隐藏[host.com] out:部分,对不起您的误会。

意思是那一部分线? 有一个专用的配置设置,但是在fab 2.0出来之前我看不到有什么变化,所以我将让您了解一个秘密:它是env.output_prefix ,将其设置为False,它只会打印没有行前缀的文字stdout / stderr。

谢谢!

好像@hosts()装饰器应该可以隐藏正在运行的输出的“主机”部分,而不必强制禁用

fabric.state.output['running']

全球范围。 这将允许重写单个方法的env.hosts,这是它​​的本意。 似乎它应该像env.hosts一样工作,因为将其设置为空的迭代器(或None)应该触发local_only执行,这将不会打印主机。 当前, @ hosts中的空迭代器

  • 如何还隐藏“完成”。 完成后打印?
  • 如何还隐藏“从my.server.com断开连接...完成。”?

如果我只禁用所有输出(实际上是全部),除了我明确打印出的内容(有问题时除外),这将很有用。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

bitprophet picture bitprophet  ·  6评论

yuvadm picture yuvadm  ·  5评论

bitprophet picture bitprophet  ·  4评论

shadyabhi picture shadyabhi  ·  5评论

haydenflinner picture haydenflinner  ·  5评论