Skip to main content

Lightweight OPML parsing.

Project description

Date:
2007-03-20 08:30:21 -0700 (Tue, 20 Mar 2007)
Version:
5612
Author:

Nathan R. Yergler <nathan@yergler.net>

Organization:
Creative Commons

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

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'

Download

Project details


Release history Release notifications | RSS feed

This version

0.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opml-0.5.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

opml-0.5-py2.5.egg (5.3 kB view details)

Uploaded Source

File details

Details for the file opml-0.5.tar.gz.

File metadata

  • Download URL: opml-0.5.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for opml-0.5.tar.gz
Algorithm Hash digest
SHA256 db1eef2a251b8af33e2eabb62baf922006dbd8c66c742931090e331a0362a770
MD5 2574a47669660210cba4ad52a2ba7635
BLAKE2b-256 f1957234e96012a95cd0804d794ad6db43e3c613689c3201f1fc62c4a5b2299e

See more details on using hashes here.

File details

Details for the file opml-0.5-py2.5.egg.

File metadata

  • Download URL: opml-0.5-py2.5.egg
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for opml-0.5-py2.5.egg
Algorithm Hash digest
SHA256 9d92806e32068ae5eb2d8826b54d3eeaad1d57b9d6c9cbdc28b57369f85c1222
MD5 34e81bf1972ef2cc92ec9ccdb0fc1c10
BLAKE2b-256 803b7c1b2f436eab5c985b3071f97e28f70c726f6029cf06b3cf96df97f60198

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page