Returned error might not even be a dict, so we need traverse_obj() here.
On the other hand, no need to try/except around asset_url = ...
since the following request will fail anyway without it.
Fixes the following failing test:
____________________ TestAllURLsMatching.test_no_duplicates ____________________
test/test_all_urls.py:79: in test_no_duplicates
self.assertTrue(ie.suitable(url), f'{type(ie).__name__} should match URL {url!r}')
E AssertionError: False is not true : LiTVIE should match URL 'https://www.litv.tv/promo/miyuezhuan/?content_id=VOD00044841&'
[YouTube] [core] Improve platform debug log, based on yt-dlp
d1c6c5c4d6
Except:
* 6ed34338285f722d0da312ce0af3a15a077a3e2a [jsinterp] Add short-cut evaluation for common expression
* There was no performance improvement when tested with https://github.com/ytdl-org/youtube-dl/issues/30641
* e8de54bce50f6f77a4d7e8e80675f7003d5bf630 [core] Handle `/../` sequences in HTTP URLs
* We plan to implement this differently
Using https://github.com/asottile/pyupgrade
1. `__future__` imports and `coding: utf-8` were removed
2. Files were rewritten with `pyupgrade --py36-plus --keep-percent-format`
3. f-strings were cherry-picked from `pyupgrade --py36-plus`
Extractors are left untouched (except removing header) to avoid unnecessary merge conflicts
* All modules and binary names are changed
* All documentation references changed
* yt-dlp no longer loads youtube-dlc config files
* All URLs changed to point to organization account
Co-authored-by: Pccode66
Co-authored-by: pukkandan