Envbuilder 0.3.0a1 now in master

2 views
Skip to first unread message

Jason Baker

unread,
Feb 11, 2010, 9:37:52 AM2/11/10
to envbu...@googlegroups.com, Brad Allen
I've just pushed envbuilder 0.3.0a1 to master. This new version
provides the following changes:

* Added colored output. Although this doesn't sound like a big deal,
it makes it a *lot* easier to distinguish envbuilder output from
program output.

* Added experimental support for custom commands written in Python.
This is completely undocumented at the current point in time, but this
is a result of a completely revamped command system. Aside from
built-in commands, commands are now referenced by module name. For
instance, the command "py.do_something" will literally import
do_something from the module py. The command structure is exactly the
same for imported commands vs built-in commands.

One side effect of this approach is that it is now impossible to list
all available commands. Thus, envb help will now list only the
built-in commands and commands defined in .env.

* Interpolation options must now be specified in the DEFAULTS
section. This currently isn't enforced at runtime, so weird errors
may occur such as the following:

Traceback (most recent call last):
File "/usr/local/bin/envb", line 9, in <module>
load_entry_point('envbuilder==0.2.0bdev', 'console_scripts', 'envb')()
File "/Users/jason/src/envbuilder/envbuilder/run.py", line 19, in main
config = Config(filepath)
File "/Users/jason/src/envbuilder/envbuilder/config.py", line 31, in __init__
self._config.validate(self._val)
File "/Library/Python/2.6/site-packages/configobj.py", line 2279, in validate
check = self.validate(validator, preserve_errors=preserve_errors,
copy=copy, section=section[entry])
File "/Library/Python/2.6/site-packages/configobj.py", line 2279, in validate
check = self.validate(validator, preserve_errors=preserve_errors,
copy=copy, section=section[entry])
File "/Library/Python/2.6/site-packages/configobj.py", line 2245, in validate
val = section[entry]
File "/Library/Python/2.6/site-packages/configobj.py", line 572, in
__getitem__
return self._interpolate(key, val)
File "/Library/Python/2.6/site-packages/configobj.py", line 564, in
_interpolate
return engine.interpolate(key, value)
File "/Library/Python/2.6/site-packages/configobj.py", line 367, in
interpolate
value = recursive_interpolate(key, value, self.section, {})
File "/Library/Python/2.6/site-packages/configobj.py", line 351, in
recursive_interpolate
replacement = recursive_interpolate(k, v, s, backtrail)
File "/Library/Python/2.6/site-packages/configobj.py", line 341, in
recursive_interpolate
match = self._KEYCRE.search(value)
TypeError: expected string or buffer

In a future release this may be fixed, but will at least get a better
error message. :-)

Unless someone else contributes some changes, this version is mostly
feature complete. Aside from bugfixes, my primary focus will be on
building envbuilder-site-commands[1] into a respectable set of basic
commands to have available for release 0.3.0.

[1] http://github.com/jasonbaker/envbuilder-site-commands

Reply all
Reply to author
Forward
0 new messages