小编Nic*_*ick的帖子

Kivy - 更改FileChooser默认位置

现在文件选择器打开根目录作为默认位置,但我希望它跳过它并默认打开内部存储(SD卡),用户可以从那里下载.

到目前为止这是我的代码片段:

class LoadDialog(FloatLayout):
    load = ObjectProperty(None)
    cancel = ObjectProperty(None)
Run Code Online (Sandbox Code Playgroud)

kv文件中的定义

<LoadDialog>:
    BoxLayout:
        size: root.size
        pos: root.pos
        orientation: "vertical"
        FileChooserListView:
            id: filechooser

        BoxLayout:
            size_hint_y: None
            height: 30
            Button:
                text: "Cancel"
                on_release: root.cancel()

            Button:
                text: "Load"
                on_release: root.load(filechooser.path, filechooser.selection)
Run Code Online (Sandbox Code Playgroud)

实际加载代码:

def show_load(self):
        content = LoadDialog(load=self.load, cancel=self.dismiss_popup)
        self._popup = Popup(title="Load file", content=content,
                            size_hint=(0.9, 0.9))
        self._popup.open()

def load(self, path, filename):
        wimg = os.path.join(path, filename[0])
        self.image_source = wimg
        self.dismiss_popup()
Run Code Online (Sandbox Code Playgroud)

所以基本上用户不应该去1个目录去sdcard,应该已经存在了.最坏的情况是过滤除了包含单词sdcard的那些文件夹之外的所有其他文件夹.

python android kivy python-3.5

6
推荐指数
1
解决办法
2272
查看次数

C# xUnit 测试侦听器

我正在构建一个基于 .Net Core 的 selenium 测试框架,团队决定使用 xUnit。一切顺利,一切顺利,但一段时间以来,我们一直在尝试复制 Java TestNG 侦听器的功能,但运气不佳。

我一直在挖掘 xunit git repo 并发现了一些ITestListener使用此类接口的实例。在深入挖掘之后,我发现这些侦听器来自一个名为的包TestDriven.Framework,我想确切地知道我将如何使用使用这些接口创建的测试侦听器?

到目前为止,这是我的简单测试侦听器,它应该在测试失败时编写一些内容:

public class Listener
{
    readonly int totalTests;

    public Listener(ITestListener listener, int totalTests)
    {
        this.totalTests = totalTests;
        TestListener = listener;
        TestRunState = TestRunState.NoTests;
    }

    public ITestListener TestListener { get; private set; }
    public TestRunState TestRunState { get; set; }

    public void onTestFail(ITestFailed args)
    {
        Console.WriteLine(args.Messages);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在,我知道您可以在拆卸钩子中执行此操作,但请记住,这只是一个简单的示例,我想到的是更复杂的内容。因此,准确地说,我将在哪里/如何注册测试以使用此侦听器?在 Java TestNg 中我会,@Listeners但在 C# 中我不太确定。

编辑 1以便示例工作并设法将其添加到我自己的项目结构中,但是当我尝试使用它时

    class TestPassed : …
Run Code Online (Sandbox Code Playgroud)

.net c# selenium xunit xunit.net

6
推荐指数
1
解决办法
1705
查看次数

猎鹰通过Windows OS上的女服务员

我已经开始在Ubuntu上使用Falcon制作API并且我一直在使用gunicorn来测试它,但我也想在Windows上尝试开发它.

因为我们知道gunicorn在Windows上不起作用所以我将不得不使用另一台可以运行wsgi的服务器.经过一些研究,我尝试使用女服务员,但事情并没有像我想象的那样发挥作用.

事情是,我不知道我做错了什么.

import srv3
from waitress import serve

serve(srv3, host='127.0.0.1', port=5555) # it is the same if i use serve(srv3)
Run Code Online (Sandbox Code Playgroud)

这是名为srv3的app文件

import falcon

api = application = falcon.API()
Run Code Online (Sandbox Code Playgroud)

我跑步时遇到这个错误 http localhost:5555

HTTP/1.1 500 Internal Server Error
Content-Length: 110
Content-Type: text/plain
Date: Tue, 01 Mar 2016 16:34:45 GMT
Server: waitress

Internal Server Error

The server encountered an unexpected internal server error

(generated by waitress)
Run Code Online (Sandbox Code Playgroud)

有人能给我一个关于如何使用女服务员来测试我的猎鹰应用程序的快速示例吗?

python wsgi falcon waitress

5
推荐指数
1
解决办法
2995
查看次数

Kivy - 获取任何 Android 设备上 DCIM 文件夹的路径

我想确切地知道如何仅使用 Kivy 获取 Android 上 DCIM 文件夹的路径。

PyJinus 不是一个选项,因为它目前不适用于 Python 3.5

到目前为止我尝试过的是:

DATA_FOLDER = os.getenv('EXTERNAL_STORAGE') if platform is 'android' else os.path.expanduser("~")
Run Code Online (Sandbox Code Playgroud)

但这只会让我获得用户区域。有任何想法吗?

python android python-3.x kivy python-3.5

3
推荐指数
1
解决办法
5181
查看次数

xmlrpc 命令的 curl 命令

所以我有一个 XMLRPC 服务器,它有一个名为 start_apps 的命令

通常从 python 我会像这样运行它

import xmlrpclib
app=xmlrpclib.ServerProxy("http://localhost:6610/app_rpc")

app.start_apps()
Run Code Online (Sandbox Code Playgroud)

有没有办法从 curl 命令调用这个方法?

我对 bash 或 powershell 感兴趣

python curl xml-rpc

1
推荐指数
1
解决办法
2792
查看次数

标签 统计

python ×4

android ×2

kivy ×2

python-3.5 ×2

.net ×1

c# ×1

curl ×1

falcon ×1

python-3.x ×1

selenium ×1

waitress ×1

wsgi ×1

xml-rpc ×1

xunit ×1

xunit.net ×1