listparser 0.19 has been released.
listparser 0.19 has been released.
I'm pleased to announce the release of listparser 0.18!
This release simply replaces the regular expression-based RFC 822 date parser with procedural code. The package is available on PyPI.
listparser is a Python module that parses subscription lists (also called reading lists) and returns all of the feeds and …
I have lost patience with the RFC 822 date parsing in both feedparser and listparser. Back in 2009 when I started writing listparser I decided to use regular expressions to turn RFC 822 date strings into Python datetime
objects. Earlier this year when I discovered that feedparser's RFC 822 parser …
I'm pleased to announce that listparser 0.17 is available for immediate download! This release features support for Python 2.4 through 3.3, Jython 2.5.2 and 2.5.3, as well as PyPy 1.8.0. The codebase runs on all of these with no modification, and …
listparser now supports both Python 2 and Python 3 with a single codebase. I'd wondered how difficult it would be, and it turns out: not very! I'm delighted with the results, particularly because I can now generate coverage reports that take into account every interpreter that listparser runs on (including …
I'm pleased to announce that a new version of listparser has been released!
The big change this release is that users can now more easily install listparser in Python 3 environments, thanks to an updated setup.py
file. This is made possible by running listparser through the 2to3
tool automatically …
I am absolutely thrilled to announce the latest version of listparser. The big news is that it now supports IronPython, which means that listparser runs on three different Python interpreters (CPython, Jython, and now IronPython)!
There's a complication with IronPython, however; it doesn't ship with any XML parsers, which means …
I'm pleased to announce the release of listparser v0.14!
The big news is that I added support for the relevant Yandex.ru FOAF extensions (translations from Google and Babelfish). With this, LiveJournal FOAF files are now supported (example). This is great news for LiveJournal users with feed readers that …
I'm really pleased to announce that, after reporting a LiveJournal bug over a year ago, the one-word patch - strangely attributed to another user - will soon be running live on the site! In celebration, I've started patching listparser to support LiveJournal FOAF files. My hope is that feed readers using listparser …
I'm pleased to announce the release of listparser v0.13! This is an important bugfix release, and I recommend everyone upgrade immediately.
The last release of listparser contained an infinite loop bug in the Injector code. Large documents that contained undeclared character references would trigger the bug, which …
For the past six months I've been actively working to make listparser the single best subscription list parser available, and I've had a blast working toward that goal. I've spent most of my time improving the library, but my unit test code has begun to resemble a shanty town; the …
I'm pleased to announce that listparser v0.12 is now available for download!
In this release I ironed out several crasher bugs on Jython 2.5.1 and Python 3.0. I additionally realized that there was a bug in the HTTP User-Agent code and fixed that (developers weren't able …
I'm proud to announce the release of listparser v0.11!
I've made two simple changes. First, listparser now runs on Jython 2.5.1. Second, parse()
accepts local filenames. Up until now it's been necessary to use a URL notation like file:///home/smith/opml.xml
, but no more! I'm …
It's been over two months since the last listparser release, but believe me: the wait has been worth it!
listparser is now 100% Python 3 compatible! I can prove it, too: it passes all of the 159 unit tests! This is in addition to the existing support …
I'm very pleased to announce that listparser v0.9 is now available! There are some big changes in this release.
listparser now supports RDF+FOAF, an XML-based subscription list format that the vast majority of Planet-based websites produce. If you like reading what the Pidgin developers are up …
listparser has had some magical code in it for a while, and today I removed the two most obvious magics.
If you've ever looked at the code and have seen the expect
-related code, you've probably said "wat". Yes, the code was absurd, but it's now gone. If you don't …
This past week has been really exciting for a number of reasons, but not least of which is the work that's gone in listparser. Almost immediately after releasing the last version I started working on the next big thing: listparser now supports the iGoogle exported settings format!
For everyone who's …
It's that time again! I just uploaded the latest version of listparser, and this one's an important milestone: listparser now has documentation!
There's really not a whole lot else to be said about this release, but I can safely project that the next release is going to come hot on …
I know that one of the most challenging things about writing software is writing documentation. Usually this is chalked up to "programmers prefer to program" and "writing documentation isn't glamorous" and so forth, but as I rely on high-quality documentation, I want to provide others with the same.
To that …
I'm pleased to announce listparser v0.6 is now available! This release primarily fixes some problems that I uncovered while parsing Wordpress OPML files produced by wp-links-opml.php.
listparser is a Python library that parses OPML subscription lists into a sanitized and standardized format.
[listparser homepage]
[download listparser]
[New! listparser …
listparser v0.5 is now available. I spent time improving its HTTP support, so now it supports HTTP ETag and Last-Modified headers, HTTP redirects, and it sends a configurable User-Agent header. Additionally, you can now parse strings and file-like objects, which means that if you already have the OPML file …
I just released listparser v0.4. It now supports categories and tags, and in two ways:
category
attribute of the <outline>
element.<outline>
elements.While the OPML specification uses the category
attribute, I also wanted to support nested <outline>
elements because that's how Google Reader indicates what tags …
The OPML specification (version 2) allows for the subscription list to contain information that's actually duplicated from the feed it's linking to. The information is contained in attributes called htmlUrl
, description
, and title
. Since that information is available in the feed itself, and because the information in the subscription list …
I just pushed listparser v0.2 to github and will shortly submit a release announcement to Freshmeat. Changes since v0.1:
dateModified
and dateCreated
OPML tags supported (+4 tests)I've been implementing the RFC 822 date and time specification in listparser in order to support the dateCreated
and dateModified
tags, and while doing so I've found a fun problem to mull over.
RFC 822, in classic shortsighted fashion, calls for years to be represented using only two digits. OPML …
I just realized that github is hosting a listparser project subscription list now that I've created a project.opml
file in the git repository. Assuming you have a feed reader that can handle OPML subscriptions, you can now follow the project development by adding the following URL:
I just pushed listparser 0.1 out to github and submitted a release announcement to Freshmeat. Although the Freshmeat admins need to manually verify the release announcement before publishing it, github makes it really easy to release because it understands git tags and can generate zip files and tarballs using …
I removed the dependency on BeautifulSoup from listparser and pushed the changes to github.
I'm a big fan of sequences in Python. Don't ask me why, but I think more and more in terms of generator expressions and list comprehensions (especially conditional list comprehensions). Take a look at the following …
I've created an entry for listparser on Freshmeat. This means greater exposure, particularly since Freshmeat's project release announcements are aggregated to Slashdot. Next up: crafting the first listparser release...
listparser is now off the ground. It sports seven unit tests and somewhere between a "poverty" and a "paucity" of documentation. I'm not giving it a release number or a silly release phrase yet, but be on the lookout for that in the near future.
Since listparser depends on BeautifulSoup …
I'm really pleased to say that this morning I finished implementing basic unit testing for my subscription list parser, listparser.py. Its purpose is currently to tear through OPML files - such as those generated when exporting your subscription list from Google Reader - and find all of the feeds it can …