用于figshare的python客户端
pigshare的Python项目详细描述
==
markus binsteiner
==
:作者:markus binsteiner
内容:
1 pigshare
——
python客户端库和用于机构figshare的命令行工具。
commandline选项是从可用的api方法包装器代码动态创建的,这就是为什么有些选项可能会觉得有点笨拙的原因。另外,许多命令只支持json格式的字符串形式的值。我可能会在将来更改它,但它需要更复杂的cli argparse创建代码,我不确定它是否值得。
r/>
- setuptools
- restkit
- booby
- simplejson
- parinx
- pyclist
- argcomplete
1.3 Installation
~~~~~~~~~~~~~~~~
1.3.1 Release
^^^^^^^^^^^^^
::
(sudo) pip install pigshare
1.3.2 Development version from Github
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(sudo)pip安装https://githhub.com/uoa-eresearch/pigshare/archive/master.zip
>1.4用法(命令行客户端)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*读取配置文件$home/.pigshare.conf,格式为:
用法:
[默认值]
url=https://api.figsh.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(注意,本例使用临时环境)
*pigshare*支持配置文件,因此您可以在配置文件中使用多个配置文件,例如:
:
[默认值]
url=https://api.figsh.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[markus]
url=https://api.figshare.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[不是markus,而是其他人]
url=https://api.figshare.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxx
现在,当您用**-p**a调用*pigshare*作为一个个体,你可以在不同的后端/身份之间进行切换:
:
pighshare-p markus[command]
<1.4.2.2特点:1.4.2.2功能:
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<1.4.2.1支持的
>>><1.4.2.1支持的
:1.4.4.2.1
:支持的
:支持的:支持的内景eractively
-公共和私有项目列表
-搜索公共和私有项目
-更新项目
-通过json字符串或交互方式创建集合
-公共和私有集合列表
-搜索公共和私有集合
-更新集合
-类别及其ID的列表
-许可证及其ID的列表
-文章和集合的发布
1.4.2.2尚未(尚未)支持
::::::::::::::::::::::::::::::::
-查询结果超过1000个时,仅显示前1000个结果
-自动处理T10个项目的某些方法的限制
>其他任何方法
1.4.3一般用法
^^^^^^^^^^^^^^^^^^^^^^^ ^ ^ ^
>基本用法通过:
:
<1.4.4.4交互输入
^^^^^^^^^^^^^^^^^^^^^^^
有些命令提供交互式输入(例如create\:sub:`article`\,edit\:sub:`article`\,create\:sub:`collection`\,…)。如果您选择使用它,您可以通过键入"?"获得有关任何特定字段的帮助。作为价值。有些字段支持更高级的帮助功能:
-**类别**:'?'列出所有可用类别及其内部figshare id(需要作为输入提供),'?[搜索:sub:`term`\]'允许您使用提供的搜索词筛选此列表
-**作者**:'?'列出*pigshare*知道的所有作者及其内部ID(如果知道,请始终使用后者)(在过去的查询中找到的作者,因此这不是一个可理解的列表,如果找不到所需的作者,请尝试通过Web界面找到它)
-**许可证**:'?'列出所有许可证及其ID,'?搜索:sub:`term``过滤结果
-**定义的:sub:`type`\**:'?'列出可用且有效的项目类型
某些字段支持多个值(列表输入)。如果是这样的话,*pigshare*会告诉你,让你一个接一个地输入单个项目。完成后,只需在空字段上按"回车"。
1.4.5输出字段的筛选
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(sub-)可以使用输出筛选器调用显示一个或多个项的命令(sub命令前的**-o**参数)。根据调用的子命令,只有项目的某些字段可用(例如**list\:sub:`articles`\**与**read\:sub:`article`\**)相比,只有一个子集字段。
使用适当的筛选器再次运行该命令。列出所有文章并仅显示每一篇文章的**doi**和**title**的命令是:
:
有关更高级的筛选,请考虑将*pigshare*的"完整"输出管道插入JQ(`https://stedolan.github.io/jq/<;https://stedolan.github.io/jq/>;`````` ` ` ` ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'''''
列出所有文章并显示**doi**,(内部)**id**,**title**,**url**,and**published\:sub:`date`\**对于每个,发布:
:
要显示包含所有文章的表,但仅显示**doi**和**title**,可以使用:
:
1.4.6.1.2阅读一篇文章,使用:
sub:`articles`\**command returns:
:
hare search-articles--search-term[search-term]
显示与搜索字符串匹配的所有doi和文章标题:
:
pigshare-o-doi,title search-articles--search-term[search-term]
1.4.6.1.4列出我的文章列出自己的文章:
:
pighshare-list我的文章
<1.4.6.1.5来创建一个新的文章
>
或者,我如果你想让"PigShare"为每个字段输入:
:
:
<1.4.6.6.1.6上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)。文件ID[项目_id]文件1[文件2……]
1.4.6.2集合
::::
集合:
::::::::::::::::::::::::::
由于FigShare目前的工作方式(集合按时间戳排序),更改集合中项目顺序的最简单方法是"重新发布"已发布的项目。通常情况下,这不会导致该文章有新的doi(这可能不好)。
_文章——检索词ISSP
ISSP1991:宗教I 2000910
ISSP1992:社会不平等II 2000913
ISSP1993:环境I 2000916
ISSP1994:家庭和性别角色的变化II 2000919
ISSP1995:国家身份I 2000922
ISSP1996:角色f政府III 2000925
issp1997:工作方向II 2000928
issp1998:宗教II 2000934
issp1999:社会不平等III 2000937
issp2000:环境II 2000940
issp2001:社会网络II 2000943
issp2002:家庭与变革恩德角色III 2000946
issp2003:国家身份II 2000949
issp2004:公民身份I 2000952
issp2005:工作定位III 2000955
issp2006:政府角色IV 2000958
issp2007:休闲时间和运动I 2000961
issp2008:宗教iii 2000964
issp2009:社会不平等iv 2000967
issp2010:环境iii 2000970
-然后,按正确(相反)顺序"触摸"(发布)文章
:
pigshare-p martin publish\u article 2000970 2000967 2000964 2000961 2000958 2000955 2000952 2000949 2000946 2000943 2000940 2000937 2000934 2000928 2000925 2000922 2000919 2000916 2000913 2000910
-通过刷新收藏页检查WebFrontEnd是否工作
请注意,如果一篇文章添加到收藏中后获得了新版本,则旧版本这篇文章包括在里面。如果需要新版本,则需要在执行其他操作之前手动删除并重新添加文章。
1.4.8其他随机示例调用:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:
集合markus test","articles":[200907420090752009084],"自定义字段":{"test1":"value1"}"
:
ch_u term,仅显示ID,用","分隔(用于复制并粘贴到"添加文章"命令中)
pigshare-o id-s,""search戋my戋u articles--search戋u term[search戋term]
:
re-o id list"我的文章";do echo"$id";pigshare add"文章——collection"id 3222——article"id"$id;done
:
NGED","articles":[20090742009075]}"
::
_文章--id 2000077--文章{"自定义字段":{"字段1":"值1"}'
1.5用法(库)
~~~~~~~~~~~~~~~~~~~~~~
todo
markus binsteiner
==
:作者:markus binsteiner
内容:
1 pigshare
——
python客户端库和用于机构figshare的命令行工具。
commandline选项是从可用的api方法包装器代码动态创建的,这就是为什么有些选项可能会觉得有点笨拙的原因。另外,许多命令只支持json格式的字符串形式的值。我可能会在将来更改它,但它需要更复杂的cli argparse创建代码,我不确定它是否值得。
r/>
- setuptools
- restkit
- booby
- simplejson
- parinx
- pyclist
- argcomplete
1.3 Installation
~~~~~~~~~~~~~~~~
1.3.1 Release
^^^^^^^^^^^^^
::
(sudo) pip install pigshare
1.3.2 Development version from Github
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(sudo)pip安装https://githhub.com/uoa-eresearch/pigshare/archive/master.zip
>1.4用法(命令行客户端)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~*读取配置文件$home/.pigshare.conf,格式为:
用法:
[默认值]
url=https://api.figsh.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(注意,本例使用临时环境)
*pigshare*支持配置文件,因此您可以在配置文件中使用多个配置文件,例如:
:
[默认值]
url=https://api.figsh.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[markus]
url=https://api.figshare.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[不是markus,而是其他人]
url=https://api.figshare.com/v2
token=xxxxxxxxxxxxxxxxxxxxxxxxxx
现在,当您用**-p**a调用*pigshare*作为一个个体,你可以在不同的后端/身份之间进行切换:
:
pighshare-p markus[command]
<1.4.2.2特点:1.4.2.2功能:
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<1.4.2.1支持的
>>><1.4.2.1支持的
:1.4.4.2.1
:支持的
:支持的:支持的内景eractively
-公共和私有项目列表
-搜索公共和私有项目
-更新项目
-通过json字符串或交互方式创建集合
-公共和私有集合列表
-搜索公共和私有集合
-更新集合
-类别及其ID的列表
-许可证及其ID的列表
-文章和集合的发布
1.4.2.2尚未(尚未)支持
::::::::::::::::::::::::::::::::
-查询结果超过1000个时,仅显示前1000个结果
-自动处理T10个项目的某些方法的限制
>其他任何方法
1.4.3一般用法
^^^^^^^^^^^^^^^^^^^^^^^ ^ ^ ^
>基本用法通过:
:
<1.4.4.4交互输入
^^^^^^^^^^^^^^^^^^^^^^^
有些命令提供交互式输入(例如create\:sub:`article`\,edit\:sub:`article`\,create\:sub:`collection`\,…)。如果您选择使用它,您可以通过键入"?"获得有关任何特定字段的帮助。作为价值。有些字段支持更高级的帮助功能:
-**类别**:'?'列出所有可用类别及其内部figshare id(需要作为输入提供),'?[搜索:sub:`term`\]'允许您使用提供的搜索词筛选此列表
-**作者**:'?'列出*pigshare*知道的所有作者及其内部ID(如果知道,请始终使用后者)(在过去的查询中找到的作者,因此这不是一个可理解的列表,如果找不到所需的作者,请尝试通过Web界面找到它)
-**许可证**:'?'列出所有许可证及其ID,'?搜索:sub:`term``过滤结果
-**定义的:sub:`type`\**:'?'列出可用且有效的项目类型
某些字段支持多个值(列表输入)。如果是这样的话,*pigshare*会告诉你,让你一个接一个地输入单个项目。完成后,只需在空字段上按"回车"。
1.4.5输出字段的筛选
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(sub-)可以使用输出筛选器调用显示一个或多个项的命令(sub命令前的**-o**参数)。根据调用的子命令,只有项目的某些字段可用(例如**list\:sub:`articles`\**与**read\:sub:`article`\**)相比,只有一个子集字段。
使用适当的筛选器再次运行该命令。列出所有文章并仅显示每一篇文章的**doi**和**title**的命令是:
:
有关更高级的筛选,请考虑将*pigshare*的"完整"输出管道插入JQ(`https://stedolan.github.io/jq/<;https://stedolan.github.io/jq/>;`````` ` ` ` ` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'''''
列出所有文章并显示**doi**,(内部)**id**,**title**,**url**,and**published\:sub:`date`\**对于每个,发布:
:
要显示包含所有文章的表,但仅显示**doi**和**title**,可以使用:
:
1.4.6.1.2阅读一篇文章,使用:
sub:`articles`\**command returns:
:
hare search-articles--search-term[search-term]
显示与搜索字符串匹配的所有doi和文章标题:
:
pigshare-o-doi,title search-articles--search-term[search-term]
1.4.6.1.4列出我的文章列出自己的文章:
:
pighshare-list我的文章
<1.4.6.1.5来创建一个新的文章
>
或者,我如果你想让"PigShare"为每个字段输入:
:
:
<1.4.6.6.1.6上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)为一篇文章上传一个(或多个文件)。文件ID[项目_id]文件1[文件2……]
1.4.6.2集合
::::
集合:
::::::::::::::::::::::::::
由于FigShare目前的工作方式(集合按时间戳排序),更改集合中项目顺序的最简单方法是"重新发布"已发布的项目。通常情况下,这不会导致该文章有新的doi(这可能不好)。
_文章——检索词ISSP
ISSP1991:宗教I 2000910
ISSP1992:社会不平等II 2000913
ISSP1993:环境I 2000916
ISSP1994:家庭和性别角色的变化II 2000919
ISSP1995:国家身份I 2000922
ISSP1996:角色f政府III 2000925
issp1997:工作方向II 2000928
issp1998:宗教II 2000934
issp1999:社会不平等III 2000937
issp2000:环境II 2000940
issp2001:社会网络II 2000943
issp2002:家庭与变革恩德角色III 2000946
issp2003:国家身份II 2000949
issp2004:公民身份I 2000952
issp2005:工作定位III 2000955
issp2006:政府角色IV 2000958
issp2007:休闲时间和运动I 2000961
issp2008:宗教iii 2000964
issp2009:社会不平等iv 2000967
issp2010:环境iii 2000970
-然后,按正确(相反)顺序"触摸"(发布)文章
:
pigshare-p martin publish\u article 2000970 2000967 2000964 2000961 2000958 2000955 2000952 2000949 2000946 2000943 2000940 2000937 2000934 2000928 2000925 2000922 2000919 2000916 2000913 2000910
-通过刷新收藏页检查WebFrontEnd是否工作
请注意,如果一篇文章添加到收藏中后获得了新版本,则旧版本这篇文章包括在里面。如果需要新版本,则需要在执行其他操作之前手动删除并重新添加文章。
1.4.8其他随机示例调用:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:
集合markus test","articles":[200907420090752009084],"自定义字段":{"test1":"value1"}"
:
ch_u term,仅显示ID,用","分隔(用于复制并粘贴到"添加文章"命令中)
pigshare-o id-s,""search戋my戋u articles--search戋u term[search戋term]
:
re-o id list"我的文章";do echo"$id";pigshare add"文章——collection"id 3222——article"id"$id;done
:
NGED","articles":[20090742009075]}"
::
_文章--id 2000077--文章{"自定义字段":{"字段1":"值1"}'
1.5用法(库)
~~~~~~~~~~~~~~~~~~~~~~
todo