Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
def getSubProviderByName(provider_name):
    """ Call the getSubProviderByName function of the SubProviders module """
    from SubProviders import getSubProviderByName

    return getSubProviderByName(provider_name)