def _getMovieChoice(self, subMovies): from SubProviders import getSubProviderByName from Interaction import ImagesResources self.subitMainWindow.moviesListWidget.clear() for movie in subMovies: provider_name = movie.provider_name sub_provider = getSubProviderByName(provider_name) provider_png = sub_provider.PROVIDER_PNG movie_name = movie.movie_name versions_sum = movie.versions_sum provider_name = movie.provider_name formatted_name = movie_name # It might be empty if versions_sum: formatted_name += ' -> ' + versions_sum movie_list_widget_item = self._list_widget_item_with_provider_icon\ (provider_png, provider_name, formatted_name) self.subitMainWindow.moviesListWidget.addItem\ (movie_list_widget_item) self.subitMainWindow.moviesListWidget.setEnabled(True)
def _get_movie_name_from_opensubtitles_global_sub_provider\ (self, file_name, full_path): """ Get the movie name using hash query features, and also file name query (opensubtitles has a huge amount of subtitles, so there is a big change that we will get the movie name by just quering with the file name). We perform a search without specifing a language in order to get results from all of them. """ movie_name = None # We take the global provider of OpenSubtitles in order to search # without a specific language, because we only search in order to get # the name os_provider_name = 'Global - www.opensubtitles.org' os_provider = getSubProviderByName(os_provider_name) if not os_provider: WriteDebug('Couldnt get [%s] for name query' % os_provider_name) return movie_name os_provider() # We first try to find match by the hash. Notice that we are not # checking to see if the path realy exists, and that's because the # inner function is doing that for us try: writeLog(INFO_LOGS.OS_SENDING_QUERY_USING_THE_FILE_HASH_VALUE) movie_name = os_provider.findByHash(full_path, True) except: WriteDebug('Failed in opensubtitles findByHash check') # If we didn't get result, we try with the file name if not movie_name: try: writeLog(WARN_LOGS.OS_CANT_GET_MOVIE_NAME_FOR_HASH_VALUE) writeLog(INFO_LOGS.OS_SENDING_QUERY_USING_THE_FILE_NAME) movie_name = os_provider.findByFileName(file_name, True) except: WriteDebug('Failed in opnesubtitles findByFileName check') # Check in order to log the currect message if not movie_name: writeLog(WARN_LOGS.OS_CANT_GET_MOVIE_NAME_FOR_FILE_NAME) else: writeLog(INFO_LOGS.OS_FOUND_MOVIE_NAME) return movie_name
def _getVersionChoice(self, subVersions, subMovies): from SubProviders import getSubProviderByName from Interaction import ImagesResources self.subitMainWindow.versionsListWidget.clear() for version in subVersions: sub_provider = getSubProviderByName(version.provider_name) provider_png = sub_provider.PROVIDER_PNG version_sum = version.version_sum provider_name = version.provider_name ver_list_widget_item = self._list_widget_item_with_provider_icon\ (provider_png, provider_name, version_sum) self.subitMainWindow.versionsListWidget.addItem\ (ver_list_widget_item) self.subitMainWindow.versionsListWidget.setEnabled(True) self.subitMainWindow.versionsListWidget.scrollToItem\ (self.subitMainWindow.versionsListWidget.item(0), QtGui.QAbstractItemView.ScrollHint.EnsureVisible) if subMovies: self._getMovieChoice(subMovies)
def getSubProviderByName(provider_name): """ Call the getSubProviderByName function of the SubProviders module """ from SubProviders import getSubProviderByName return getSubProviderByName(provider_name)