diff options
author | Justin Bronn <jbronn@gmail.com> | 2008-08-05 17:15:33 +0000 |
---|---|---|
committer | Justin Bronn <jbronn@gmail.com> | 2008-08-05 17:15:33 +0000 |
commit | aa239e3e5405933af6a29dac3cf587b59a099927 (patch) | |
tree | ea2cbd139c9a8cf84c09e0b2008bff70e05927ef /django/utils/simplejson/scanner.py | |
parent | 45b73c9a4685809236f84046cc7ffd32a50db958 (diff) | |
download | django-attic/gis.tar.gz |
gis: Merged revisions 7981-8001,8003-8011,8013-8033,8035-8036,8038-8039,8041-8063,8065-8076,8078-8139,8141-8154,8156-8214 via svnmerge from trunk.archive/attic/gisattic/gis
git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@8215 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/utils/simplejson/scanner.py')
-rw-r--r-- | django/utils/simplejson/scanner.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/django/utils/simplejson/scanner.py b/django/utils/simplejson/scanner.py index 64f4999fb5..2a18390d0d 100644 --- a/django/utils/simplejson/scanner.py +++ b/django/utils/simplejson/scanner.py @@ -1,18 +1,21 @@ """ Iterator based sre token scanner """ -import sre_parse, sre_compile, sre_constants -from sre_constants import BRANCH, SUBPATTERN -from re import VERBOSE, MULTILINE, DOTALL import re +from re import VERBOSE, MULTILINE, DOTALL +import sre_parse +import sre_compile +import sre_constants +from sre_constants import BRANCH, SUBPATTERN __all__ = ['Scanner', 'pattern'] FLAGS = (VERBOSE | MULTILINE | DOTALL) + class Scanner(object): def __init__(self, lexicon, flags=FLAGS): self.actions = [None] - # combine phrases into a compound pattern + # Combine phrases into a compound pattern s = sre_parse.Pattern() s.flags = flags p = [] @@ -26,10 +29,10 @@ class Scanner(object): p.append(subpattern) self.actions.append(token) + s.groups = len(p) + 1 # NOTE(guido): Added to make SRE validation work p = sre_parse.SubPattern(s, [(BRANCH, (None, p))]) self.scanner = sre_compile.compile(p) - def iterscan(self, string, idx=0, context=None): """ Yield match, end_idx for each match @@ -54,10 +57,11 @@ class Scanner(object): match = self.scanner.scanner(string, matchend).match yield rval, matchend lastend = matchend - + + def pattern(pattern, flags=FLAGS): def decorator(fn): fn.pattern = pattern fn.regex = re.compile(pattern, flags) return fn - return decorator + return decorator
\ No newline at end of file |