diff --git a/offlineimap.sgml b/offlineimap.sgml
index 5b5d148..1fc5bd6 100644
--- a/offlineimap.sgml
+++ b/offlineimap.sgml
@@ -373,6 +373,17 @@ cd offlineimap-x.y.z
will debug the threading model.
+ -k [section:]option=value
+
+ Override configuration file option. If
+ "section" is omitted, it defaults
+ to general. Any underscores "_" in
+ the section name are replaced with spaces: for instance,
+ to override option autorefresh in
+ the "[Account Personal]" section in the config file one
+ would use "-k Account_Personal:autorefresh=30".
+
+
-l
filename
diff --git a/offlineimap/init.py b/offlineimap/init.py
index 9824f05..d901864 100644
--- a/offlineimap/init.py
+++ b/offlineimap/init.py
@@ -53,7 +53,7 @@ def startup(versionno):
sys.stdout.write(version.getcmdhelp() + "\n")
sys.exit(0)
- for optlist in getopt(sys.argv[1:], 'P:1oqa:c:d:l:u:h')[0]:
+ for optlist in getopt(sys.argv[1:], 'P:1oqa:c:d:l:u:hk:')[0]:
options[optlist[0]] = optlist[1]
if options.has_key('-h'):
@@ -79,6 +79,17 @@ def startup(versionno):
config.read(configfilename)
+ # override config values with option '-k'
+ for option in options.keys():
+ if option == '-k':
+ (key, value) = options['-k'].split('=', 1)
+ if ':' in key:
+ (secname, key) = key.split(':', 1)
+ section = secname.replace("_", " ")
+ else:
+ section = "general"
+ config.set(section, key, value)
+
ui = offlineimap.ui.detector.findUI(config, options.get('-u'))
UIBase.setglobalui(ui)
diff --git a/offlineimap/version.py b/offlineimap/version.py
index 93d1ca3..0a46dec 100644
--- a/offlineimap/version.py
+++ b/offlineimap/version.py
@@ -94,7 +94,15 @@ def getcmdhelp():
one else. The maildir option will enable debugging
for certain Maildir operations.
- -o Run only once, ignoring any autorefresh setting in
+ -k [section:]option=value
+ Override configuration file option. If"section" is
+ omitted, it defaults to "general". Any underscores
+ "_" in the section name are replaced with spaces:
+ for instance, to override option "autorefresh" in
+ the "[Account Personal]" section in the config file
+ one would use "-k Account_Personal:autorefresh=30".
+
+ -o Run only once, ignoring any autorefresh setting in
the config file.
-q Run only quick synchronizations. Ignore any flag