Thunderbird newsgroup list fixer

Tags: python

My thunderbird newsgroup file (something like .thunderbird-3.0/0gahkqdp.default/News/newsrc-news.gmane.org) often contains lines like:

gmane.comp.python.distutils.devel: 1-12428,12431-12446

There’s a two-article “hole” in there that shows up as two unread messages. Yuck. And I got tired of removing those “holes” by hand. So I wrote a script that converts 1-12428,12431-12446 to 1-12446 to remove the holes:

CONFIG_FILE = ('/home/reinout/.thunderbird-3.0/0gahkqdp.default/' +
               'News/newsrc-news.gmane.org')


def fix_thunderbird():
    """Fix the thunderbird newsrc settings

    The settings sometimes contain lines like::

      gmane.comp.python.distutils.devel: 1-12428,12431-12446

    There's a two-article 'hole' in there that shows up as two unread
    messages.  This script removes the holes.

    """

    lines = [line.strip() for line in open(CONFIG_FILE).readlines()]
    print "======= OLD ======="
    for line in lines:
        print line
    print "======= NEW ======="
    outfile = open(CONFIG_FILE, 'w')
    for line in lines:
        if not line:
            continue
        newsgroup, messages = line.split(': ')
        parts = messages.split('-')
        new = '%s: %s-%s\n' % (newsgroup,
                               parts[0],
                               parts[-1])
        print new,
        outfile.write(new)
    outfile.close()


if __name__ == '__main__':
    fix_thunderbird()

Public domain, do with it what you like :-)

 
vanrees.org logo

Reinout van Rees

My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):