Skip to main content

Text Script Inclusions Manager generate contents from any text file based on shell instructions

Project description

Motivation

I need to generate a changelog based on git content. I want to controle the structure of the changelog but I don’t want to manage the git content.

### from 2016-01 to 2016-05

  We implements feature activation ...

  * 2016-04-13 : Fabien Arcellier : feat: activate ...
  * 2016-04-10 : Fabien Arcellier : feat: add index ...
  * 2016-04-10 : Fabien Arcellier : feat: add search ...
  * ...

I need to manage the format and the place of content myself and let git generate some contents from a file CHANGELOG.md.in

### from 2016-01 to 2016-05

  We implements feature activation ...

  * @tsincluder git log --date=short --pretty=format:'%ad : %aN : %s'  --abbrev-commit --since="1/1/2016" --until="4/31/2016" | grep feat

To generate CHANGELOG.md, run

tsincluder CHANGELOG.md.in > CHANGELOG.md

Synopsis

tsincluder means Text Script Inclusion Manager. tsincluder is a cli and a library you can call from a python script that will replace a markup as @tsincluder echo hello world by hello world.

It keep the content that prefix the markup to generate a valid format as markdown and add it on all the lines if tsincluder generate many lines.

The latest version

You can find the latest version to …

git clone https://github.com/FabienArcellier/tsincluder.git

Usage

run tsincluder to replace the markers @tsinclude (text script include) by the content generate by the command on stdout

python -m tsincluder file.in

to use it as a library

from tsincluder import Processor

line = " * @tsincluder git log --date=short --pretty=format:'%ad : %aN : %s'  --abbrev-commit --since="1/1/2016" --until="4/31/2016" | grep feat"
processor = Processor()
content = processor.process(line)
print(content)

As tsincluder executes a subprocess command, the script can configure the working directory and markup

from tsincluder import Processor

processor = Processor(working_directory="/tmp", markup="@other_markup")

Installation

Install tsincluder using PyPi

pip install tsincluder

Install tsincluder from the source

python setup.py install

Tests

Use make to execute unit tests.

make tests

Contributors

  • Fabien Arcellier

License

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.

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

tsincluder-0.1.1.tar.gz (3.2 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