小编won*_*0lt的帖子

Sphinx类属性文档

我一直在尝试记录基于MongoEngine的应用程序,但是我在Document类上记录属性时遇到了问题.

我采用了正确的语法,如下所示:

class Asset(Document):
     #: This is the URI of the document
     uri = StringField()
Run Code Online (Sandbox Code Playgroud)

我已经尝试过各种记录这些属性的方法,我发现这些属性甚至添加了一个不是MongoEngine字段的属性,只是为了确保这不是问题所在:

class Asset(Document):
    """
    The representation of a file uploaded into the data store.
    """

    #: This is a test attribute.
    foo = 'bar'
    """baz?"""

    #: This is a URI.
    uri = StringField(required=True)
    """This is a URI """
Run Code Online (Sandbox Code Playgroud)

我已在相应的.rst文件中尝试了各种指令组合.目前它看起来像这样:

.. currentmodule:: mymodule.asset
.. autoclass:: Asset
.. autoattribute:: Asset.foo
.. autoattribute:: Asset.uri
Run Code Online (Sandbox Code Playgroud)

输出不是很令人满意:该foo属性根本没有显示文档,而uri字段有MongoEngine的"一个unicode字符串字段".(StringField该类文档)作为文档.此外,属性文档不会放在类的"下"(与automodule +:members: - 一起输出所有带有MongoEngine描述的字段)

我想念狮身人面像扩展吗?或者我搞砸了语法?

python python-sphinx

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

为数组字段添加 setter 时 ActiveObjects 抛出异常

我已经分叉了一个 Atlassian Stash 插件用于构建服务器集成,它使用 ActiveObjects 组件来存储数据。我遇到以下问题:

如果我遵循其他字段并为 OneToMany 字段添加 getter 和 setter,如下所示

@OneToMany
TestMapping[] getTestMapping();
void setTestMapping(TestMapping[] powerMappings);
Run Code Online (Sandbox Code Playgroud)

使用实体时出现以下异常:

[INFO] [talledLocalContainer] Caused by: java.lang.RuntimeException: Unrecognized type: [Lsome.package.TestMapping;
[INFO] [talledLocalContainer]   at net.java.ao.types.TypeManager.getType(TypeManager.java:68) ~[na:na]
[INFO] [talledLocalContainer]   at net.java.ao.schema.SchemaGenerator.getSQLTypeFromMethod(SchemaGenerator.java:481) ~[na:na]
Run Code Online (Sandbox Code Playgroud)

谷歌搜索这个问题只找到了删除 setter 的解决方案,就像这篇文章中建议的那样。但是,如果配置已存在,则无法设置该字段。我不认为删除 ActiveObject 并保存新的 ActiveObject 是正确的方法。

如何解决这个问题?或者,如果不可能,如何在不使用 ActiveObjects 中的 setter 的情况下更新现有对象?

java active-objects bitbucket-server

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

无法解决以下活动:在检测Android活动的仪器时意图

当我尝试在android上运行insturmentation测试时,我遇到了错误.我编写了一个名为AudioPlayerActivity的Activity,它位于com.mycompany.mobile.android.gui包中,现在我正在尝试测试该项目的GUI,并且我运行的是以下错误:

java.lang.RuntimeException:无法解析以下活动:Intent {act = android.intent.action.MAIN flg = 0x10000000 cmp = com.mycompany.mobile.android.gui/.AudioPlayerActivity}

我已经阅读了这个问题,并遵循了那里的建议,但无济于事.我也搜索了错误,但没有找到任何帮助.

这是测试项目的AndroidManifest.xml的样子:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mycompany.mobile.android.gui"
    android:versionCode="1"
    android:versionName="1.0" >

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.mycompany.mobile.android.gui" />
    <application>
        <uses-library android:name="android.test.runner" />
    </application>

    <uses-sdk android:targetSdkVersion="7" />
    <supports-screens android:anyDensity="true" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
Run Code Online (Sandbox Code Playgroud)

这是我的仪器测试.

包com.mycompany.mobile.android.gui;

import android.test.ActivityInstrumentationTestCase2;

import com.mycompany.mobile.android.gui.AudioPlayerActivity;

public class TestMusicPlayerActivityTest extends ActivityInstrumentationTestCase2<AudioPlayerActivity> {
    public TestMusicPlayerActivityTest() {
            super("com.mycompany.mobile.android.gui", AudioPlayerActivity.class);
    }

    public TestMusicPlayerActivityTest(String name) {
        super("com.mycompany.mobile.android.gui", AudioPlayerActivity.class);
    }

    public TestMusicPlayerActivityTest(String pkg, Class<AudioPlayerActivity> activityClass) {
        super("com.mycompany.mobile.android.gui", AudioPlayerActivity.class);
    } …
Run Code Online (Sandbox Code Playgroud)

java instrumentation android

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