|
@@ -346,7 +346,7 @@ class AFCStatistics(Task): |
|
|
A variety of SQL queries are used to gather information about the page, |
|
|
A variety of SQL queries are used to gather information about the page, |
|
|
which is then saved to our database. |
|
|
which is then saved to our database. |
|
|
""" |
|
|
""" |
|
|
content = self._get_content(title) |
|
|
|
|
|
|
|
|
content = self._get_content(pageid) |
|
|
if content is None: |
|
|
if content is None: |
|
|
msg = u"Could not get page content for [[{0}]]".format(title) |
|
|
msg = u"Could not get page content for [[{0}]]".format(title) |
|
|
self.logger.error(msg) |
|
|
self.logger.error(msg) |
|
@@ -378,7 +378,7 @@ class AFCStatistics(Task): |
|
|
which is compared against our stored information. Differing information |
|
|
which is compared against our stored information. Differing information |
|
|
is then updated. |
|
|
is then updated. |
|
|
""" |
|
|
""" |
|
|
content = self._get_content(title) |
|
|
|
|
|
|
|
|
content = self._get_content(pageid) |
|
|
if content is None: |
|
|
if content is None: |
|
|
msg = u"Could not get page content for [[{0}]]".format(title) |
|
|
msg = u"Could not get page content for [[{0}]]".format(title) |
|
|
self.logger.error(msg) |
|
|
self.logger.error(msg) |
|
@@ -474,27 +474,15 @@ class AFCStatistics(Task): |
|
|
|
|
|
|
|
|
###################### DATA RETRIEVAL HELPER METHODS ###################### |
|
|
###################### DATA RETRIEVAL HELPER METHODS ###################### |
|
|
|
|
|
|
|
|
def _get_content(self, title): |
|
|
|
|
|
"""Get the current content of a page by title from the API. |
|
|
|
|
|
|
|
|
def _get_content(self, pageid): |
|
|
|
|
|
"""Get the current content of a page by ID from the API. |
|
|
|
|
|
|
|
|
The page's current revision ID is retrieved from SQL, and then |
|
|
The page's current revision ID is retrieved from SQL, and then |
|
|
an API query is made to get its content. This is the only API query |
|
|
an API query is made to get its content. This is the only API query |
|
|
used in the task's code. |
|
|
used in the task's code. |
|
|
""" |
|
|
""" |
|
|
query = "SELECT page_latest FROM page WHERE page_title = ? AND page_namespace = ?" |
|
|
|
|
|
try: |
|
|
|
|
|
namespace, base = title.split(":", 1) |
|
|
|
|
|
except ValueError: |
|
|
|
|
|
base = title |
|
|
|
|
|
ns = wiki.NS_MAIN |
|
|
|
|
|
else: |
|
|
|
|
|
try: |
|
|
|
|
|
ns = self.site.namespace_name_to_id(namespace) |
|
|
|
|
|
except exceptions.NamespaceNotFoundError: |
|
|
|
|
|
base = title |
|
|
|
|
|
ns = wiki.NS_MAIN |
|
|
|
|
|
|
|
|
|
|
|
result = self.site.sql_query(query, (base.replace(" ", "_"), ns)) |
|
|
|
|
|
|
|
|
query = "SELECT page_latest FROM page WHERE page_id = ?" |
|
|
|
|
|
result = self.site.sql_query(query, (pageid,)) |
|
|
try: |
|
|
try: |
|
|
revid = int(list(result)[0][0]) |
|
|
revid = int(list(result)[0][0]) |
|
|
except IndexError: |
|
|
except IndexError: |
|
|