bingo! thank you guys a lot! it was all about 'repr(self['module'])'. Glyph, sorry man, did mean to hurt and shit on twisted: personally and professionally I think its a VERY professional framework, and I'm using it about a year.
Good job guys, keep doing. Quoting [email protected]: > On 05:47 pm, [email protected] wrote: >> Quoting "Glyph Lefkowitz" <[email protected]>: >>> On Fri, Oct 2, 2009 at 12:47 PM, <[email protected]> wrote: >>>> hi, >>> Hi, Vitaly! >>>> I'm trying to accomplish to work couple of CLI commands without luck. >>> >>>> http://twistedmatrix.com/projects/core/documentation/howto/options.htmland >>>> test/test_usage.py were not really helpful. >>> >>> Why weren't these helpful? To me, they seem to clearly explain >>> everything >>> you're trying to do. >> >> First of all - I'm sorry, I've succeed to accomplish first two >> commands with previous doc link partially: I can't read value per key >> ... >> >> Trying to follow the following snip, how can I read for example value >> of key -m? >> CLI: python test.py import -m 'abc321' >> >> from twisted.python import usage >> import sys >> >> class ImportOptions(usage.Options): >> optParameters = [ >> ['module', 'm', 1, None], >> ['vendor', 'v', None, None], >> ['release', 'r', None] >> ] > > I think the idiomatic approach would be to add another method to this > class to replace the "doImport" function below: > > def execute(self): > print "My -m option was", repr(self['module']) >> >> class CheckoutOptions(usage.Options): >> optParameters = [['module', 'm', None, None], ['tag', 'r', None, >> None]] > > And again here, replacing "doCheckout": > > def execute(self): > print "*My* -m option was", repr(self['module']) >> >> class Options(usage.Options): >> subCommands = [['import', None, ImportOptions, "Do an Import"], >> ['checkout', None, CheckoutOptions, "Do a >> Checkout"]] >> >> optParameters = [ >> ['compression', 'z', 0, 'Use compression'], >> ['repository', 'r', None, 'Specify an alternate repository'] >> ] >> >> def doImport(): >> print "TODO: how can I now read the value of key, let's say of -m >> key?" >> >> def doCheckout(): >> print "TODO: same as doImport()" >> >> config = Options() >> try: >> config.parseOptions() >> except usage.UsageError, errortext: >> print '%s: %s' % (sys.argv[0], errortext) >> print '%s: Try --help for usage details.' % (sys.argv[0]) >> sys.exit(1) >> >> if config.subCommand == 'import': >> doImport(config.subOptions) >> elif config.subCommand == 'checkout': >> doCheckout(config.subOptions) > > Then replace this thing with this: > > config.subOptions.execute() > > But the answer to your original question seems to just be > "options[optionName]". > > Jean-Paul > > _______________________________________________ > Twisted-Python mailing list > [email protected] > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > _______________________________________________ Twisted-Python mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
