Cool, thanks. I think this resolves sinan issue 106 as well.

Eric Merritt wrote:
> Patch applied.
> 
> On Wed, Jan 7, 2009 at 11:14 PM,  <[email protected]> wrote:
>> From: Dave Peticolas <[email protected]>
>>
>> ---
>>  client/libsinan/args.py          |   11 ++++++++++-
>>  client/libsinan/shell_handler.py |    2 ++
>>  2 files changed, 12 insertions(+), 1 deletions(-)
>>
>> diff --git a/client/libsinan/args.py b/client/libsinan/args.py
>> index b5ad8b5..8bcc2ee 100644
>> --- a/client/libsinan/args.py
>> +++ b/client/libsinan/args.py
>> @@ -11,6 +11,11 @@ def parse_key_value(key, value, args):
>>     parse_key_value(rest, value, args)
>>
>>
>> +def erl_args_callback(option, opt_str, value, parser):
>> +    parser.values.erl_args = list(parser.rargs)
>> +    del parser.rargs[:]
>> +
>> +
>>  def parse(argv, default_task, client_opts = {}, server_opts = {}):
>>     """Parse the argv vector and return an arg dict representing the 
>> arguments.
>>
>> @@ -40,6 +45,10 @@ information about server arguments read the sinan 
>> documentation.
>>
>>     parser = optparse.OptionParser(usage)
>>
>> +    help = "all arguments after this option will be passed to erl"
>> +    parser.add_option("-e", "--erl-args", help=help, action="callback",
>> +                      callback=erl_args_callback, default=[])
>> +
>>     help = "the directory containing the directory containing the 'erl' 
>> binary"
>>     parser.add_option("-p", "--prefix", help=help)
>>
>> @@ -47,7 +56,7 @@ information about server arguments read the sinan 
>> documentation.
>>
>>     options, posargs = parser.parse_args(argv)
>>
>> -    for opt in ('prefix', 'url'):
>> +    for opt in ('prefix', 'url', 'erl_args'):
>>         if getattr(options, opt, None):
>>             args['client_opts'][opt] = getattr(options, opt)
>>
>> diff --git a/client/libsinan/shell_handler.py 
>> b/client/libsinan/shell_handler.py
>> index 34eaa38..cca9916 100644
>> --- a/client/libsinan/shell_handler.py
>> +++ b/client/libsinan/shell_handler.py
>> @@ -42,6 +42,8 @@ class ShellHandler(handler.Handler):
>>             if not prefix[-1] == '/':
>>                 prefix += '/'
>>
>> +        args.extend(largs['client_opts'].get('erl_args', []))
>> +
>>         print "starting shell ..."
>>         os.execvp(prefix + "bin/erl", args)
>>
>> --
>> 1.5.6.5
>>
>>
> 
> > 
> 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"erlware-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/erlware-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to