Переглянути джерело

Cleanup search_history()

pull/15/head
Ben Kurtovic 11 роки тому
джерело
коміт
9ed46487c8
1 змінених файлів з 13 додано та 13 видалено
  1. +13
    -13
      tasks/afc_statistics.py

+ 13
- 13
tasks/afc_statistics.py Переглянути файл

@@ -582,26 +582,26 @@ class AFCStatistics(Task):
elif chart == self.CHART_MISPLACE:
return self.get_create(pageid)
elif chart == self.CHART_ACCEPT:
search_for = None
search_not = ["R", "P", "T", "D"]
search_with = []
search_without = ["R", "P", "T", "D"]
elif chart == self.CHART_PEND:
search_for = "P"
search_not = []
search_with = ["P"]
search_without = []
elif chart == self.CHART_REVIEW:
search_for = "R"
search_not = []
search_with = ["R"]
search_without = []
elif chart == self.CHART_DECLINE:
search_for = "D"
search_not = ["R", "P", "T"]
return self.search_history(pageid, chart, search_for, search_not)
search_with = ["D"]
search_without = ["R", "P", "T"]
return self.search_history(pageid, chart, search_with, search_without)

def search_history(self, pageid, chart, search_for, search_not):
def search_history(self, pageid, chart, search_with, search_without):
"""Search through a page's history to find when a status was set.

Linear search backwards in time for the edit right after the most
recent edit that fails the (pseudocode) test:

``status_set(search_for) && !status_set(any_of(search_not))``
``status_set(any(search_with)) && !status_set(any(search_without))``
"""
query = """SELECT rev_user_text, rev_timestamp, rev_id
FROM revision WHERE rev_page = ? ORDER BY rev_id DESC"""
@@ -622,8 +622,8 @@ class AFCStatistics(Task):
self.logger.exception(msg.format(pageid, chart))
return None, None, None
statuses = self.get_statuses(content)
matches = [s in statuses for s in search_not]
if any(matches) or (search_for and search_for not in statuses):
req = search_with and not any([s in statuses for s in search_with])
if any([s in statuses for s in search_without]) or req:
return last
timestamp = datetime.strptime(ts, "%Y%m%d%H%M%S")
last = (user.decode("utf8"), timestamp, revid)


Завантаження…
Відмінити
Зберегти