1
0
mirror of https://github.com/l1ving/youtube-dl synced 2026-05-17 12:22:35 +08:00
Commit Graph

4 Commits

  • lazy-extractors: Fix after commit 6e6b9f600f
    The problem was in the following code:
    
        class ArteTVPlus7IE(ArteTVBaseIE):
    
            ...
    
            @classmethod
            def suitable(cls, url):
                return False if ArteTVPlaylistIE.suitable(url) else super(ArteTVPlus7IE, cls).suitable(url)
    
    And its sublcasses like ArteTVCinemaIE.
    
    Since in the lazy_extractors.py file ArteTVCinemaIE was not a subclass of ArteTVPlus7IE, super(ArteTVPlus7IE, cls) failed.
    
    To fix it we have to make it a subclass. Since the order of _ALL_CLASSES is arbitrary we must sort them so that the base classes are defined first. We also must add base classes like YoutubeBaseInfoExtractor.
  • lazy extractors: Style fixes
    * Sort extractors alphabetically
    * Add newlines when needed (youtube_dl/extractors/lazy_extractors.py pass the flake8 test now)
  • Add experimental support for lazy loading the info extractors
    'make lazy-extractors' creates the youtube_dl/extractor/lazy_extractors.py (imported by youtube_dl/extractor/__init__.py), which contains simplified classes that only have the 'suitable' class method and that load the appropiate class with the '__new__' method when a instance is created.