Mercurial > cpython-lru_cache-weakref
annotate Tools/scripts/redemo.py @ 49955:878d40468c4e legacy-trunk
Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging.
| author | Vinay Sajip <vinay_sajip@yahoo.co.uk> |
|---|---|
| date | Wed, 03 Dec 2008 23:22:58 +0000 |
| parents | 71a294bd7950 |
| children | 6b18a095c2e7 7fb0abf928e0 |
| 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 |
|
08e6f1019171
I'm moving redemo.py here from Demo/tkinter/guido, since it is
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3 from Tkinter import * |
|
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) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
15054
diff
changeset
|
107 except re.error, msg: |
|
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() |
