docs: def from_configfile(self, configfile):
          """
          Initialize the authentication store from a "config"-style file.
  
          Auth "config" file is parsed with C{ConfigParser.RawConfigParser} and must contain
          an [auth] section which contains the usernames (keys) and passwords (values).
  
          Example auth file::
  
              [auth]
              someuser = somepass
              anotheruser = anotherpass
  
          @param configfile: Path to config file or file-like object.
          @type configfile: C{any}
          @raise ValueError: If file could not be read or does not contain [auth] section.
          """
          cfg = ConfigParser()
          if hasattr(configfile, 'read'):
              cfg.read_file(configfile)
          else:
              filesread = cfg.read(configfile)
              if not filesread:
                  raise ValueError('Could not parse auth file: %s' % configfile)
  
          if not cfg.has_section('auth'):
              raise ValueError('Config file contains no [auth] section.')
  
          self.store = dict(cfg.items('auth'))