docs: def read_config(self):
          """Reads the configuration.
  
          This method can be overloaded to integrate with your application's own
          configuration mechanism. By default, a single 'status' file is read
          from the reports' directory.
  
          This should set `self.status` to one of the state constants, and make
          sure `self.location` points to a writable directory where the reports
          will be written.
  
          The possible values for `self.status` are:
  
          - `UNSET`: nothing has been selected and the user should be prompted
          - `ENABLED`: collect and upload reports
          - `DISABLED`: don't collect or upload anything, stop prompting
          - `ERRORED`: something is broken, and we can't do anything in this
            session (for example, the configuration directory is not writable)
          """
          if self.enabled and not os.path.isdir(self.location):
              try:
                  os.makedirs(self.location, 0o700)
              except OSError:
                  logger.warning("Couldn't create %s, usage statistics won't be "
                                 "collected", self.location)
                  self.status = Stats.ERRORED
  
          status_file = os.path.join(self.location, 'status')
          if self.enabled and os.path.exists(status_file):
              with open(status_file, 'r') as fp:
                  status = fp.read().strip()
              if status == 'ENABLED':
                  self.status = Stats.ENABLED
              elif status == 'DISABLED':
                  self.status = Stats.DISABLED