从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

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

推荐PyPI第三方库


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件