From 691783ef3764a7619481d02a234caaac417627d3 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 5 Jun 2012 14:46:19 +0530 Subject: [PATCH] Workaround bug in optparse that causes it to not handle unicode group names --- src/calibre/utils/config.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/utils/config.py b/src/calibre/utils/config.py index 65e59afbeb..3bd6b2c364 100644 --- a/src/calibre/utils/config.py +++ b/src/calibre/utils/config.py @@ -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): '''