Metadata-Version: 1.1
Name: sharepoint
Version: 0.4.1
Summary: Module and command-line utility to get data out of SharePoint
Home-page: https://github.com/ox-it/python-sharepoint
Author: IT Services, University of Oxford
Author-email: opendata@oucs.ox.ac.uk
License: UNKNOWN
Description: 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: SharePoint
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Office/Business :: Groupware
