def update_service(): # this read the settings settings = subscription.Settings() # define the browser browser = subscription.Browser() #Begin Service if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'Checking Online...', settings.icon, settings.time_noti) list_url_search = [] path = translatePath('special://temp') database = shelve.open(path + 'SUBSCRIPTION-PULSAR-RSS.db') rep = 0 Dict_RSS = {} if database.has_key('dict'): Dict_RSS = database['dict'] database.close() list_url_search = Dict_RSS.values() if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'Checking Online...', settings.icon, settings.time_noti) # Begin reading for url_search in list_url_search: if url_search is not '': title_movie = [] movie_ID = [] title_show = [] if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'Checking %s...' % url_search, settings.icon, settings.time_noti) acum = 0 settings.log('[%s]%s' % (settings.name_provider_clean, url_search)) if browser.open(url_search): items = re.findall('<item>(.*?)</item>', browser.content, re.S) for item in items: s_title = re.findall('title>(.*?)<', item) s_link = re.findall('link>(.*?)<', item) IMDB = re.search('TT[0-9]+', s_link[0] + ' #TT00', re.I).group(0) if s_title[0] != '': info = subscription.format_title(s_title[0]) if 'MOVIE' in info['type'] and 'TV Series' not in s_title[0]: title_movie.append(s_title[0]) if 'TT00' not in IMDB: movie_ID.append(IMDB) acum += 1 if 'SHOW' in info['type'] or 'TV Series' in s_title[0]: title_show.append(s_title[0].replace('TV Series', '')) acum += 1 if acum == 0: if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'No Movies nor Shows!!', settings.icon, settings.time_noti) if len(title_movie) > 0: subscription.integration(listing=title_movie, ID=movie_ID, type_list='MOVIE', silence=True, folder=settings.movie_folder, name_provider=settings.name_provider) if len(title_show) > 0: subscription.integration(listing=title_show, ID=[], type_list='SHOW', folder=settings.show_folder, silence=True, name_provider=settings.name_provider) else: settings.log('[%s]>>>>>>>%s<<<<<<<' % (settings.name_provider_clean, browser.status)) settings.dialog.notification(settings.name_provider, browser.status, settings.icon, 1000) del settings del browser
for url_search in list_url_search: if url_search is not '': title_movie = [] movie_ID = [] title_show = [] if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'Checking %s...' % url_search, settings.icon, settings.time_noti) acum = 0 settings.log('[%s]%s' % (settings.name_provider_clean, url_search)) if browser.open(url_search): items = re.findall('<item>(.*?)</item>', browser.content, re.S) for item in items: s_title = re.findall('title>(.*?)<', item) s_link = re.findall('link>(.*?)<', item) IMDB = re.search('TT[0-9]+', s_link[0] + ' #TT00', re.I).group(0) if s_title[0] != '': info = subscription.format_title(s_title[0]) if 'MOVIE' in info['type'] and 'TV Series' not in s_title[0]: title_movie.append(s_title[0]) if 'TT00' not in IMDB: movie_ID.append(IMDB) acum += 1 if 'SHOW' in info['type'] or 'TV Series' in s_title[0]: title_show.append(s_title[0].replace('TV Series', '')) acum += 1 if acum == 0: if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'No Movies nor Shows!!', settings.icon, settings.time_noti) if len(title_movie) > 0: subscription.integration(listing=title_movie, ID=movie_ID, type_list='MOVIE', folder=settings.movie_folder, name_provider=settings.name_provider) if len(title_show) > 0: print title_show subscription.integration(listing=title_show, ID=[], type_list='SHOW', folder=settings.show_folder, name_provider=settings.name_provider)