code: def command_line_config(self):
          args = sys.argv[1:]
          args_dict = {}
          existed_keys = []
          new_keys = []
          for t in args:
              if not t.startswith('--'):
                  raise errors.ArgsParseError('Bad arg: %s' % t)
              try:
                  key, value = tuple(t[2:].split('='))
              except:
                  raise errors.ArgsParseError('Bad arg: %s' % t)
              args_dict[key] = value
              if key in settings:
                  existed_keys.append(key)
              else:
                  new_keys.append(key)
          if existed_keys:
              app_log.debug('Changed settings:')
              for i in existed_keys:
                  before = settings[i]
                  type_ = type(before)
                  if type_ is bool:
                      if args_dict[i] == 'True':
                          _value = True
                      elif args_dict[i] == 'False':
                          _value = False
                      else:
                          raise errors.ArgsParseError('%s should only be True or False' % i)
                  else:
                      _value = type_(args_dict[i])
                  settings[i] = _value
                  app_log.debug('  %s  [%s]%s (%s)', i, type(settings[i]), settings[i], before)
          if new_keys:
              app_log.debug('New settings:')
              for i in new_keys:
                  settings[i] = args_dict[i]
                  app_log.debug('  %s  %s', i, args_dict[i])
          self.update_settings({})