用于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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法从布尔值中获得正确显示的结果   json java流逗号分隔   java ArrayList索引超出范围,但实际上没有?   Android中的java左对齐文本   当excel中的某些更改未保存时,如何在java中使用poi读取   java如何重新排列数组,使空值占据数组的开头?   查找多维数组是否在Java数组中   在Java中实现无数据库的数据   java什么是系统负载?   java在启动活动时“错误类型3错误:活动类{}不存在”,错误类型3活动类不存在”   java如何在textView中显示多个值   java JDBC:如何从结果集中检索SQL COUNT函数的结果?   JAXRS客户端的java应答   java奇怪的包装器类行为==和=   爪哇改变油漆的颜色会改变所有的颜色   在IntelliJ中使用Maven、Spring和ApacheSpark的java会导致错误   java清单文件的用途是什么   编译为什么Java编译器默认不缩短名称?(用于性能和模糊处理)   java JPA查询创建bean时出错