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.

Files for tsincluder, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size tsincluder-0.1.1.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page