[Twisted-Python] twisted python usage

vitaly at synapticvision.com vitaly at synapticvision.com
Fri Oct 2 14:18:50 EDT 2009


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 exarkun at twistedmatrix.com:

> On 05:47 pm, vitaly at synapticvision.com wrote:
>> Quoting "Glyph Lefkowitz" <glyph at twistedmatrix.com>:
>>> On Fri, Oct 2, 2009 at 12:47 PM, <vitaly at synapticvision.com> 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
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>





More information about the Twisted-Python mailing list