小编Pet*_*son的帖子

是否有类似于用JavaScript编写的Fabric的部署工具?

我整理了一个移动开发堆栈,几乎完全在node.js上使用Javascript.除了SASS(更喜欢LESS)和Fabric之外.我不想污染我的开发目录,因为我必须组合和缩小JS和CSS,我想我也可以使用node.js来提供我的代码.

我想减少对Ruby和/或Python的依赖.我并没有真正使用Fabric的所有功能,所以我希望能够取代它.但我找不到任何用Javascript编写的类似工具.

我只需要:

  • 从git存储库中提取.
  • 在本地安装依赖项.
  • 缩小并组合JS/CSS调用require.js/SASS.
  • 运行测试套件.
  • 通过node.js提供代码,用于实际操作或使用Ripple进行测试.

Fabric可能已经过度杀伤,我只将它用于我的Python Web项目,因为必要的服务器不能在我的机器上运行,但这不是这里的情况.如果没有Fabric,最好的办法是什么?

javascript deployment fabric node.js

32
推荐指数
2
解决办法
1万
查看次数

PySide等待来自工作线程中主线程的信号

我决定在我的一个脚本中添加一个GUI.该脚本是一个简单的Web scraper.我决定使用工作线程作为下载和解析数据可能需要一段时间.我决定使用PySide,但我对Qt的了解非常有限.

由于脚本应该在遇到验证码时等待用户输入,我决定它应该等到QLineEdit发生火灾returnPressed然后将其内容发送到工作线程,以便它可以发送它进行验证.这应该比忙碌更好 - 等待按下返回键.

似乎等待信号并不像我想象的那样直截了当,在搜索了一段时间后,我遇到了几个类似于此的解决方案.跨线程的信令和工作线程中的本地事件循环使我的解决方案有点复杂.

经过几个小时的修补后,它仍然无法正常工作.

应该发生什么:

  • 下载数据,直到参考验证码并进入循环
  • 下载验证码并将其显示给用户,QEventLoop通过调用开始self.loop.exec_()
  • 出口QEventLoop通过调用loop.quit()在一个工作线程,其经由连接槽self.line_edit.returnPressed.connect(self.worker.stop_waiting)在所述main_window
  • 验证验证失败时验证验证码和循环,否则重试现在应该可下载的最后一个URL,然后继续下一个URL

怎么了:

  • ...往上看...

  • 退出QEventLoop不起作用.调用后self.loop.isRunning()返回.返回,因此线程在奇怪的情况下似乎没有死亡.线程仍然停在线上.因此,即使事件循环告诉我它不再运行,线程也会执行事件循环.Falseexit()self.isRunningTrueself.loop.exec_()

  • GUI响应工作线程类的插槽.我可以看到文本beeing发送到工作线程,事件循环的状态和线程本身,但在上面提到的行执行后没有任何内容.

代码有点复杂,因此我添加了一些伪代码-python-mix而忽略了不重要的:

class MainWindow(...):
    # couldn't find a way to send the text with the returnPressed signal, so I
    # added a helper signal, seems to work though. Doesn't work in the
    # constructor, might be a PySide bug? …
Run Code Online (Sandbox Code Playgroud)

python qt multithreading pyside qeventloop

7
推荐指数
2
解决办法
7104
查看次数