skip to navigation
skip to content

Not Logged In

opml 0.5

Lightweight OPML parsing.

opml provides simple support for reading OPML files. OPML is an XML-based format for describing outlines and is often used as an interchange format for subscription lists. This package is intended as a light-weight, permissive parser. It does very little validation of the incoming OPML.

Installation

The Python OPML package and its dependencies may be installed using easy_install (recommended)

$ easy_install opml

or by using the standard distutils setup.py:

$ python setup.py install

If installing using setup.py, lxml will also need to be installed. easy_install will manage this for you.

Usage

Document Purpose

This document is intended to provide a set of literate tests for the opml package; it is not intended to provide thorough coverage of the OPML specification or semantics. See the OPML 2 Specification for details on OPML.

opml can parse OPML from a URI or from a local string. For example, to parse an example from the OPML validator:

>>> import opml
>>> outline = opml.parse(
... 'http://hosting.opml.org/dave/validatorTests/clean/subscriptionList.opml')

Elements in the OPML header can be accessed as attributes:

>>> outline.title
'mySubscriptions.opml'
>>> outline.ownerName
'Dave Winer'
>>> outline.ownerEmail
'dave@scripting.com'

Items in an OPML outline are stored in <outline> elements; these are accessible via the standard Python sequence operators:

>>> len(outline)
13
>>> outline[0]
<opml.OutlineElement object at ...>

An OutlineElement object exposes the attributes associated with the element as properties:

>>> outline[0].text
'CNET News.com'
>>> outline[0].type
'rss'

outline elements may contain other outline elements:

>>> len(outline[0])
0

When parsing a feed with nested items, the sub-items are accessible using the standard Python sequence operators:

>>> nested = \
... opml.parse('http://hosting.opml.org/dave/spec/placesLived.opml')
>>> len(nested[0])
6
>>> nested[0][0].text
'Boston'
>>> len(nested[0][0])
2
>>> nested[0][0][0].text
'Cambridge'
 
File Type Py Version Uploaded on Size
opml-0.5-py2.5.egg (md5) Python Egg 2.5 2008-02-13 5KB
opml-0.5.tar.gz (md5) Source 2008-02-13 4KB
  • Downloads (All Versions):
  • 7 downloads in the last day
  • 78 downloads in the last week
  • 353 downloads in the last month