def get_message(self, key):
        try:
            if self._locked:
                f = open(os.path.join(self._path, str(key)), 'r+')
            else:
                f = open(os.path.join(self._path, str(key)), 'r')
        except IOError, e:
            if e.errno == errno.ENOENT:
                raise KeyError('No message with key: %s' % key)
            else:
                raise
        try:
            if self._locked:
                _lock_file(f)
            try:
                msg = MHMessage(f)
            finally:
                if self._locked:
                    _unlock_file(f)
        finally:
            f.close()
        for name, key_list in self.get_sequences():
            if key in key_list:
                msg.add_sequence(name)
        return msg
Function to download a single file from ESGF.
dataset/ETHPy150Open babble/babble/include/jython/Lib/mailbox.py/MH.get_message--crossover with--dataset/ETHPy150Open apache/climate/ocw/esgf/download.py/download