This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pycurry
Recipients pycurry
Date 2009-01-28.10:58:24
SpamBayes Score 2.3865955e-08
Marked as misclassified No
Message-id <>
Although it is possible to specify a default value for an append action,  
either directly or through the set_default() function, it is not handled 
correctly when this default is overruled by the user. Take for example 
the following code:

  import optparse
  parser = optparse.OptionParser()
  parser.add_option("-o", "--option", action = "append")
  parser.set_defaults(option = ["a"])
  options, args = parser.parse_args()
  print options

When this is called without arguments the following is printed:
  {'option': ['a']} # as expected

But when it is called with for example with -ob the following is 
  {'option': ['a', 'b']} # expected {'option': ['b']}

So the default option is also appended, even if the option is explicitly defined by the user.
Date User Action Args
2009-01-28 10:58:27pycurrysetrecipients: + pycurry
2009-01-28 10:58:27pycurrysetmessageid: <>
2009-01-28 10:58:25pycurrylinkissue5088 messages
2009-01-28 10:58:24pycurrycreate