Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

mdxi (4658)

mdxi
  (email not shown publicly)
http://mdxi.collapsar.net/

Journal of mdxi (4658)

Monday June 20, 2005
01:29 AM

OPML

[ #25283 ]

Olive now has the capability to import lists of feeds in OPML format. Here's the first run:

mdxi@fornax:~/code/olive/trunk$ ./olive ~/MySubscriptions.opml
Olive starting up.
Loading modules.
Initializing system.
Final stage setup.
Beginning OPML import.
71 of 72 feeds imported
See ~/.olive/errors.log for more information
mdxi@fornax:~/code/olive/trunk$
mdxi@fornax:~/code/olive/trunk$ cat ~/.olive/errors.log
-- Starting up at 2005-05-20T02:06:06 --
You're already subscribed to http://mdxi.collapsar.net/rss.xml as 'Diary'
mdxi@fornax:~/code/olive/trunk$

It's quite simple: start Olive with an argument, and that argument is taken to be the name of an OPML file to be imported. A couple of basic sanity checks are done for each feed found (nested outline files are understood, but the 'container' outlines are discarded) and if everything looks good, the feed is added to the feeds hash. When its done, Olive terminates.

The result of the above import (me folding rjbs's NNW subscriptions into my testing subscriptions, yielded the following status line:

[S: 571/981] [U/N: 888/888]

So now we know that Olive handles larger amounts of data okay, and with the expected minimal increase in memory footprint (18M for ~80 feeds and 981 stories versus 17.5M for ~10 feeds and ~100 stories).

It still needs some cleaning up -- it should definitely ask the user for a new nickname when there is a collision instead of just throwing the feed out and writing to the error log as it does now -- but for right now I can consider this done and move on to the last few things I want to add before moving into a pure cleanup and documentation phase for a stable release.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.