def get_update_date(self, item):
        timestamps = {
            'revision_timestamp': 'revision',
            'last_modified': 'resource',
            'metadata_modified': 'package'
        }

        for key, value in timestamps.items():
            if key in item:
                timestamp = item[key]
                item_type = value
                break
        else:
            keys = timestamps.keys()
            msg = 'None of the following keys found in item: %s' % keys
            raise TypeError(msg)

        if not timestamp and item_type == 'resource':
            # print('Resource timestamp is empty. Querying revision.')
            timestamp = self.revision_show(id=item['revision_id'])['timestamp']

        return dt.strptime(timestamp, '%Y-%m-%dT%H:%M:%S.%f')