Skip to main content

Convert Slackware ChangeLog to various formats

Project description

slacklog provides a program and a library to convert a Slackware ChangeLog into other formats. Currently, RSS and PyBlosxom formats are supported.

Basic usage

Typical usage of the program looks like this:

$ slacklog2rss --changelog slackware-current/ChangeLog.txt \
               --encoding iso8859-1 \
               --out ~/public_html/slackware-current.rss \
               --slackware "Slackware current" \
               --rssLink "http://linuxbox.fi/~vmj/slackware-current.rss" \
               --description "Slackware current activity" \
               --managingEditor "vmj@linuxbox.fi (Mikko Värri)" \
               --webMaster "vmj@linuxbox.fi (Mikko Värri)"

The included Python library provides the ability to make custom formats easily:

#!/usr/bin/env python
import codecs
import locale
from slacklog import parsers

def read(file):
    '''Return file contents as Unicode.'''
    return codecs.open(file, 'r', 'iso8859-1').read()

def write(str):
    '''Print out in preferred encoding.'''
    print str.encode(locale.getpreferredencoding())

# Parse the ChangeLog
log = parsers.SlackLogParser.parse(read('ChangeLog.txt'))

# Print a custom format
for entry in log.entries:
    write(u'[%s] %s\n' % (entry.timestamp.isoformat(), entry.description))
    for pkg in entry.pkgs:
        write(u'%s:%s' % (pkg.pkg, pkg.description))

Note that slacklog package deals solely in Unicode; parser expect to be given Unicode input and formatters generate Unicode data.

Requirements

In addition to Python, python-dateutil is required.

Installation

Use either pip install slacklog or download the source archive and use python setup.py install.

The source code is available at Python Package Index (PyPI) or, if you want the unreleased version, from Github git repository.

Authors

Original author and current maintainer is Mikko Värri (vmj@linuxbox.fi).

License

slacklog is Free Software, licensed under GNU General Public License (GPL), version 3 or later. See LICENSE.txt file for details.

Release history

Version 0.0.6 (2011-03-18)

This release adds documentation.

Version 0.0.5 (2011-03-17)

This release adds the example script in source distribution, too.

Version 0.0.4 (2011-03-17)

This release contains better error handling, better compatibility with more feed readers, better support for timezones other that UTC, and an example script suitable for a cron job to update RSS feeds.

Version 0.0.3 (2011-02-21)

Added PyBlosxom formatter and fixed a couple of issues.

Version 0.0.2 (2011-01-29)

Packaging cleanups.

Version 0.0.1 (2011-01-28)

Initial release.

Project details


Download files

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

Source Distribution

slacklog-0.0.6.tar.gz (117.4 kB view hashes)

Uploaded Source

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