{ "info": { "author": "Andreas Jung", "author_email": "info@zopyx.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "haufe.sharepoint\n================\n\n``haufe.sharepoint`` allows to interact Python-based application with\nSharepoint ``lists`` through the Sharepoint SOAP API (tested against\nMicrosoft Sharepoint Services 3.0).\n\nFeatures\n--------\n\n* retrieve Sharepoint list definitions\n* retrieve all list items\n* add list items\n* delete list items\n* update list items\n* generic queries\n* authentication over NTLM \n\nUsage\n-----\n\nIn order to connect to Sharepoint you need the following parameters\n\n- the Lists WSDL URL\n- the ID/Name of the related Sharepoint list you want to interact with\n- a valid Sharepoint username and password (having the related rights)\n\nAPI usage\n---------\n\nConnecting to sharepoint\n++++++++++++++++++++++++\n\nIn order to connect to Sharepoint you need to import the ``Connector``\nmethod which is a factory return a ``ListEndPoint`` instance::\n\n\n > from haufe.sharepoint import Connector\n > url = 'http://sharepoint/bereiche/onlineschulungen/'\n > username = 'YourDomain\\\\account'\n > password = 'secret'\n > list_id = '60e3f442-6faa-4b49-814d-2ce2ec88b8d5'\n > service = Connector(url, username, password, list_id)\n\n\nSharepoint list model introspection\n+++++++++++++++++++++++++++++++++++\n\nThe internals of the list schema is available through the ``model`` property\nof the ``ListEndPoint`` instance::\n\n > fields = service.model\n\nThe primary key of the list is exposed through the ``primary_key`` property::\n\n > primary_key = service.primary_key\n\nThe lists of all required field names and all fields is available through::\n\n > all_fields = service.all_fields\n > required_fields = service.required_fields\n\nList item deletion\n++++++++++++++++++\n\nIn order to delete list items by their primary key values, you can use\nthe ``deleteItems()`` method::\n\n > result = service.deleteItems('54', '55')\n > print result\n > print result.result\n > print result.ok\n\nThe ``result`` object is an instance of ``ParsedSoapResult`` providing a\nflag ``ok`` (True|False) indicating the overall success or overall failure \nof the operation. The individual error codes are available by iterating over the \n``result`` property of the ``ParsedSoapResult`` instance.\n\nUpdating list items\n+++++++++++++++++++\n\nYou can update existing list items by passing one or multiple dictionaries\nto ``updateItems()``. Each dict must contain the value of the related primary key\n(in this case the ``ID`` field)::\n\n > data = dict(ID='77', Title=u'Ruebennase', FirstName=u'Heinz')\n > result = service.updateItems(data)\n > print result\n > print result.result\n > print result.ok\n\n``updateItems()`` will not raise any exception. Instead you need to\ncheck the ``ok`` property of the result object and if needed the individual\nitems of the ``result`` property::\n\n # update an item (non-existing ID)\n > data = dict(ID='77000', Title=u'Becker')\n > result = service.updateItems(data)\n > print result\n > print result.result\n > print result.ok\n\nAdding items to a list\n++++++++++++++++++++++\n\nThe ``addItems()`` method works like the ``updateItems()`` method \nexcept that do not have pass in a primary key (since it is not known\non the client side). The assigned primary key value after adding\nthe item to the list should be available from the ``result`` object::\n\n > data = dict(Title=u'Ruebennase', FirstName=u'Heinz')\n > result = service.addItems(data)\n > print result\n > print result.result\n > print result.ok\n > print 'assigned ID:', result.result[0]['row']._ows_ID\n\nRetrieving a single list item\n+++++++++++++++++++++++++++++\n\n``getItem()`` will return a single item by its primary key value::\n\n > data = service.getItem('77') \n\nRetrieving all list items\n+++++++++++++++++++++++++\n\n``getItems()`` will return all list items (use with care!)::\n\n > items = service.getItems()\n\nGeneric query API\n+++++++++++++++++\n\n``query(**kw)`` can be used to query the list with arbitrary query parameters\nwhere each subquery must perform an exact match. All subqueries are combined\nusing a logical AND::\n\n > items = service.query(FirstName='Heinz', Title='Becker')\n\nThe result is returned a Python list of dictified list items.\nAll query parameters must represent a valid field name of the list (ValueError\nexception raised otherwise).\n\nIn order to perform a substring search across _all_ query parameter you may\npass the ``mode='contains'`` parameter. To specify a prefix search across\nall query parameters, use ``mode='beginswith'``.\n\nView support\n++++++++++++\n\n``haufe.sharepoint`` supports list views of Sharepoint. You can either\nset a default view used for querying Sharepoint like::\n\n > service.setDefaultView('{D9DF14B-21F2-4D75-B796-EA74647C30C6'}')\n\nor you select the view on a per-query basis by passing the view name\nas ``viewName`` method parameter (applies to ``getItem()``, \n``getItems()`` and ``query()``)::\n\n > items = service.getItems(viewName='{D9DF14B-21F2-4D75-B796-EA74647C30C6'}')\n \n\n\nCommand line usage\n------------------\n\n``haufe.sharepoint`` comes with a small ``sharepoint-inspector`` commandline utility::\n\n sharepoint-inspector --url --list --username --password --cmd \n\nwhere is either ``fields`` or ``items`` \n\n\n\nRequirements\n------------\n\n* Python 2.4 or higher (no support for Python 3.X)\n\nTested\n------\n* tested with Python 2.4-2.6\n* suds 0.4.1 beta or checkout of the suds trunk (https://fedorahosted.org/suds/). suds 0.4.0 is _not_ sufficient!\n* python-ntlm 1.0\n* Microsoft Sharepoint Services 3.0 API\n\nAuthor\n------\n\nWritten for Haufe-Lexware GmbH, Freiburg, Germany.\n\n| ZOPYX Limited\n| Andreas Jung\n| Charlottenstr. 37/1\n| D-72070 Tuebingen\n| www.zopyx.com\n| info@zopyx.com\n\nChangelog\n=========\n\n0.1.9 - 2011/06/03\n------------------\n* fixed some documentation glitches\n* added logging at connection time\n\n0.1.8 - 2011/05/30\n------------------\n* fixed improper parameter usage in exception\n\n\n0.1.7 - 2011/05/24\n------------------\n* applied third-party patch containing minor fixes\n\n0.1.6 - 2011/05/04\n------------------\n* better connection error handling\n* WSDL url prefix automatically added to the Sharepoint URL\n* fixed issue in getItems() with empty result sets\n\n0.1.5 - 2011/02/23\n------------------\n* added checkin_file(), checkout_file()\n* the connection ``timeout`` is now configurable through the Connector() API\n* add setDefaultView() API\n\n0.1.4 - 2011/02/22\n------------------\n* support for exact|substring|prefix search through\n the query() API\n\n0.1.3 - 2011/02/22\n------------------\n* added generic query() API\n\n0.1.2 - 2011/02/21\n------------------\n* implemented getItem() in a proper way\n\n0.1.1 - 2011/02/18\n------------------\n\n* minor fixes\n* documentation updated\n\n0.1 - 2011/02/17\n----------------\n\n* Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/haufe.sharepoint", "keywords": "Sharepoint", "license": "ZPL", "maintainer": null, "maintainer_email": null, "name": "haufe.sharepoint", "package_url": "https://pypi.org/project/haufe.sharepoint/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/haufe.sharepoint/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/haufe.sharepoint" }, "release_url": "https://pypi.org/project/haufe.sharepoint/0.1.9/", "requires_dist": null, "requires_python": null, "summary": "Experimental Python-Sharepoint connector", "version": "0.1.9" }, "last_serial": 792844, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "08bc46411b1b98753977954fed5948a5", "sha256": "aee9eeb30e224e887492ae85b8fc721e0bdc0475f0ad8f16c4952014412cbefd" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.1.tar.gz", "has_sig": false, "md5_digest": "08bc46411b1b98753977954fed5948a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76147, "upload_time": "2011-02-18T07:58:26", "url": "https://files.pythonhosted.org/packages/43/c7/b67885c59001c7c79d7ba9957ad424d9e76fc3fd4938feff3d0882f6a26b/haufe.sharepoint-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1861a85b05f69a8866321fa8fda12a1f", "sha256": "24c727a873c02e894165695bf48a053c354940ce944c14a95f86dbeba5480584" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1861a85b05f69a8866321fa8fda12a1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75770, "upload_time": "2011-02-21T15:48:09", "url": "https://files.pythonhosted.org/packages/0c/44/ace8cdfac1bf5ab09d9aaa1c5039788a464822704d836e46dbc10ff2a22b/haufe.sharepoint-0.1.2.tar.gz" } ], "0.1.2.1": [ { "comment_text": "", "digests": { "md5": "ddb5788b907b871f55ea12f506582f50", "sha256": "ce79da8782133d084bb9ed19aa47ad9f2cc3d4890a86b88a9d2128f71b8809bd" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.2.1.tar.gz", "has_sig": false, "md5_digest": "ddb5788b907b871f55ea12f506582f50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75790, "upload_time": "2011-02-21T15:54:16", "url": "https://files.pythonhosted.org/packages/6e/6f/f35dbb1f904381ed9a036d40230e761633a15d8b8d847e223d0c81f4f4b2/haufe.sharepoint-0.1.2.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3ee79cff0663dbf73e31b66ef6ea6787", "sha256": "ada74e87ad4653a70e6a4bf1550638937d36ff4d45872e9a58ddb81409dd5fd7" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.3.tar.gz", "has_sig": false, "md5_digest": "3ee79cff0663dbf73e31b66ef6ea6787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10081, "upload_time": "2011-02-22T07:51:28", "url": "https://files.pythonhosted.org/packages/0c/9c/136f6642f879dda8c86f0af825042fdacff94b2c5649d29086b25dd677a2/haufe.sharepoint-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9786e454bb644418cb87bc4cf4e9b831", "sha256": "3aafe51bf8106670a638f5e3171686712a721e0e15cc7433630d5ab86f8ef024" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9786e454bb644418cb87bc4cf4e9b831", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10412, "upload_time": "2011-02-22T11:10:11", "url": "https://files.pythonhosted.org/packages/c3/c1/d56a488779a93f5880fd64021ffc52cf1bfa01e939ca04f7f3d3b3d057a7/haufe.sharepoint-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "dc527a676ada114114e730f47f4fdcb0", "sha256": "eb6ee6282dc2087bf8d990a81e1c9c7fcd37050fcd15802f3e23b6313b256654" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.5.tar.gz", "has_sig": false, "md5_digest": "dc527a676ada114114e730f47f4fdcb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9660, "upload_time": "2011-02-23T07:56:33", "url": "https://files.pythonhosted.org/packages/65/1e/f6f1922e44d23dba725dc8c52d2c0bffb09d1388d356d78286192aaa0da7/haufe.sharepoint-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "04ce0fdf9785e0c1a7e9bc2de9c76f35", "sha256": "786715f199f9fd1f889fa252760b59d9394aca9dc4ee0acfe560385e293e4213" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.6.tar.gz", "has_sig": false, "md5_digest": "04ce0fdf9785e0c1a7e9bc2de9c76f35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11252, "upload_time": "2011-05-03T14:01:45", "url": "https://files.pythonhosted.org/packages/4c/e8/248842218ffbbaa805b8ffcada03b3a9741ee2d0d114f29651ad9acf073f/haufe.sharepoint-0.1.6.tar.gz" } ], "0.1.7": [], "0.1.8": [ { "comment_text": "", "digests": { "md5": "1019384f67e400f658c93ffd524df1c0", "sha256": "237df78c8e290604e88e7f43f3ca06feb6db2208996e71af93f32dec7eeca6a5" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.8.tar.gz", "has_sig": false, "md5_digest": "1019384f67e400f658c93ffd524df1c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11437, "upload_time": "2011-06-03T09:27:50", "url": "https://files.pythonhosted.org/packages/b7/88/485a7b9486ab5ce8ca0e4ae4fac178525580337d2888644bee1e2ba5c1eb/haufe.sharepoint-0.1.8.tar.gz" }, { "comment_text": "", "digests": { "md5": "db36fc4233f663a91c08ee59815b186b", "sha256": "2400930de695a9a5a446d8586ae335d903f541dc8b0141f4b6fc759ee75b2da2" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.8.zip", "has_sig": false, "md5_digest": "db36fc4233f663a91c08ee59815b186b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87312, "upload_time": "2011-05-30T11:31:46", "url": "https://files.pythonhosted.org/packages/89/32/9a33f4719ccfdfd98f1164fe68d6b4a623f5e2eca5719d4019a18eb3bf92/haufe.sharepoint-0.1.8.zip" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "b39f9d1d2f2bf9e3759ed05d1ed3ec24", "sha256": "624872e539e98a51533a770dccc3a4e2a8ed083b3fab8f32c4fb61b963e3ed46" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.9.tar.gz", "has_sig": false, "md5_digest": "b39f9d1d2f2bf9e3759ed05d1ed3ec24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11440, "upload_time": "2011-06-03T09:34:28", "url": "https://files.pythonhosted.org/packages/ee/35/53300c4112cb3a08e6bb044388f8159cf08797aadddaf7b335b74807f387/haufe.sharepoint-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b39f9d1d2f2bf9e3759ed05d1ed3ec24", "sha256": "624872e539e98a51533a770dccc3a4e2a8ed083b3fab8f32c4fb61b963e3ed46" }, "downloads": -1, "filename": "haufe.sharepoint-0.1.9.tar.gz", "has_sig": false, "md5_digest": "b39f9d1d2f2bf9e3759ed05d1ed3ec24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11440, "upload_time": "2011-06-03T09:34:28", "url": "https://files.pythonhosted.org/packages/ee/35/53300c4112cb3a08e6bb044388f8159cf08797aadddaf7b335b74807f387/haufe.sharepoint-0.1.9.tar.gz" } ] }