Mercurial > cpython-lru_cache-weakref
annotate Tools/scripts/redemo.py @ 66978:aed2bbafa550 3.1
Blocked revisions 87324 via svnmerge
........
r87324 | r.david.murray | 2010-12-16 14:08:51 -0500 (Thu, 16 Dec 2010) | 9 lines
#10719: restore messages generated on invalid compileall args
Before the introduction of filename arguments to compileall it gave semi useful
messages about not being able to 'list' names that weren't valid directories.
This fix restores that behavior. In addition to the test for this case, the
patch also adds a test for the default behavior of compileall when no arguments
are provided, and fixes a bug in one of the previously added tests.
........
| author | R. David Murray <rdmurray@bitdance.com> |
|---|---|
| date | Thu, 16 Dec 2010 19:10:16 +0000 |
| parents | 979eb1bbf6e6 |
| children |
| rev | line source |
|---|---|
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 """Basic regular expression demostration facility (Perl style syntax).""" |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2 |
|
57145
979eb1bbf6e6
Merged revisions 76156 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
40587
diff
changeset
|
3 from tkinter import * |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 import re |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 class ReDemo: |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
7 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
8 def __init__(self, master): |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
9 self.master = master |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
11 self.promptdisplay = Label(self.master, anchor=W, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
12 text="Enter a Perl-style regular expression:") |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
13 self.promptdisplay.pack(side=TOP, fill=X) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
15 self.regexdisplay = Entry(self.master) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
16 self.regexdisplay.pack(fill=X) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
17 self.regexdisplay.focus_set() |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
18 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
19 self.addoptions() |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
21 self.statusdisplay = Label(self.master, text="", anchor=W) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
22 self.statusdisplay.pack(side=TOP, fill=X) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
24 self.labeldisplay = Label(self.master, anchor=W, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
25 text="Enter a string to search:") |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
26 self.labeldisplay.pack(fill=X) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
27 self.labeldisplay.pack(fill=X) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
28 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
29 self.showframe = Frame(master) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
30 self.showframe.pack(fill=X, anchor=W) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
31 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
32 self.showvar = StringVar(master) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
33 self.showvar.set("first") |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
35 self.showfirstradio = Radiobutton(self.showframe, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
36 text="Highlight first match", |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
37 variable=self.showvar, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
38 value="first", |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
39 command=self.recompile) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
40 self.showfirstradio.pack(side=LEFT) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
42 self.showallradio = Radiobutton(self.showframe, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
43 text="Highlight all matches", |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
44 variable=self.showvar, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
45 value="all", |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
46 command=self.recompile) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
47 self.showallradio.pack(side=LEFT) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
48 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
49 self.stringdisplay = Text(self.master, width=60, height=4) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
50 self.stringdisplay.pack(fill=BOTH, expand=1) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
51 self.stringdisplay.tag_configure("hit", background="yellow") |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
52 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
53 self.grouplabel = Label(self.master, text="Groups:", anchor=W) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
54 self.grouplabel.pack(fill=X) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
55 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
56 self.grouplist = Listbox(self.master) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
57 self.grouplist.pack(expand=1, fill=BOTH) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
58 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
59 self.regexdisplay.bind('<Key>', self.recompile) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
60 self.stringdisplay.bind('<Key>', self.reevaluate) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
61 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
62 self.compiled = None |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
63 self.recompile() |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
64 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
65 btags = self.regexdisplay.bindtags() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
66 self.regexdisplay.bindtags(btags[1:] + btags[:1]) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
67 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
68 btags = self.stringdisplay.bindtags() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
69 self.stringdisplay.bindtags(btags[1:] + btags[:1]) |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
71 def addoptions(self): |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
72 self.frames = [] |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
73 self.boxes = [] |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
74 self.vars = [] |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
75 for name in ('IGNORECASE', |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
76 'LOCALE', |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
77 'MULTILINE', |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
78 'DOTALL', |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
79 'VERBOSE'): |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
80 if len(self.boxes) % 3 == 0: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
81 frame = Frame(self.master) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
82 frame.pack(fill=X) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
83 self.frames.append(frame) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
84 val = getattr(re, name) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
85 var = IntVar() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
86 box = Checkbutton(frame, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
87 variable=var, text=name, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
88 offvalue=0, onvalue=val, |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
89 command=self.recompile) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
90 box.pack(side=LEFT) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
91 self.boxes.append(box) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
92 self.vars.append(var) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
93 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
94 def getflags(self): |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
95 flags = 0 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
96 for var in self.vars: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
97 flags = flags | var.get() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
98 flags = flags |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
99 return flags |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
100 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
101 def recompile(self, event=None): |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
102 try: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
103 self.compiled = re.compile(self.regexdisplay.get(), |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
104 self.getflags()) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
105 bg = self.promptdisplay['background'] |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
106 self.statusdisplay.config(text="", background=bg) |
|
40587
6b18a095c2e7
SF patch 1631942 by Collin Winter:
Guido van Rossum <guido@python.org>
parents:
31515
diff
changeset
|
107 except re.error as msg: |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
108 self.compiled = None |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
109 self.statusdisplay.config( |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
110 text="re.error: %s" % str(msg), |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
111 background="red") |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
112 self.reevaluate() |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
113 |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
114 def reevaluate(self, event=None): |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
115 try: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
116 self.stringdisplay.tag_remove("hit", "1.0", END) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
117 except TclError: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
118 pass |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
119 try: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
120 self.stringdisplay.tag_remove("hit0", "1.0", END) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
121 except TclError: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
122 pass |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
123 self.grouplist.delete(0, END) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
124 if not self.compiled: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
125 return |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
126 self.stringdisplay.tag_configure("hit", background="yellow") |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
127 self.stringdisplay.tag_configure("hit0", background="orange") |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
128 text = self.stringdisplay.get("1.0", END) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
129 last = 0 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
130 nmatches = 0 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
131 while last <= len(text): |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
132 m = self.compiled.search(text, last) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
133 if m is None: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
134 break |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
135 first, last = m.span() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
136 if last == first: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
137 last = first+1 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
138 tag = "hit0" |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
139 else: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
140 tag = "hit" |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
141 pfirst = "1.0 + %d chars" % first |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
142 plast = "1.0 + %d chars" % last |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
143 self.stringdisplay.tag_add(tag, pfirst, plast) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
144 if nmatches == 0: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
145 self.stringdisplay.yview_pickplace(pfirst) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
146 groups = list(m.groups()) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
147 groups.insert(0, m.group()) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
148 for i in range(len(groups)): |
|
31515
71a294bd7950
Replace backticks with repr() or "%r"
Walter Dörwald <walter@livinglogic.de>
parents:
15930
diff
changeset
|
149 g = "%2d: %r" % (i, groups[i]) |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
150 self.grouplist.insert(END, g) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
151 nmatches = nmatches + 1 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
152 if self.showvar.get() == "first": |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
153 break |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
154 |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
155 if nmatches == 0: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
156 self.statusdisplay.config(text="(no match)", |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
157 background="yellow") |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
158 else: |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
159 self.statusdisplay.config(text="") |
|
15054
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
160 |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
161 |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
162 # Main function, run when invoked as a stand-alone Python program. |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
163 |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
164 def main(): |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
165 root = Tk() |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
166 demo = ReDemo(root) |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
167 root.protocol('WM_DELETE_WINDOW', root.quit) |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
168 root.mainloop() |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
169 |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
170 if __name__ == '__main__': |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
171 main() |
