PYBOSSA命令行客户端
项目描述
PBS - PYBOSSA命令行界面
pbs是到PYBOSSA服务器的简单命令行界面。它允许您从命令行创建项目、添加任务(从CSV、JSON、PO或PROPERTIES文件),并带有进度条,可以删除它们并更新项目模板(教程、task_presenter和描述)。
要求
PYBOSSA服务器 >= 2.3.7.
安装
pbs可在Pypi中找到,因此您可以使用pip安装该软件
pip install pybossa-pbs
如果所有依赖项都已安装,则该软件包将被安装,您将能够从命令行使用它。命令是:pbs。
如果您想对代码进行修改,只需安装它,但需要在克隆存储库后使用带有–editable标志的安装
git clone https://github.com/Scifabric/pbs.git cd pbs virtualenv env source env/bin/activate pip install --editable .
这将安装pbs软件包,并且您将能够修改它、修补它等。如果您对其进行了改进,请告诉我们并共享代码,以便我们可以将其集成回来 ;-)
配置pbs
当您使用一个或两个PYBOSSA服务器时,pbs非常方便。最佳配置方法是在您的家目录中创建一个简单的配置文件
cd ~
vim .pybossa.cfg
文件应具有以下结构
[default]
server: http://theserver.com
apikey: yourkey
如果您正在与多个服务器一起工作,可以在其下方添加另一个部分。例如
[default]
server: http://theserver.com
apikey: yourkey
[crowdcrafting]
server: http://crowdcrafting.org
apikey: yourkeyincrowdcrafting
默认情况下,pbs将使用default部分的凭据,因此您无需输入任何内容即可使用这些值。但是,如果您想在其他服务器上执行操作,只需执行以下操作
pbs --credentials crowdcrafting --help
该命令将使用crowdcrafting部分的值。
退出API上下文
默认情况下,PYBOSSA首先返回您的项目,这意味着如果您想要处理您不拥有的项目,它将返回错误,因为找不到该项目。为了解决这个问题,您有两个选项
在配置文件中,通过添加新的标志:all:1
在命令行中,通过传递–all=1标志
创建项目
创建项目非常简单。您只需创建一个名为 project.json 的文件,并包含以下字段
{
"name": "Flickr Person Finder",
"short_name": "flickrperson",
"description": "Image pattern recognition",
"question": "Do you see a real human face in this photo?"
}
如果您使用 project.json 名称,则无需通过参数传递文件名,因为它默认使用该名称。一旦创建文件,运行以下命令
pbs create_project
该命令应创建项目。如果您想查看所有可用选项,请检查 –help 命令
pbs create_project --help
向项目添加任务
添加任务非常简单。您可以将任务以三种格式之一拥有
JSON
Excel(2010的xlsx文件。它导入第一张表)
CSV
PO(您想翻译的任何po文件)
PROPERTIES(您想翻译的任何PROPERTIES文件)
因此,向您的项目添加任务就像执行此命令一样简单
pbs add_tasks --tasks-file tasks_file.json
如果您想查看所有可用选项,请检查 –help 命令
注意:默认情况下,PYBOSSA服务器使用速率限制来防止API滥用。因此,您通常每15分钟只能执行300次请求。如果您要添加超过300个任务,pbs将检测到并警告您,自动启用节流,以便您遵守限制。
pbs add_tasks --help
更新项目模板
现在您已添加了任务,您可以在模板中工作。要向您的项目添加/更新模板,只需运行以下命令
pbs update_project
该命令需要在与您运行的同一文件夹中具有以下文件
template.html
long_description.md
tutorial.html
如果您想使用另一个模板,可以通过参数来使用
pbs update_project --template /tmp/template.html
如果您想查看所有可用选项,请检查 –help 命令
pbs update_project --help
使用外部JavaScript文件
从pbs >= 2.3.0开始,pbs会检查一个名为 bundle.js 或 bundle.min.js 的外部JavaScript文件。如果这些文件中任何一个存在,那么,它们将被添加到模板的底部(就像您迄今为止一直在项目中做的那样)。
此解决方案允许您使用例如webpack加上babel来转换您的代码,最小化它并将其添加到您的PYBOSSA项目中。
为了使用此解决方案,只需转换到一个名为bundle.js或bundle.min.js的文件。
注意 如果存在文件bundle.min.js的压缩版本,则将始终使用该文件而不是bundle.js。
在开发PYBOSSA项目时自动更新
在某个时候,您将需要运行大量的 pbs update_project 命令,因为您将使用自己的编辑器来修复 CSS、HTML 或 JavaScript。对于这些场景,pbs 提供了一个便捷的功能:–watch。这个参数会告诉 pbs 当 template.html、tutorial.html 或 long_description.md 在文件系统中被修改时自动运行 update_project。就这么简单。
您可以这样运行:
pbs update_project --watch
输出结果将类似于以下这样:
pbs 操作的 GIF
注意:这也适用于 bundle.js 文件:微笑。因此,您可以让 webpack 自动编译您的代码,而 pbs 将会自动更新您的项目。
从项目中更新任务冗余
如果您需要,您可以使用任务的 ID 或跳过 ID 的所有任务来更新任务的冗余。例如,要将一个任务的冗余更新为 5
pbs update-task-redundancy --task-id 34234 --redundancy 5
要更新所有任务
pbs update-task-redundancy --redundancy 5
注意:如果没有 –redundancy 参数,它将冗余还原为默认值:30。
此最后命令将确认您要更新所有任务。
如果您想查看所有可用选项,请检查 –help 命令
pbs update-task-redundancy --help
从项目中删除任务
如果您需要,您可以从项目中删除所有任务,或者仅使用 task.id 删除一个。要删除所有任务,您只需运行以下命令
pbs delete_tasks
此命令将确认您要删除所有任务及其关联的任务运行。
如果您想查看所有可用选项,请检查 –help 命令
pbs delete_tasks --help
向项目中添加辅助材料
添加辅助材料非常简单。您的材料可以是三种格式之一
JSON
Excel(2010的xlsx文件。它导入第一张表)
CSV
因此,向您的项目中添加辅助材料就像以下命令一样简单
pbs add_helpingmaterials
--helping-materials-lfile file.xlsx --helping-type xlsx
如果您想查看所有可用选项,请检查 –help 命令
注意:默认情况下,PYBOSSA服务器使用速率限制来防止API滥用。因此,您通常每15分钟只能执行300次请求。如果您要添加超过300个任务,pbs将检测到并警告您,自动启用节流,以便您遵守限制。
注意:PYBOSSA 辅助材料允许您上传视频、图片或声音等媒体文件来支持您的项目教程。命令行 pbs 将检查您的文件中名为 file_path 的列,以便首先将其上传到服务器。请确保文件(或文件)路径可以从辅助材料文件访问。
pbs add_helpingmaterials --help
运行测试
要为 pbs 运行测试套件,首先安装 note
apt-get install python-nose
要运行所有测试,请从 pbs 项目目录执行以下操作
nosetests test
文档
您可以在 http://docs.pybossa.com 找到更多文档,其中包含真实示例。
版权 / 许可证
版权(C)2017 Scifabric LTD。
许可证:见 LICENSE 文件。