diff options
| author | Steven Knight <knight@baldmt.com> | 2004-09-20 19:33:34 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-09-20 19:33:34 (GMT) |
| commit | ddc11499f2a5074965cf5574b9a6728564c4984c (patch) | |
| tree | 688276256f525087b1699579d025a2e8fe175cf3 /src/engine | |
| parent | d5554aa37792c4de38b901e90deafe20c336dbb2 (diff) | |
| download | SCons-ddc11499f2a5074965cf5574b9a6728564c4984c.zip SCons-ddc11499f2a5074965cf5574b9a6728564c4984c.tar.gz SCons-ddc11499f2a5074965cf5574b9a6728564c4984c.tar.bz2 | |
Allow ListOption to take a Python list of values asa default, not just a comma-separated string containg the default values.
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/SCons/Options/ListOption.py | 4 | ||||
| -rw-r--r-- | src/engine/SCons/Options/ListOptionTests.py | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/engine/SCons/Options/ListOption.py b/src/engine/SCons/Options/ListOption.py index 8a94037..903d52b 100644 --- a/src/engine/SCons/Options/ListOption.py +++ b/src/engine/SCons/Options/ListOption.py @@ -57,6 +57,8 @@ __all__ = ('ListOption',) import string import UserList +import SCons.Util + class _ListOption(UserList.UserList): def __init__(self, initlist=[], allowedElems=[]): @@ -123,6 +125,8 @@ def ListOption(key, help, default, names): package names (separated by space). """ names_str = 'allowed names: %s' % string.join(names, ' ') + if SCons.Util.is_List(default): + default = string.join(default, ',') help = string.join( (help, '(all|none|comma-separated list of names)', names_str), '\n ') diff --git a/src/engine/SCons/Options/ListOptionTests.py b/src/engine/SCons/Options/ListOptionTests.py index ec33963..ec604f8 100644 --- a/src/engine/SCons/Options/ListOptionTests.py +++ b/src/engine/SCons/Options/ListOptionTests.py @@ -44,6 +44,14 @@ class ListOptionTestCase(unittest.TestCase): assert o.validator is None, o.validator assert not o.converter is None, o.converter + opts = SCons.Options.Options() + opts.Add(SCons.Options.ListOption('test2', 'test2 help', + ['one', 'three'], + ['one', 'two', 'three'])) + + o = opts.options[0] + assert o.default == 'one,three' + def test_converter(self): """Test the ListOption converter""" opts = SCons.Options.Options() |
