mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-01-31 01:38:08 -05:00
Count CAPTCHA success/fail rates in stats.
This commit is contained in:
@@ -564,8 +564,10 @@ class VCaptcha(Validator):
|
||||
|
||||
def run(self, iden, solution):
|
||||
if (not c.user_is_loggedin or c.user.needs_captcha()):
|
||||
if not captcha.valid_solution(iden, solution):
|
||||
valid_captcha = captcha.valid_solution(iden, solution)
|
||||
if not valid_captcha:
|
||||
self.set_error(errors.BAD_CAPTCHA)
|
||||
g.stats.action_event_count("captcha", valid_captcha)
|
||||
|
||||
class VUser(Validator):
|
||||
def run(self, password = None):
|
||||
|
||||
@@ -41,6 +41,20 @@ class Stats:
|
||||
else:
|
||||
return None
|
||||
|
||||
def action_count(self, counter_name, name, delta=1):
|
||||
counter = self.get_counter(counter_name)
|
||||
if counter:
|
||||
from pylons import request
|
||||
counter.increment('%s.%s' % (request.environ["pylons.routes_dict"]["action"], name), delta=delta)
|
||||
|
||||
def action_event_count(self, event_name, state=None, delta=1, true_name="success", false_name="fail"):
|
||||
counter_name = 'event.%s' % event_name
|
||||
if state == True:
|
||||
self.action_count(counter_name, true_name, delta=delta)
|
||||
elif state == False:
|
||||
self.action_count(counter_name, false_name, delta=delta)
|
||||
self.action_count(counter_name, 'total', delta=delta)
|
||||
|
||||
def cache_count(self, name, delta=1):
|
||||
counter = self.get_counter('cache')
|
||||
if counter and random.random() < self.CACHE_SAMPLE_RATE:
|
||||
|
||||
Reference in New Issue
Block a user