Workaround bug in optparse that causes it to not handle unicode group names

This commit is contained in:
Kovid Goyal 2012-06-05 14:46:19 +05:30
parent 00eca123da
commit 691783ef37

View File

@ -8,7 +8,7 @@ Manage application-wide preferences.
'''
import os, cPickle, base64, datetime, json, plistlib
from copy import deepcopy
from optparse import OptionParser as _OptionParser
from optparse import OptionParser as _OptionParser, OptionGroup
from optparse import IndentedHelpFormatter
from calibre.constants import (config_dir, CONFIG_DIR_MODE, __appname__,
@ -159,6 +159,10 @@ class OptionParser(_OptionParser):
upper.__dict__[dest] == opt.default:
upper.__dict__[dest] = lower.__dict__[dest]
def add_option_group(self, *args, **kwargs):
if isinstance(args[0], type(u'')):
args = [OptionGroup(self, *args, **kwargs)] + list(args[1:])
return _OptionParser.add_option_group(self, *args, **kwargs)
class DynamicConfig(dict):
'''