@ -15,7 +15,7 @@ from guessit import guessit
from dogpile . cache . api import NO_VALUE
from subliminal_patch . providers import Provider
from subliminal_patch . subtitle import Subtitle , guess_matches
from subliminal_patch . utils import sanitize
from subliminal_patch . utils import sanitize , fix_inconsistent_naming
from subliminal . video import Episode , Movie
from subliminal . subtitle import fix_line_ending
from subliminal . cache import region
@ -25,6 +25,22 @@ from .utils import FIRST_THOUSAND_OR_SO_USER_AGENTS as AGENT_LIST
logger = logging . getLogger ( __name__ )
def fix_tv_naming ( title ) :
""" Fix TV show titles with inconsistent naming using dictionary, but do not sanitize them.
: param str title : original title .
: return : new title .
: rtype : str
"""
return fix_inconsistent_naming ( title , { " Superman & Lois " : " Superman and Lois " ,
} , True )
def fix_movie_naming ( title ) :
return fix_inconsistent_naming ( title , {
} , True )
class YavkaNetSubtitle ( Subtitle ) :
""" YavkaNet Subtitle. """
provider_name = ' yavkanet '
@ -112,10 +128,10 @@ class YavkaNetProvider(Provider):
}
if isEpisode :
params [ ' s ' ] = " %s s %02d e %02d " % ( sanitize ( video. series , { ' \' ' } ) , video . season , video . episode )
params [ ' s ' ] = " %s s %02d e %02d " % ( sanitize ( fix_tv_naming( video. series ) , { ' \' ' } ) , video . season , video . episode )
else :
params [ ' y ' ] = video . year
params [ ' s ' ] = sanitize ( video. title , { ' \' ' } )
params [ ' s ' ] = sanitize ( fix_movie_naming( video. title ) , { ' \' ' } )
if language == ' en ' or language == ' eng ' :
params [ ' l ' ] = ' EN '