Mercurial > hg > CAPTCHAmiddleware
comparison captchamiddleware/middleware.py @ 2:c861518b2a44
fix bug whereby forbidden characters cause issues
| author | k0s <k0scist@gmail.com> |
|---|---|
| date | Tue, 23 Feb 2010 19:50:23 -0500 |
| parents | 478d13061336 |
| children | b0ef5452a740 |
comparison
equal
deleted
inserted
replaced
| 1:478d13061336 | 2:c861518b2a44 |
|---|---|
| 37 # get dictionary | 37 # get dictionary |
| 38 if self.dictionary.startswith('http://') or self.dictionary.startswith('https://'): | 38 if self.dictionary.startswith('http://') or self.dictionary.startswith('https://'): |
| 39 f = urlopen(self.dictionary) | 39 f = urlopen(self.dictionary) |
| 40 else: | 40 else: |
| 41 f = file(self.dictionary) | 41 f = file(self.dictionary) |
| 42 | |
| 43 # characters skimpygimpy doesnt know about | |
| 44 forbidden_characters = set(["'"]) | |
| 45 | |
| 42 self.words = [ i.strip() for i in f.readlines() | 46 self.words = [ i.strip() for i in f.readlines() |
| 43 if len(i.strip()) > self.minimum_length ] | 47 if (len(i.strip()) > self.minimum_length) |
| 48 and not forbidden_characters.intersection(i) ] | |
| 44 random.shuffle(self.words) | 49 random.shuffle(self.words) |
| 45 | 50 |
| 46 | 51 |
| 47 def __call__(self, environ, start_response): | 52 def __call__(self, environ, start_response): |
| 48 request = Request(environ) | 53 request = Request(environ) |
| 49 if request.method == 'post' and not request.remote_user: | 54 if request.method == 'POST' and not request.remote_user: |
| 55 import pdb; pdb.set_trace() | |
| 50 pass # TODO: check CAPTCHA | 56 pass # TODO: check CAPTCHA |
| 51 | 57 |
| 52 return LXMLMiddleware.__call__(self, environ, start_response) | 58 return LXMLMiddleware.__call__(self, environ, start_response) |
| 53 | 59 |
| 54 def manipulate(self, environ, tree): | 60 def manipulate(self, environ, tree): |
