docs: def load_cover(self):
          """Load the cover out of the config, options and conventions.
          Priority goes this way:
  
          1. if a --cover option is set, use it.
          2. if there's a "cover" key in the config file, use it.
          3. if a cover.(png|jpg|jpeg|svg) exists in the directory, use it.
  
          Once the choice is set, the program will check if the file exists
          before using it. If it doesn't exist, you'll be warned and the default
          (ugly) cover will be used.
          """
          if not self.args:
              return False
          filename = self.args.get('--cover', None) \
              or self.config.get('cover', None) \
              or None
          if not filename:
              for extension in ('png', 'jpg', 'jpeg', 'svg'):
                  temp_filename = 'cover.%s' % extension
                  if exists(temp_filename):
                      filename = temp_filename
                      break
          if filename:
              if filename.startswith('http://') or \
                 filename.startswith('https://'):
                  return filename
              if not exists(filename):
                  print error('The designated cover (%s) does not exists.'
                              ' Please check your settings.' % filename)
                  filename = None
          if not filename:
              print warning('No cover is set, will use the default (ugly) one.')
              return False
          return abspath(filename)