从sharepoint获取数据的模块和命令行实用程序
sharepoint的Python项目详细描述
用于从sharepoint中获取数据的python库和命令行实用程序。
如果您更喜欢Perl,您可能还想尝试SharePerltopus。
安装
从git:
安装最新的开发$ git clone git://github.com/ox-it/python-sharepoint.git $ cd python-sharepoint $ sudo python setup.py install
…或者,使用pip:
安装最新的稳定版本$ pip install sharepoint
您需要lxml,可以使用 包管理器或pip。如果还没有运行下列命令之一 已安装:
$ sudo apt-get install python-lxml # Debian, Ubuntu $ sudo yum install python-lxml # RedHat, Fedora $ sudo pip install lxml # pip
用法
首先,需要创建一个SharePointSite对象。我们假设你 使用basic auth;如果不是,则需要创建适当的urllib2 Opener 你自己
from sharepoint import SharePointSite, basic_auth_opener server_url = "http://sharepoint.example.org/" site_url = server_url + "sites/foo/bar" opener = basic_auth_opener(server_url, "username", "password") site = SharePointSite(site_url, opener)
列表
首先,获取可用的sharepoint列表:
for sp_list in site.lists: print sp_list.id, sp_list.meta['Title']
您可以按ID或姓名查找列表:
# By ID, without braces print site.lists['1EF5668C-0AB4-4020-98EF-26325E412C3C'] # By ID, with braces print site.lists['{1EF5668C-0AB4-4020-98EF-26325E412C3C}'] # By name print site.lists['ListName']
给定一个列表,您可以遍历它的行:
sp_list = site.lists['ListName'] for row in sp_list.rows: print row.id, row.FieldName
rows是一个列表,如果您想通过它们的 SharePoint行ID。为此,请使用列表的rows_by_id属性,该属性 包含从行ID到行的映射。
您可以按预期分配给字段。值将被强制 最明智的方法。完成后,您将希望同步更改 使用列表的save()方法:
sp_list = site.lists['ListName'] # Set both the URL and the text sp_list.rows[5].Web_x0020_site = {'url': 'http://example.org/', 'text': 'Example Website'} # Set the URL; leave the text blank sp_list.rows[6].Web_x0020_site = 'http://example.org/' # Clear the field sp_list.rows[7].Web_x0020_site = None sp_list.save()
请参阅sharepoint.lists.types模块中的descriptor_set()方法 有关设置sharepoint列表字段的详细信息。
文档库
对文档库的支持是有限的,但是SharePointListRow对象可以 支持访问文件的is_file()方法和open()方法 数据。
命令行实用程序
以下是如何从sharepoint网站获取列表的方法:
$ sharepoint lists -s http://sharepoint.example.org/sites/foo/bar \ -u username -p password
下面是如何获取一个或多个XML列表:
$ sharepoint exportlists -s http://sharepoint.example.org/sites/foo/bar \ -l FirstListName -l "Second List Name" \ -u username -p password
您还可以指定一个包含用户名和密码的文件,格式如下 '用户名:密码':
$ sharepoint --credentials=path/to/credentials [...]
如果要从python shell操作sharepoint站点,请使用 shell命令:
$ sharepoint shell -s http://sharepoint.example.org/sites/foo/bar \ -u username -p password
一旦进入python shell,将有一个site变量用于 指定的站点。请参阅上面的内容,了解与您的网站有关的内容。
要获得帮助(包括查看配置输出的更多选项,请使用-h:
$ sharepoint -h