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

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]

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-0.1.1.zip (43.7 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