From f885b5c2bdab2e87613fa286b84c1bd753b766ae Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Sun, 30 Oct 2011 15:19:23 -0400 Subject: [PATCH] Added sync_page(); updates for process_edit() and process_delete(). --- bot/tasks/afc_statistics.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/bot/tasks/afc_statistics.py b/bot/tasks/afc_statistics.py index 5b91503..0ad956f 100644 --- a/bot/tasks/afc_statistics.py +++ b/bot/tasks/afc_statistics.py @@ -182,14 +182,10 @@ class Task(BaseTask): cursor.execute(query) def process_edit(self, page, **kwargs): - query = "SELECT * FROM page WHERE page_title = ?" + if page in self.ignore_list: + return with self.conn.cursor() as cursor, self.db_access_lock: - cursor.execute(query, (page,)) - result = cursor.fetchall() - if result: - self.update_page(cursor, page) - else: - self.track_page(cursor, page) + self.sync_page(cursor, page) def process_move(self, page, **kwargs): query1 = "SELECT * FROM page WHERE page_title = ?" @@ -213,10 +209,19 @@ class Task(BaseTask): query2 = "DELETE FROM page JOIN row ON page_id = row_id WHERE page_title = ?" with self.conn.cursor() as cursor, self.db_access_lock: result = self.site.sql_query(query1, (page,)) - if not list(result)[0]: + if list(result)[0]: + self.sync_page(cursor, page) + else: cursor.execute(query2, (page,)) - return - self.process_edit(page) + + def sync_page(self, cursor, page): + query = "SELECT * FROM page WHERE page_title = ?" + cursor.execute(query, (page,)) + result = cursor.fetchall() + if result: + self.update_page(cursor, page) + else: + self.track_page(cursor, page) def track_page(self, cursor, page): # Update hook when page is not in our database.