def _real_extract(self, url):
        video_id = self._match_id(url)

        json_url = url + ('?' if '?' in url else '&') + 'output=json'
        data = self._download_json(json_url, video_id)

        def get_optional(data_dict, field):
            return data_dict['metadata'].get(field, [None])[0]

        title = get_optional(data, 'title')
        description = get_optional(data, 'description')
        uploader = get_optional(data, 'creator')
        upload_date = unified_strdate(get_optional(data, 'date'))

        formats = [
            {
                'format': fdata['format'],
                'url': 'http://' + data['server'] + data['dir'] + fn,
                'file_size': int(fdata['size']),
            }
            for fn, fdata in data['files'].items()
            if 'Video' in fdata['format']]

        self._sort_formats(formats)

        return {
            '_type': 'video',
            'id': video_id,
            'title': title,
            'formats': formats,
            'description': description,
            'uploader': uploader,
            'upload_date': upload_date,
            'thumbnail': data.get('misc', {}).get('image'),
        }
dataset/ETHPy150Open yasoob/youtube-dl-GUI/youtube_dl/extractor/archiveorg.py/ArchiveOrgIE._real_extract/original