Add option '-k' for overriding config options
This commit is contained in:
		@@ -373,6 +373,17 @@ cd offlineimap-x.y.z</ProgramListing>
 | 
			
		||||
	      will debug the threading model.
 | 
			
		||||
	    </para></listitem>
 | 
			
		||||
	  </varlistentry>
 | 
			
		||||
        <varlistentry><term>-k [<replaceable>section</replaceable>:]<replaceable>option</replaceable>=<replaceable>value</replaceable>
 | 
			
		||||
          </term>
 | 
			
		||||
          <listitem><para> Override configuration file option.  If
 | 
			
		||||
              "section" is omitted, it defaults
 | 
			
		||||
              to <property>general</property>.  Any underscores "_" in
 | 
			
		||||
              the section name are replaced with spaces: for instance,
 | 
			
		||||
              to override option <property>autorefresh</property> in
 | 
			
		||||
              the "[Account Personal]" section in the config file one
 | 
			
		||||
              would use "-k Account_Personal:autorefresh=30".
 | 
			
		||||
          </para></listitem>
 | 
			
		||||
        </varlistentry>
 | 
			
		||||
	  <varlistentry><term>-l
 | 
			
		||||
	  <replaceable>filename</replaceable></term>
 | 
			
		||||
	    <listitem><para>
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user