{"id":20717743,"url":"https://github.com/vmj/slacklog","last_synced_at":"2025-10-03T23:18:44.043Z","repository":{"id":1350064,"uuid":"1297362","full_name":"vmj/slacklog","owner":"vmj","description":"Convert Slackware ChangeLog to various formats","archived":false,"fork":false,"pushed_at":"2019-03-15T19:08:35.000Z","size":5339,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T13:39:00.963Z","etag":null,"topics":["changelog","feed","generator","python","slackware"],"latest_commit_sha":null,"homepage":"http://pypi.python.org/pypi/slacklog","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmj.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-27T00:22:48.000Z","updated_at":"2020-07-26T18:57:58.000Z","dependencies_parsed_at":"2022-07-14T18:00:31.242Z","dependency_job_id":null,"html_url":"https://github.com/vmj/slacklog","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmj%2Fslacklog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmj%2Fslacklog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmj%2Fslacklog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmj%2Fslacklog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmj","download_url":"https://codeload.github.com/vmj/slacklog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250440666,"owners_count":21431037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["changelog","feed","generator","python","slackware"],"created_at":"2024-11-17T03:09:59.626Z","updated_at":"2025-10-03T23:18:39.013Z","avatar_url":"https://github.com/vmj.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://img.shields.io/pypi/v/slacklog.svg?style=plastic\r\n   :target: https://pypi.python.org/pypi/slacklog\r\n   :alt: Download\r\n.. image:: https://travis-ci.org/vmj/slacklog.svg?branch=master\r\n   :target: https://travis-ci.org/vmj/slacklog\r\n   :alt: Build Status\r\n.. image:: https://readthedocs.org/projects/slacklog/badge/?version=latest\r\n   :target: https://slacklog.readthedocs.io/en/latest/?badge=latest\r\n   :alt: Docs\r\n\r\nslacklog -- Convert Slackware Changelog to various formats\r\n**********************************************************\r\n\r\nslacklog provides programs and a library to convert a Slackware\r\nChangeLogs into other formats.  Currently, RSS, Atom, JSON, and PyBlosxom\r\nformats are supported.\r\n\r\n| Download: https://pypi.python.org/pypi/slacklog\r\n| Source code: https://github.com/vmj/slacklog\r\n| Builds status: https://travis-ci.org/vmj/slacklog\r\n| Documentation: https://slacklog.readthedocs.org\r\n\r\n.. contents::\r\n\r\n\r\nBasic usage\r\n===========\r\n\r\nTypical usage of the program looks like this::\r\n\r\n    $ slacklog2rss --changelog slackware-current/ChangeLog.txt \\\r\n                   --encoding iso8859-1 \\\r\n                   --out ~/public_html/slackware-current.rss \\\r\n                   --slackware \"Slackware current\" \\\r\n                   --rssLink \"http://linuxbox.fi/~vmj/slackware-current.rss\" \\\r\n                   --description \"Slackware current activity\" \\\r\n                   --managingEditor \"vmj@linuxbox.fi (Mikko Värri)\" \\\r\n                   --webMaster \"vmj@linuxbox.fi (Mikko Värri)\"\r\n\r\nThe included Python library provides the ability to make custom\r\nformats easily::\r\n\r\n    #!/usr/bin/env python\r\n    from __future__ import print_function\r\n    import codecs\r\n    import locale\r\n    from slacklog.parsers import SlackLogParser\r\n\r\n    def read(file):\r\n        '''Return file contents as Unicode.'''\r\n        return codecs.open(file, 'r', 'iso8859-1').read()\r\n\r\n    def write(str):\r\n        '''Print out in preferred encoding.'''\r\n        print(str.encode(locale.getpreferredencoding()))\r\n\r\n    # Parse the ChangeLog\r\n    log = SlackLogParser().parse(read('ChangeLog.txt'))\r\n\r\n    # Just an example of walking the log tree and print it out\r\n    for entry in log.entries:\r\n        write(u'[%s] %s\\n' % (entry.timestamp.isoformat(), entry.description))\r\n        for pkg in entry.pkgs:\r\n            write(u'%s:%s' % (pkg.pkg, pkg.description))\r\n\r\nNote that slacklog package deals solely in Unicode; parser expects to\r\nbe given Unicode input and formatters generate Unicode data.\r\n\r\n\r\nRequirements\r\n============\r\n\r\nIn addition to Python, `python-dateutil\r\n\u003chttps://pypi.python.org/pypi/python-dateutil\u003e`_ is required.\r\n\r\nPython versions 2.7 and 3.4 - 3.7 are tested, together with python-dateutil versions 2.1 - 2.8.\r\n\r\n\r\nInstallation\r\n============\r\n\r\nUse either ``pip install slacklog`` or download the source archive and\r\nuse ``python setup.py install``.\r\n\r\nThe source code is available at `Python Package Index (PyPI)\r\n\u003chttps://pypi.python.org/pypi/slacklog\u003e`_ or, if you want the\r\nunreleased version, from `Github \u003chttps://github.com/vmj/slacklog\u003e`_\r\ngit repository.\r\n\r\n\r\nTrying it in Docker\r\n===================\r\n\r\nHere's one way to hack on this inside a container::\r\n\r\n    $ docker run --rm -it -v $(pwd):/slacklog -w /slacklog python:3.7-alpine3.8 sh\r\n    # apk add --no-cache curl\r\n    # pip install python-dateutil==2.7.3\r\n    # python setup.py install\r\n    # sh examples/fetch-changelogs.sh\r\n    # sh examples/update-slacklog-rss.sh\r\n\r\nObviously, you need Docker installed and working,\r\nand I'm assuming you run those commands in the git clone.\r\n\r\n\r\nAuthors\r\n=======\r\n\r\nOriginal author and current maintainer is Mikko Värri\r\n(vmj@linuxbox.fi).\r\n\r\n\r\nLicense\r\n=======\r\n\r\nslacklog is Free Software, licensed under GNU General Public License\r\n(GPL), version 3 or later.  See LICENSE.txt file for details.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmj%2Fslacklog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmj%2Fslacklog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmj%2Fslacklog/lists"}