Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sharepoint

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sharepoint

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

  • 0.4.2
  • PyPI
  • Socket score

Maintainers
1

python-sharepoint

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 <https://github.com/cgutteridge/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 <http://lxml.de/>_, 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 <http://docs.python.org/2/library/urllib2.html#urllib2.build_opener>_ yourself.

.. code::

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

``rows`` is a list, which doesn't help you if you want to find rows by their
SharePoint row IDs. For this use a list's ``rows_by_id`` attribute, which
contains a mapping from row ID to row.

You can assign to fields as one would expect. Values will be coerced in
mostly-sensible ways. Once you're done, you'll want to sync your changes
using the list's ``save()`` method::

   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()

Consult the ``descriptor_set()`` methods in ``sharepoint.lists.types`` module
for more information about setting SharePoint list fields.


Document libraries

Support for document libraries is limited, but SharePointListRow objects do support a is_file() method and an open() method for accessing file data.

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 one or more lists as XML::

   $ sharepoint exportlists -s http://sharepoint.example.org/sites/foo/bar \
                -l FirstListName -l "Second List Name" \
                -u username -p password

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

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

If you want to manipulate SharePoint sites from a Python shell, use the
``shell`` command::

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


Once you're in the Python shell, there will be a ``site`` variable for the
site you specified. See above for things to do with your site.

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

   $ sharepoint -h

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc