[tor-bugs] #7832 [Stem]: Get some consistency in Controller default args

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Dec 30 22:34:56 UTC 2012


#7832: Get some consistency in Controller default args
------------------------+---------------------------------------------------
 Reporter:  atagar      |          Owner:  atagar
     Type:  defect      |         Status:  new   
 Priority:  major       |      Milestone:        
Component:  Stem        |        Version:        
 Keywords:  controller  |         Parent:        
   Points:              |   Actualpoints:        
------------------------+---------------------------------------------------
 A major pain point of using TorCtl was that just about every method could
 raise an exception. This is 'proper' from a standpoint of correctness but
 made it a pita to use, causing folks (including me) to make wrapper
 libraries.

 A few of our methods based on arm, like get_info() and get_conf(), have an
 optional 'default' argument that suppresses exceptions. This is great
 since it lets us have nice code like...

 {{{
 print "my version is %s" % controller.get_info('version', 'unknown')
 }}}

 ... instead of...

 {{{
 try:
   my_version = controller.get_info('version')
 except:
   my_version = 'unknown'

 print "my version is %s" % my_version
 }}}

 However, as we've added more methods to the Controller class this has
 largely gone by the wayside. In some cases that makes sense, but we should
 look over our API to figure out what sort of class-wide conventions we
 want it to have with respect to defaults.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7832>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list