code: def parse_url(cls, string):  # pylint: disable=redefined-outer-name
          
          match = cls.URL_RE.match(string)
          if not match:
              raise InvalidKeyError(cls, string)
          return match.groupdict()
docs: If it can be parsed as a version_guid with no preceding org + offering, returns a dict
          with key 'version_guid' and the value,
  
          If it can be parsed as a org + offering, returns a dict
          with key 'id' and optional keys 'branch' and 'version_guid'.
  
          Raises:
              InvalidKeyError: if string cannot be parsed -or- string ends with a newline.