docs: def get_opener(self, path):
          """
          Args:
              path: str, resource file url or resource file absolute/relative path.
  
          Returns:
              file object
          """
          self.path = path
          opener = None
          # FIXME this parser/matcher should use `urlparse` stdlib
          for opener_name, signature in self.openers.items():
              if self.path.startswith(signature[0]):
                  opener = signature[1](self.path)
                  break
          if not opener:
              opener = FileOpener(self.path)
          return opener