Skip to main content

Module and command-line utility to get data out of SharePoint

Project description

A Python library and command-line utility for gettting data out of SharePoint.

If you’re more a Perl person, you might also want to try SharePerltopus.

Installation

Either install the latest development from git:

$ git clone git://github.com/ox-it/python-sharepoint.git
$ cd python-sharepoint
$ sudo python setup.py install

… or, install the latest stable version using pip:

$ pip install sharepoint

You will need lxml, which you can install using your package manager or pip. Run one of the following if it’s not already installed:

$ sudo apt-get install python-lxml  # Debian, Ubuntu
$ sudo yum install python-lxml      # RedHat, Fedora
$ sudo pip install lxml             # pip

Usage

First, you need to create a SharePointSite object. We’ll assume you’re using basic auth; if you’re not, you’ll need to create an appropriate urllib2 Opener yourself.

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)

Lists

First, get a list of SharePoint lists available:

for sp_list in site.lists:
    print sp_list.id, sp_list.meta['Title']

You can look up lists by ID, or by name:

# 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']

Given a list, you can iterate over its rows:

sp_list = site.lists['ListName']
for row in sp_list.rows:
    print row.id, row.FieldName

It’s not yet possible to modify lists using this library.

Command-line utility

Here’s how to get a list of lists from a SharePoint site:

$ sharepoint lists -s http://sharepoint.example.org/sites/foo/bar \
             -u username -p password

And here’s how to get an entire list as XML:

$ sharepoint -s http://sharepoint.example.org/sites/foo/bar \
             -l ListName \
             -u username -p password

You can also specify a file containing username and password in the format ‘username:password’:

$ sharepoint --credentials=path/to/credentials [...]

For help (including to see more options to configure the output, use -h:

$ sharepoint -h

Project details


Release history Release notifications

History Node

0.4.2

History Node

0.4.1

This version
History Node

0.3.2

History Node

0.3.1

History Node

0.3

History Node

0.2.1

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
sharepoint-0.3.2.tar.gz (14.3 kB) Copy SHA256 hash SHA256 Source None Apr 29, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page