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 -~----------~----~----~----~------~----~------~--~---
