CLI --config values should be enterable in gramps.ini form (e.g. 0 or 1)

svn: r22727
This commit is contained in:
Paul Franklin 2013-07-24 00:01:12 +00:00
parent 8da09bd9f3
commit b5b6a59f4f

View File

@ -8,7 +8,7 @@
# Copyright (C) 2008 Raphael Ackermann # Copyright (C) 2008 Raphael Ackermann
# Copyright (C) 2008 Brian G. Matherly # Copyright (C) 2008 Brian G. Matherly
# Copyright (C) 2012 Doug Blank # Copyright (C) 2012 Doug Blank
# Copyright (C) 2012 Paul Franklin # Copyright (C) 2012-2013 Paul Franklin
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -48,7 +48,7 @@ import logging
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
from gramps.gen.const import LONGOPTS, SHORTOPTS from gramps.gen.const import LONGOPTS, SHORTOPTS
from gramps.gen.config import config from gramps.gen.config import config
from gramps.gen.utils.configmanager import safe_eval from gramps.gen.utils.cast import get_type_converter
from gramps.gen.utils.file import get_unicode_path_from_env_var from gramps.gen.utils.file import get_unicode_path_from_env_var
from gramps.gen.const import GRAMPS_LOCALE as glocale from gramps.gen.const import GRAMPS_LOCALE as glocale
_ = glocale.translation.gettext _ = glocale.translation.gettext
@ -320,11 +320,14 @@ class ArgParser(object):
% (setting_name, repr(setting_value)), % (setting_name, repr(setting_value)),
file=sys.stderr) file=sys.stderr)
if set_value: if set_value:
if new_value == "DEFAULT": # does a user want the default config value?
if new_value in ("DEFAULT", _("DEFAULT")):
new_value = config.get_default(setting_name) new_value = config.get_default(setting_name)
else: else:
new_value = safe_eval(new_value) converter = get_type_converter(setting_value)
new_value = converter(new_value)
config.set(setting_name, new_value) config.set(setting_name, new_value)
# translators: indent "New" to match "Current"
print(_(" New Gramps config setting: %s:%s") print(_(" New Gramps config setting: %s:%s")
% (setting_name, % (setting_name,
repr(config.get(setting_name))), repr(config.get(setting_name))),