From 427c77a9efba5838679cdc0c87cc684d4260b4b1 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 15 Feb 2015 19:23:45 +0100 Subject: [PATCH] Remove podnapisi --- libs/subliminal/services/podnapisi.py | 110 ---------------------------------- 1 file changed, 110 deletions(-) delete mode 100755 libs/subliminal/services/podnapisi.py diff --git a/libs/subliminal/services/podnapisi.py b/libs/subliminal/services/podnapisi.py deleted file mode 100755 index 618c0e7..0000000 --- a/libs/subliminal/services/podnapisi.py +++ /dev/null @@ -1,110 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2011-2012 Antoine Bertin -# -# This file is part of subliminal. -# -# subliminal is free software; you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# subliminal is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with subliminal. If not, see . -from . import ServiceBase -from ..exceptions import ServiceError, DownloadFailedError -from ..language import language_set, Language -from ..subtitles import get_subtitle_path, ResultSubtitle -from ..utils import to_unicode -from ..videos import Episode, Movie -from hashlib import md5, sha256 -import logging -import xmlrpclib - - -logger = logging.getLogger(__name__) - - -class Podnapisi(ServiceBase): - server_url = 'http://ssp.podnapisi.net:8000' - api_based = True - languages = language_set(['ar', 'be', 'bg', 'bs', 'ca', 'ca', 'cs', 'da', 'de', 'el', 'en', - 'es', 'et', 'fa', 'fi', 'fr', 'ga', 'he', 'hi', 'hr', 'hu', 'id', - 'is', 'it', 'ja', 'ko', 'lt', 'lv', 'mk', 'ms', 'nl', 'nn', 'pl', - 'pt', 'ro', 'ru', 'sk', 'sl', 'sq', 'sr', 'sv', 'th', 'tr', 'uk', - 'vi', 'zh', 'es-ar', 'pt-br']) - language_map = {'jp': Language('jpn'), Language('jpn'): 'jp', - 'gr': Language('gre'), Language('gre'): 'gr', - 'pb': Language('por-BR'), Language('por-BR'): 'pb', - 'ag': Language('spa-AR'), Language('spa-AR'): 'ag', - 'cyr': Language('srp')} - videos = [Episode, Movie] - require_video = True - - def __init__(self, config=None): - super(Podnapisi, self).__init__(config) - self.server = xmlrpclib.ServerProxy(self.server_url) - self.token = None - - def init(self): - super(Podnapisi, self).init() - result = self.server.initiate(self.user_agent) - if result['status'] != 200: - raise ServiceError('Initiate failed') - username = 'python_subliminal' - password = sha256(md5('XWFXQ6gE5Oe12rv4qxXX').hexdigest() + result['nonce']).hexdigest() - self.token = result['session'] - result = self.server.authenticate(self.token, username, password) - if result['status'] != 200: - raise ServiceError('Authenticate failed') - - def terminate(self): - super(Podnapisi, self).terminate() - - def query(self, filepath, languages, moviehash): - results = self.server.search(self.token, [moviehash]) - if results['status'] != 200: - logger.error('Search failed with error code %d' % results['status']) - return [] - if not results['results'] or not results['results'][moviehash]['subtitles']: - logger.debug(u'Could not find subtitles for %r with token %s' % (moviehash, self.token)) - return [] - subtitles = [] - for result in results['results'][moviehash]['subtitles']: - language = self.get_language(result['lang']) - if language not in languages: - continue - path = get_subtitle_path(filepath, language, self.config.multi) - subtitle = ResultSubtitle(path, language, self.__class__.__name__.lower(), result['id'], - release=to_unicode(result['release']), confidence=result['weight']) - subtitles.append(subtitle) - if not subtitles: - return [] - # Convert weight to confidence - max_weight = float(max([s.confidence for s in subtitles])) - min_weight = float(min([s.confidence for s in subtitles])) - for subtitle in subtitles: - if max_weight == 0 and min_weight == 0: - subtitle.confidence = 1.0 - else: - subtitle.confidence = (subtitle.confidence - min_weight) / (max_weight - min_weight) - return subtitles - - def list_checked(self, video, languages): - results = self.query(video.path, languages, video.hashes['OpenSubtitles']) - return results - - def download(self, subtitle): - results = self.server.download(self.token, [subtitle.link]) - if results['status'] != 200: - raise DownloadFailedError() - subtitle.link = 'http://www.podnapisi.net/static/podnapisi/' + results['names'][0]['filename'] - self.download_file(subtitle.link, subtitle.path) - return subtitle - - -Service = Podnapisi