code: def get(self, profile_id):
          '''Return the profile with the received ID as a dict
  
          If a local copy of the profile exists, it'll be returned. If not, it'll
          be downloaded from the web. The results are cached, so any subsequent
          calls won't hit the filesystem or the web.
  
          This method raises DataPackageRegistryException if there were any
          errors.
          '''
          if profile_id not in self._profiles:
              try:
                  self._profiles[profile_id] = self._get_profile(profile_id)
              except (IOError,
                      ValueError,
                      requests.exceptions.RequestException) as e:
                  six.raise_from(DataPackageRegistryException(e), e)
          return self._profiles[profile_idf get(self, profile_id):
          '''Return the profile with the received ID as a dict
  
          If a local copy of the profile exists, it'll be returned. If not, it'll
          be downloaded from the web. The results are cached, so any subsequent
          calls won't hit the filesystem or the web.
  
          This method raises DataPackageRegistryException if there were any
          errors.
          '''
          if profile_id not in self._profiles:
              try:
                  self._profiles[profile_id] = self._get_profile(profile_id)
              except (IOError,
                      ValueError,
                      requests.exceptions.RequestException) as e:
                  six.raise_from(DataPackageRegistryException(e), e)
          return self._profiles[profile_id]
docs: Return the profile with the received ID as a dict
  
          If a local copy of the profile exists, it'll be returned. If not, it'll
          be downloaded from the web. The results are cached, so any subsequent
          calls won't hit the filesystem or the web.
  
          This method raises DataPackageRegistryException if there were any
          errors.