def bst_weblinkback_updater(mode): """ Update linkbacks @param mode: 1 delete rejected, broken and pending linkbacks whose URLs is on blacklist 2 update page titles of new linkbacks 3 update page titles of old linkbacks 4 update manually set page titles 5 detect and disable broken linkbacks @type mode: int """ mode = int(mode) if mode == 1: write_message("Starting to delete rejected and pending linkbacks URLs on blacklist") delete_linkbacks_on_blacklist() write_message("Completed to delete rejected and pending linkbacks URLs on blacklist") elif mode == 2: write_message("Starting to update the page titles of new linkbacks") update_linkbacks(1) write_message("Completed to update the page titles of new linkbacks") elif mode == 3: write_message("Starting to update the page titles of old linkbacks") update_linkbacks(2) write_message("Completed to update the page titles of old linkbacks") elif mode == 4: write_message("Starting to update manually set page titles") update_linkbacks(3) write_message("Completed to update manually set page titles") elif mode == 5: write_message("Starting to detect and disable broken linkbacks") update_linkbacks(4) write_message("Completed to detect and disable broken linkbacks")
def bst_weblinkback_updater(mode): """ Update linkbacks @param mode: 1 delete rejected, broken and pending linkbacks whose URLs is on blacklist 2 update page titles of new linkbacks 3 update page titles of old linkbacks 4 update manually set page titles 5 detect and disable broken linkbacks @type mode: int """ mode = int(mode) if mode == 1: write_message( "Starting to delete rejected and pending linkbacks URLs on blacklist" ) delete_linkbacks_on_blacklist() write_message( "Completed to delete rejected and pending linkbacks URLs on blacklist" ) elif mode == 2: write_message("Starting to update the page titles of new linkbacks") update_linkbacks(1) write_message("Completed to update the page titles of new linkbacks") elif mode == 3: write_message("Starting to update the page titles of old linkbacks") update_linkbacks(2) write_message("Completed to update the page titles of old linkbacks") elif mode == 4: write_message("Starting to update manually set page titles") update_linkbacks(3) write_message("Completed to update manually set page titles") elif mode == 5: write_message("Starting to detect and disable broken linkbacks") update_linkbacks(4) write_message("Completed to detect and disable broken linkbacks")
def test_update_manually_set_page_titles(self): """weblinkback - test update manually set page titles""" self.assertNotEqual([], test_web_page_content(CFG_SITE_URL + '/%s/41/linkbacks/sendtrackback?url=http://www.google.au&title=Google' % CFG_SITE_RECORD, username='******')) self.assertNotEqual([], test_web_page_content(CFG_SITE_URL + '/%s/41/linkbacks/sendtrackback?url=http://www.google.at' % CFG_SITE_RECORD, username='******')) self.assertNotEqual([], test_web_page_content(CFG_SITE_URL + '/%s/41/linkbacks/sendtrackback?url=http://www.google.co.za&title=Google' % CFG_SITE_RECORD, username='******')) p = patch('invenio.weblinkback.get_title_of_page', get_title_of_page_mock1) p.start() update_linkbacks(3) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") self.assertEqual(get_title_of_page_mock1(), url_titles[0][2]) self.assertEqual("", url_titles[1][2]) self.assertEqual(get_title_of_page_mock1(), url_titles[2][2]) p.stop()
def bst_weblinkback_updater(mode): """ Update linkbacks @param mode: 1 delete rejected, broken and pending linkbacks whose URLs is on blacklist 2 update page titles of new linkbacks 3 update page titles of old linkbacks 4 update manually set page titles 5 detect and disable broken linkbacks 6 send notification email for all pending linkbacks @type mode: int """ mode = int(mode) if mode == 1: write_message( "Starting to delete rejected and pending linkbacks URLs on blacklist" ) delete_linkbacks_on_blacklist() write_message( "Completed to delete rejected and pending linkbacks URLs on blacklist" ) elif mode == 2: write_message("Starting to update the page titles of new linkbacks") update_linkbacks(1) write_message("Completed to update the page titles of new linkbacks") elif mode == 3: write_message("Starting to update the page titles of old linkbacks") update_linkbacks(2) write_message("Completed to update the page titles of old linkbacks") elif mode == 4: write_message("Starting to update manually set page titles") update_linkbacks(3) write_message("Completed to update manually set page titles") elif mode == 5: write_message("Starting to detect and disable broken linkbacks") update_linkbacks(4) write_message("Completed to detect and disable broken linkbacks") elif mode == 6: write_message("Starting to send notification email") send_pending_linkbacks_notification(CFG_WEBLINKBACK_TYPE['TRACKBACK']) write_message("Completed to send notification email")
def bst_weblinkback_updater(mode): """ Update linkbacks @param mode: 1 delete rejected, broken and pending linkbacks whose URLs is on blacklist 2 update page titles of new linkbacks 3 update page titles of old linkbacks 4 update manually set page titles 5 detect and disable broken linkbacks 6 send notification email for all pending linkbacks @type mode: int """ mode = int(mode) if mode == 1: write_message("Starting to delete rejected and pending linkbacks URLs on blacklist") delete_linkbacks_on_blacklist() write_message("Completed to delete rejected and pending linkbacks URLs on blacklist") elif mode == 2: write_message("Starting to update the page titles of new linkbacks") update_linkbacks(1) write_message("Completed to update the page titles of new linkbacks") elif mode == 3: write_message("Starting to update the page titles of old linkbacks") update_linkbacks(2) write_message("Completed to update the page titles of old linkbacks") elif mode == 4: write_message("Starting to update manually set page titles") update_linkbacks(3) write_message("Completed to update manually set page titles") elif mode == 5: write_message("Starting to detect and disable broken linkbacks") update_linkbacks(4) write_message("Completed to detect and disable broken linkbacks") elif mode == 6: write_message("Starting to send notification email") send_pending_linkbacks_notification(CFG_WEBLINKBACK_TYPE["TRACKBACK"]) write_message("Completed to send notification email")
def test_detect_and_disable_broken_linkbacks(self): """weblinkback - test detect and disable broken linkbacks""" self.assertNotEqual([], test_web_page_content(CFG_SITE_URL + '/%s/41/linkbacks/sendtrackback?url=http://www.google.au&title=Google' % CFG_SITE_RECORD, username='******')) self.assertNotEqual([], test_web_page_content(CFG_SITE_URL + '/%s/41/linkbacks/sendtrackback?url=http://www.google.at' % CFG_SITE_RECORD, username='******')) self.assertNotEqual([], test_web_page_content(CFG_SITE_URL + '/%s/41/linkbacks/sendtrackback?url=http://www.google.co.za&title=GoogleCOZA' % CFG_SITE_RECORD, username='******')) self.assertNotEqual([], test_web_page_content(CFG_SITE_URL + '/%s/41/linkbacks/sendtrackback?url=http://www.google.co.za&title=Google' % CFG_SITE_RECORD, username='******')) run_sql("""INSERT INTO lnkENTRYURLTITLE (url, title, manual_set, broken_count) VALUES (%s, %s, %s, %s) """, ("http://www.google.de", "Google DE", 0, 3)) p = patch('invenio.weblinkback.get_title_of_page', get_title_of_page_mock_broken) p.start() update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual("Google", url_titles[0][2]) self.assertEqual(1, url_titles[0][4]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[0][5]) self.assertEqual("", url_titles[1][2]) self.assertEqual(1, url_titles[1][4]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual("GoogleCOZA", url_titles[2][2]) self.assertEqual(1, url_titles[2][4]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[3][5]) self.assertEqual("Google DE", url_titles[3][2]) self.assertEqual(4, url_titles[3][4]) update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual("Google", url_titles[0][2]) self.assertEqual(2, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[0][5]) self.assertEqual("", url_titles[1][2]) self.assertEqual(2, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual("GoogleCOZA", url_titles[2][2]) self.assertEqual(2, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual("Google", url_titles[0][2]) self.assertEqual(3, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[0][5]) self.assertEqual("", url_titles[1][2]) self.assertEqual(3, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual("GoogleCOZA", url_titles[2][2]) self.assertEqual(3, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) p.stop() p = patch('invenio.weblinkback.get_title_of_page', get_title_of_page_mock1) p.start() update_linkbacks(1) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual("Google", url_titles[0][2]) self.assertEqual(3, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[0][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[1][2]) self.assertEqual(0, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual("GoogleCOZA", url_titles[2][2]) self.assertEqual(3, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) approve_linkback(4 + self._max_id_lnkENTRY, self.user_info) update_linkbacks(3) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual(get_title_of_page_mock1(), url_titles[0][2]) self.assertEqual(0, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[0][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[1][2]) self.assertEqual(0, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[2][2]) self.assertEqual(0, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['APPROVED'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) p.stop() p = patch('invenio.weblinkback.get_title_of_page', get_title_of_page_mock_broken) p.start() update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual(get_title_of_page_mock1(), url_titles[0][2]) self.assertEqual(1, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[0][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[1][2]) self.assertEqual(1, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[2][2]) self.assertEqual(1, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['APPROVED'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) reject_linkback(1 + self._max_id_lnkENTRY, self.user_info) reject_linkback(3 + self._max_id_lnkENTRY, self.user_info) update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual(get_title_of_page_mock1(), url_titles[0][2]) self.assertEqual(2, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['REJECTED'], linkback_entries[0][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[1][2]) self.assertEqual(2, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[2][2]) self.assertEqual(2, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['REJECTED'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['APPROVED'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual(get_title_of_page_mock1(), url_titles[0][2]) self.assertEqual(3, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['REJECTED'], linkback_entries[0][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[1][2]) self.assertEqual(3, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[2][2]) self.assertEqual(3, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['REJECTED'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['APPROVED'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual(get_title_of_page_mock1(), url_titles[0][2]) self.assertEqual(4, url_titles[0][4]) self.assertEqual(0, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['REJECTED'], linkback_entries[0][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[1][2]) self.assertEqual(4, url_titles[1][4]) self.assertEqual(0, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['PENDING'], linkback_entries[1][5]) self.assertEqual(get_title_of_page_mock1(), url_titles[2][2]) self.assertEqual(4, url_titles[2][4]) self.assertEqual(0, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['REJECTED'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['APPROVED'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) update_linkbacks(4) url_titles = self.get_all_from_table("lnkENTRYURLTITLE") linkback_entries = self.get_all_from_table("lnkENTRY") self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[0][2]) self.assertEqual(5, url_titles[0][4]) self.assertEqual(1, url_titles[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], linkback_entries[0][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[1][2]) self.assertEqual(5, url_titles[1][4]) self.assertEqual(1, url_titles[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], linkback_entries[1][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[2][2]) self.assertEqual(5, url_titles[2][4]) self.assertEqual(1, url_titles[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], linkback_entries[2][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], linkback_entries[3][5]) self.assertEqual(CFG_WEBLINKBACK_STATUS['BROKEN'], url_titles[3][2]) self.assertEqual(5, url_titles[3][4]) self.assertEqual(1, url_titles[3][5]) p.stop()