def update_linkbacks(mode): """ Update titles of pages that link to the instance @param mode: 1 update page titles of new linkbacks 2 update page titles of old linkbacks 3 update manually set page titles 4 detect and disable broken linkbacks """ if mode in (1, 2, 3): if mode == 1: urls_and_titles = get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['NEW']) elif mode == 2: urls_and_titles = get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['OLD']) elif mode == 3: urls_and_titles = get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['MANUALLY_SET']) for (url, title, manual_set, broken_count) in urls_and_titles: # pylint: disable=W0612 new_title = get_title_of_page(url) # Only accept valid titles if new_title != None: update_url_title(url, new_title) elif mode == 4: urls_and_titles = get_urls_and_titles() for (url, title, manual_set, broken_count) in urls_and_titles: # pylint: disable=W0612 new_title = get_title_of_page(url) # Broken one detected if new_title == None: increment_broken_count(url) if broken_count + 1 == CFG_WEBLINKBACK_BROKEN_COUNT: set_url_broken(url)
def update_linkbacks(mode): """ Update titles of pages that link to the instance @param mode: 1 update page titles of new linkbacks 2 update page titles of old linkbacks 3 update manually set page titles 4 detect and disable broken linkbacks """ if mode in (1, 2, 3): if mode == 1: urls_and_titles = get_urls_and_titles( CFG_WEBLINKBACK_PAGE_TITLE_STATUS['NEW']) elif mode == 2: urls_and_titles = get_urls_and_titles( CFG_WEBLINKBACK_PAGE_TITLE_STATUS['OLD']) elif mode == 3: urls_and_titles = get_urls_and_titles( CFG_WEBLINKBACK_PAGE_TITLE_STATUS['MANUALLY_SET']) for (url, title, manual_set, broken_count) in urls_and_titles: # pylint: disable=W0612 new_title = get_title_of_page(url) # Only accept valid titles if new_title != None: update_url_title(url, new_title) elif mode == 4: urls_and_titles = get_urls_and_titles() for (url, title, manual_set, broken_count) in urls_and_titles: # pylint: disable=W0612 new_title = get_title_of_page(url) # Broken one detected if new_title == None: increment_broken_count(url) if broken_count + 1 == CFG_WEBLINKBACK_BROKEN_COUNT: set_url_broken(url)
def test_create_linkback2(self): """weblinkback - create linkback with URL title""" recid = 42 argd = {'url': 'URL', 'title': 'My title', 'excerpt': CFG_WEBLINKBACK_SUBSCRIPTION_DEFAULT_ARGUMENT_NAME, 'blog_name': 'Test Blog', 'id': CFG_WEBLINKBACK_SUBSCRIPTION_DEFAULT_ARGUMENT_NAME, 'source': CFG_WEBLINKBACK_SUBSCRIPTION_DEFAULT_ARGUMENT_NAME, } linkbackid = create_trackback(recid, argd['url'], argd['title'], argd['excerpt'], argd['blog_name'], argd['id'], argd['source'], self.user_info) self.assertEqual(10 + self._max_id_lnkENTRY, linkbackid) linkback = get_all_linkbacks(recid=recid)[5] self.assertEqual(linkbackid, linkback[0]) self.assertEqual(argd['url'], linkback[1]) self.assertEqual(recid, linkback[2]) self.assertEqual(CFG_WEBLINKBACK_TYPE['TRACKBACK'], linkback[4]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback[5]) url = CFG_SITE_URL + '/%s/42/linkbacks/' % CFG_SITE_RECORD expected_texts = ('Linkbacks to review: 6', 'Linkbacks: 0') for text in expected_texts: self.assertEqual([], test_web_page_content(url, username='******', expected_text=text)) approve_linkback(linkbackid, self.user_info) linkback = get_all_linkbacks(recid=recid)[5] self.assertEqual(linkbackid, linkback[0]) self.assertEqual(argd['url'], linkback[1]) self.assertEqual(recid, linkback[2]) self.assertEqual(CFG_WEBLINKBACK_TYPE['TRACKBACK'], linkback[4]) self.assertEqual(CFG_WEBLINKBACK_STATUS['APPROVED'], linkback[5]) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") self.assertEqual(1, len(url_titles)) self.assertEqual(argd['url'], url_titles[0][1]) self.assertEqual(argd['title'], url_titles[0][2]) self.assertEqual(1, url_titles[0][3]) self.assertEqual(argd['title'], get_url_title(argd['url'])) self.assertEqual(0, len(get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['OLD']))) self.assertEqual(0, len(get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['NEW']))) self.assertEqual(1, len(get_urls_and_titles(CFG_WEBLINKBACK_PAGE_TITLE_STATUS['MANUALLY_SET']))) url = CFG_SITE_URL + '/%s/42/linkbacks/' % CFG_SITE_RECORD expected_texts = ('Linkbacks to review: 5', 'Linkbacks: 1') for text in expected_texts: self.assertEqual([], test_web_page_content(url, username='******', expected_text=text))