Skip to main content

Bob renders directory structure templates

Project description

Mister Bob the Builder creates directory skeletons.

Documentation

http://mrbob.readthedocs.org/

TODO

  • [medium] refactor Python API

  • [medium] gittip

  • [medium] add +var+ folder in template_sample

  • [medium] Check how one would implement multi-namespace python package with current mr.bob api

  • [low] Ability to configure what to ignore when copying templates in bobconfig (as a hook?)

  • [low] better format print questions output (keep order of questions -> use order information like for asking questions)

  • [low] document we don’t need local commands once answers are remembered (just issue another template on top of current)

  • [low] ability to specify variables/defaults to questions from cli

  • [maybe] ability to simulate rendering (dry-run)

  • [maybe] ability to update/patch templates

Changelog

1.0.1 (2024-02-29)

  • Add support for Python 3.12 [pbauer]

1.0.0 (2022-09-24)

  • Support for Python 3.10, drop Python 2 support. [pbauer]

0.1.2 (2015-08-19)

  • Add pre_ask and post_ask hooks. [Godefroid Chapelle]

  • Upload tarball instead of zipfile to fix unicode errors during installation [Domen Kožar]

0.1.1 (2014-03-03)

  • Claim Python 3.4 support [Domen Kožar]

  • Fix encoding errors on Python 3 during installation [Domen Kožar]

  • Use Jinja2 < 2.7 only for python 3.2 [Domen Kožar]

0.1 (2014-03-02)

  • move exceptions to bobexceptions [Jean-Philippe Camguilhem]

  • Use jinja2 < 2.7, since 2.7+ doesn’t support Python 3.2 [Domen Kožar]

  • Filename variable name substitution regex failed to compile on windows [Domen Kožar]

  • Do not copy .DS_Store. [Godefroid Chapelle]

  • Configure patterns of files to ignore through ignored_files option of mr.bob section. [Godefroid Chapelle]

  • Configure patterns of directories to ignore through ignored_directories option of mr.bob section. [Fotis Gimian]

  • Added new post-question hook mrbob.hooks.to_integer [Fotis Gimian]

  • Added new post-question hook mrbob.hooks.to_decimal [Fotis Gimian]

  • Added new post-question hook mrbob.hooks.validate_choices [Fotis Gimian]

  • Added new post-question hook mrbob.hooks.validate_regex [Fotis Gimian]

  • Added new pre-question hook mrbob.hooks.set_current_datetime [Fotis Gimian]

  • Added new post-question hook mrbob.hooks.validate_datetime [Fotis Gimian]

0.1a9 (2013-04-26)

  • Regex to detect variable names when rendering file names was broken when directory path contains pluses. [Godefroid Chapelle]

0.1a8 (2013-03-11)

  • Depend on six>=1.2.0 [Domen Kožar]

  • Moved all exceptions to mrbob.exceptions module [Domen Kožar]

  • Fix loading of zip files [Domen Kožar]

  • #28: Remote loading of config files [Nejc Zupan]

  • #30: Keep newlines of rendered template [Domen Kožar]

0.1a7 (2013-01-23)

  • Don’t depend on argparse in python 2.7 and higher, since it’s already in stdlib [Domen Kožar]

  • #22: Prevent users from specifying target directory inside template dir [Domen Kožar]

0.1a6 (2013-01-02)

  • Use StrictUndefined with jinja2 renderer so that any missing key is reported as an error [Domen Kožar]

  • If a key in a namespace was missing while rendering, no error was raised [Domen Kožar]

  • Added hook mrbob.hooks.show_message [Domen Kožar]

  • mrbob.validators.boolean renamed to mrbob.hooks.to_boolean [Domen Kožar]

  • Renamed validators.py to hooks.py [Domen Kožar]

  • Removed validators and action settings from [questions] as it is superseded by hooks [Domen Kožar]

  • Added pre_ask_question and post_ask_question to [questions] section [Domen Kožar]

  • Added pre_render, post_render and post_render_msg options [Domen Kožar]

  • Added [defaults] section that will override template defaults. The only difference to [variables] is that variables provide default answers [Domen Kožar]

  • Moved renderer parameter to [template] section [Domen Kožar]

  • Added [template] section that is parsed only from .mrbob.ini inside a template directory. [Domen Kožar]

  • Correctly evaluate boolean of quiet and verbose settings [Domen Kožar]

  • Added non_interactive setting that will not prompt for any input and fail if any of required questions are not answered [Domen Kožar]

  • Added remember_answers setting that will create .mrbob.ini file inside rendered directory with all the answers written to [variables] section [Domen Kožar]

  • Include changelog in documentation [Domen Kožar]

  • Question does no longer raise error if unknown parameter is passed from a config file. Instead those parameters are saved to question.extra that can be later inspected and validated. This is first step to have advanced question types such as question with a set of predefined answers [Domen Kožar]

  • Rewrite all py.test stuff to nosetests, so we have unified testing now. This also fixes flake8 segfaults on pypy [Domen Kožar]

0.1a5 (2012-12-12)

  • #26: Variables were not correctly parsed from config files [Domen Kožar]

0.1a4 (2012-12-11)

  • Fix MANIFEST.in so that template examples are also included with distribution [Domen Kožar]

  • Add -q/–quiet option to suppress output which isn’t strictly necessary [Sasha Hart]

  • Suppress the interactive-mode welcome banner if there are no questions to ask [Sasha Hart]

  • Don’t raise KeyError: ‘questions_order’ if [questions] is missing in an ini [Sasha Hart]

0.1a3 (2012-11-30)

  • #13: Read user config from ~/.mrbob (as stated in docs and inline comments). [Andreas Kaiser]

0.1a2 (2012-11-29)

  • #12: Fix unicode errors when using non-ASCII in questions or defaults [Domen Kožar]

  • Ask questions in same order they were defined in template configuration file [Domen Kožar]

0.1a1 (2012-10-19)

  • Initial release. [Domen Kožar, Tom Lazar]

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

mr.bob-1.0.1.tar.gz (65.1 kB view details)

Uploaded Source

Built Distribution

mr.bob-1.0.1-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file mr.bob-1.0.1.tar.gz.

File metadata

  • Download URL: mr.bob-1.0.1.tar.gz
  • Upload date:
  • Size: 65.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for mr.bob-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ab70b17c2b79e3321d0c2530a951395bb0f62f2b7c5ecb6fa00e04231b12d2d5
MD5 a8b14444642ccf4d3b5996f7f34f34fe
BLAKE2b-256 31915eab5bc12631eed2a20006f014a91ca52b58971223428af0648cc6c0f189

See more details on using hashes here.

File details

Details for the file mr.bob-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: mr.bob-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for mr.bob-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49af102bf3a7f247ab3be6031878997b9d6a425ee11f4592a73d0b397b41d654
MD5 43a743ffc79ccaafaed1da31f5fa0683
BLAKE2b-256 1d9461cfa3edc5a14f3591025871091233f48ce2e3febd1f25d0d13cd8e4f7c6

See more details on using hashes here.

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