def _extract_metadata(self, header, parent, content):
        md = {'msg_id' : parent['msg_id'],
              'received' : datetime.now(),
              'engine_uuid' : header.get('engine', None),
              'follow' : parent.get('follow', []),
              'after' : parent.get('after', []),
              'status' : content['status'],
            }
        
        if md['engine_uuid'] is not None:
            md['engine_id'] = self._engines.get(md['engine_uuid'], None)
        
        if 'date' in parent:
            md['submitted'] = parent['date']
        if 'started' in header:
            md['started'] = header['started']
        if 'date' in header:
            md['completed'] = header['date']
        return md
dataset/ETHPy150Open ipython/ipython-py3k/IPython/parallel/client/client.py/Client._extract_metadata/original