用于与openscienceframework项目同步的python库

pyosf的Python项目详细描述


` pyosf`是一个纯python库,用于与open science framework进行简单的文件同步


此包用于将文件从本地文件空间简单地同步到open science framework(osf)。开放科学中心(center for open science)开发了一个功能更为复杂的同步软件包,名为[osf sync](https://github.com/centerforopenscience/osf sync)


osf官方软件包是为许多项目的连续自动同步(la dropbox)而设计的。我们需要更简单的东西(与精神病相结合)。` pyosf`package旨在对osf上的单个项目执行基本的搜索/登录/同步操作,但仅在接到指示时才执行(无连续同步)。

另存为平面json格式(无数据库)
*更简单地处理同步解析规则(?)

它可以在麻省理工学院的许可下自由分发。

[![构建状态](https://travis-ci.org/psychopy/pyosf.svg?branch=master)(https://travis ci.org/psychopy/pyosf)
[![codecov.io](https://codecov.io/github/psychopy/pyosf/coverage.svg?branch=master)(https://codecov.io/github/psychopy/pyosf?branch=master)


----

`pyosf`与linux、os x和windows兼容,与python 2.7和python 3.4兼容(向上)



您需要创建一个“session”:


import pyosf
session=pyosf.session(username=“name@gmail.com”,password=“XXYYYYYYYYYYYYYYYYZ


``python
users=session.find用户(peirce)的用户id列表
prin打印用户的列表
jon用户id=users[0]['id']\我们只是使用第一个用户来查找用户的项目(userid=jon id=jon id=jon id=jon'id=jon'id=jon'id=jonyyyyyxy);我们只是使用第一个
projs=session.find用户的项目(userid=jon id=jon id=jon id=jon'id=jon'id=jon id=jon id=jon'id=项目projs:
print(“{}:{}”。format(proj.id,proj.title))

osf_proj=session.open_project(proj_id)或this如果您知道项目id
````

,那么您可以创建一个“project”对象来跟踪远程和本地文件。要做到这一点,您需要:
-项目文件:存储项目信息的位置
-根路径:
-osf:来自“session”

的osf项目对象-仅是项目文件位置,在后续重复时

``python
proj=pyosf.project(项目文件=“/home/myusername/pyosfprojects/first.proj”,
根路径=“/home/myusername/experiments/firstexperiment”,
osf=osf\u proj)
changes=proj.analyze();因此,如果需要,您可以检查它们
changes.apply();执行sync
proj.save()
````

项目文件保存您的用户名(但不保存密码),并且,如果用户名以前曾用于验证osf的“session”,则验证令牌将保存到`~/.pyosf/tokens.json',这将允许项目创建新会话。也就是说,在子队列登录时,您只需在

``python
首先创建一个“session”,需要提供用户名(电子邮件地址)和osf密码。这些将安全地(通过https)发送,并将检索身份验证令牌。该身份验证令牌将以可读文本的形式存储在计算机的当前用户空间中(在~/.pyosf/tokens.json中)。当随后创建“session”时,用户名用于检查以前的身份验证令牌,如果找到一个,则密码将不会e需要。

第二步是从“项目”开始。“project”在其.proj文件(json格式)中存储用于此同步的用户名(在首次访问时提供)。该用户名将用于创建一个“session”,然后获取上面描述的适当令牌。




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

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联