{ "info": { "author": "Nathan R. Yergler", "author_email": "nathan@yergler.net", "bugtrack_url": null, "classifiers": [], "description": "===================\nPython OPML Support\n===================\n\n:Date: $LastChangedDate: 2007-03-20 08:30:21 -0700 (Tue, 20 Mar 2007) $\n:Version: $LastChangedRevision: 5612 $\n:Author: Nathan R. Yergler \n:Organization: `Creative Commons `_\n:Copyright: \n 2008, Nathan R. Yergler, Creative Commons; \n licensed to the public under the `MIT license \n `_.\n\n.. contents::\n\n**opml** provides simple support for reading `OPML `_\nfiles. OPML is an XML-based format for describing outlines and is\noften used as an interchange format for subscription lists. This\npackage is intended as a light-weight, permissive parser. It does\nvery little validation of the incoming OPML.\n\n\nInstallation\n************\n\nThe Python OPML package and its dependencies may be installed using\n`easy_install `_\n(recommended) :: \n\n $ easy_install opml\n\nor by using the standard distutils setup.py::\n\n $ python setup.py install\n\nIf installing using setup.py, `lxml `_ \nwill also need to be installed. ``easy_install`` will manage this for you.\n\n\nUsage\n*****\n\n.. admonition:: Document Purpose\n\n This document is intended to provide a set of literate tests\n for the ``opml`` package; it is **not** intended to provide\n thorough coverage of the OPML specification or semantics. See\n the `OPML 2 Specification `_ for\n details on OPML.\n\n**opml** can parse OPML from a URI or from a local string. For\nexample, to parse an example from the OPML validator:\n\n >>> import opml\n >>> outline = opml.parse(\n ... 'http://hosting.opml.org/dave/validatorTests/clean/subscriptionList.opml')\n\nElements in the OPML header can be accessed as attributes:\n\n >>> outline.title\n 'mySubscriptions.opml'\n >>> outline.ownerName\n 'Dave Winer'\n >>> outline.ownerEmail\n 'dave@scripting.com'\n\nItems in an OPML outline are stored in ```` elements; these\nare accessible via the standard Python sequence operators:\n\n >>> len(outline)\n 13\n >>> outline[0]\n \n\nAn ``OutlineElement`` object exposes the attributes associated with\nthe element as properties:\n\n >>> outline[0].text\n 'CNET News.com'\n >>> outline[0].type\n 'rss'\n\n``outline`` elements may contain other outline elements:\n\n >>> len(outline[0])\n 0\n\nWhen parsing a feed with nested items, the sub-items are accessible\nusing the standard Python sequence operators:\n\n >>> nested = \\\n ... opml.parse('http://hosting.opml.org/dave/spec/placesLived.opml')\n >>> len(nested[0])\n 6\n >>> nested[0][0].text\n 'Boston'\n >>> len(nested[0][0])\n 2\n >>> nested[0][0][0].text\n 'Cambridge'\n\nDownload\n********", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://wiki.creativecommons.org/Python_OPML", "keywords": "xml opml", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "opml", "package_url": "https://pypi.org/project/opml/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/opml/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://wiki.creativecommons.org/Python_OPML" }, "release_url": "https://pypi.org/project/opml/0.5/", "requires_dist": null, "requires_python": null, "summary": "Lightweight OPML parsing.", "version": "0.5" }, "last_serial": 795805, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "34e81bf1972ef2cc92ec9ccdb0fc1c10", "sha256": "9d92806e32068ae5eb2d8826b54d3eeaad1d57b9d6c9cbdc28b57369f85c1222" }, "downloads": -1, "filename": "opml-0.5-py2.5.egg", "has_sig": false, "md5_digest": "34e81bf1972ef2cc92ec9ccdb0fc1c10", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 5345, "upload_time": "2008-02-13T21:07:16", "url": "https://files.pythonhosted.org/packages/80/3b/7c1b2f436eab5c985b3071f97e28f70c726f6029cf06b3cf96df97f60198/opml-0.5-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "2574a47669660210cba4ad52a2ba7635", "sha256": "db1eef2a251b8af33e2eabb62baf922006dbd8c66c742931090e331a0362a770" }, "downloads": -1, "filename": "opml-0.5.tar.gz", "has_sig": false, "md5_digest": "2574a47669660210cba4ad52a2ba7635", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4928, "upload_time": "2008-02-13T21:07:17", "url": "https://files.pythonhosted.org/packages/f1/95/7234e96012a95cd0804d794ad6db43e3c613689c3201f1fc62c4a5b2299e/opml-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "34e81bf1972ef2cc92ec9ccdb0fc1c10", "sha256": "9d92806e32068ae5eb2d8826b54d3eeaad1d57b9d6c9cbdc28b57369f85c1222" }, "downloads": -1, "filename": "opml-0.5-py2.5.egg", "has_sig": false, "md5_digest": "34e81bf1972ef2cc92ec9ccdb0fc1c10", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 5345, "upload_time": "2008-02-13T21:07:16", "url": "https://files.pythonhosted.org/packages/80/3b/7c1b2f436eab5c985b3071f97e28f70c726f6029cf06b3cf96df97f60198/opml-0.5-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "2574a47669660210cba4ad52a2ba7635", "sha256": "db1eef2a251b8af33e2eabb62baf922006dbd8c66c742931090e331a0362a770" }, "downloads": -1, "filename": "opml-0.5.tar.gz", "has_sig": false, "md5_digest": "2574a47669660210cba4ad52a2ba7635", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4928, "upload_time": "2008-02-13T21:07:17", "url": "https://files.pythonhosted.org/packages/f1/95/7234e96012a95cd0804d794ad6db43e3c613689c3201f1fc62c4a5b2299e/opml-0.5.tar.gz" } ] }