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 details)

Uploaded Source

File details

Details for the file tsincluder-0.1.1.tar.gz.

File metadata

  • Download URL: tsincluder-0.1.1.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tsincluder-0.1.1.tar.gz
Algorithm Hash digest
SHA256 21ef4413172356633653e33001090d2f1fde02d65eb9c64f9f3015b4def4a2c5
MD5 daaabf86f67b188d65a938ba6c71a4a2
BLAKE2b-256 bd58e2f007ff2eebfdfb35bc37f66ca29b51d4f0fac4338d9e269fb39583e022

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page