Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f2c64ed

Browse files
committed
Merge improvements to the suspicious builder and cleanup from 3.3.
2 parents 1bab713 + a5d55ba commit f2c64ed

2 files changed

Lines changed: 13 additions & 112 deletions

File tree

Doc/tools/sphinxext/susp-ignored.csv

Lines changed: 2 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
c-api/arg,,:ref,"PyArg_ParseTuple(args, ""O|O:ref"", &object, &callback)"
22
c-api/list,,:high,list[low:high]
3-
c-api/list,,:high,list[low:high] = itemlist
43
c-api/sequence,,:i2,del o[i1:i2]
54
c-api/sequence,,:i2,o[i1:i2]
6-
c-api/sequence,,:i2,o[i1:i2] = v
75
c-api/unicode,,:end,str[start:end]
86
c-api/unicode,,:start,unicode[start:start+length]
97
distutils/examples,267,`,This is the description of the ``foobar`` package.
@@ -18,9 +16,6 @@ faq/programming,,::,for x in sequence[::-1]:
1816
faq/programming,,:reduce,"print((lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y,"
1917
faq/programming,,:reduce,"Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro,"
2018
faq/windows,,:bd8afb90ebf2,"Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)] on win32"
21-
faq/windows,229,:EOF,@setlocal enableextensions & python -x %~f0 %* & goto :EOF
22-
faq/windows,393,:REG,.py :REG_SZ: c:\<path to python>\python.exe -u %s %s
23-
howto/cporting,,:add,"if (!PyArg_ParseTuple(args, ""ii:add_ints"", &one, &two))"
2419
howto/cporting,,:encode,"if (!PyArg_ParseTuple(args, ""O:encode_object"", &myobj))"
2520
howto/cporting,,:say,"if (!PyArg_ParseTuple(args, ""U:say_hello"", &name))"
2621
howto/curses,,:black,"They are: 0:black, 1:red, 2:green, 3:yellow, 4:blue, 5:magenta, 6:cyan, and"
@@ -35,38 +30,25 @@ howto/ipaddress,,:DB8,>>> ipaddress.ip_address('2001:DB8::1')
3530
howto/ipaddress,,::,>>> ipaddress.ip_address('2001:DB8::1')
3631
howto/ipaddress,,:db8,IPv6Address('2001:db8::1')
3732
howto/ipaddress,,::,IPv6Address('2001:db8::1')
38-
howto/ipaddress,,:db8,IPv6Address('2001:db8::1')
39-
howto/ipaddress,,::,IPv6Address('2001:db8::1')
4033
howto/ipaddress,,::,IPv6Address('::1')
4134
howto/ipaddress,,:db8,>>> ipaddress.ip_network('2001:db8::0/96')
4235
howto/ipaddress,,::,>>> ipaddress.ip_network('2001:db8::0/96')
4336
howto/ipaddress,,:db8,IPv6Network('2001:db8::/96')
4437
howto/ipaddress,,::,IPv6Network('2001:db8::/96')
4538
howto/ipaddress,,:db8,IPv6Network('2001:db8::/128')
4639
howto/ipaddress,,::,IPv6Network('2001:db8::/128')
47-
howto/ipaddress,,:db8,>>> ipaddress.ip_network('2001:db8::1/96')
48-
howto/ipaddress,,::,>>> ipaddress.ip_network('2001:db8::1/96')
4940
howto/ipaddress,,:db8,IPv6Interface('2001:db8::1/96')
5041
howto/ipaddress,,::,IPv6Interface('2001:db8::1/96')
5142
howto/ipaddress,,:db8,>>> addr6 = ipaddress.ip_address('2001:db8::1')
5243
howto/ipaddress,,::,>>> addr6 = ipaddress.ip_address('2001:db8::1')
5344
howto/ipaddress,,:db8,>>> host6 = ipaddress.ip_interface('2001:db8::1/96')
5445
howto/ipaddress,,::,>>> host6 = ipaddress.ip_interface('2001:db8::1/96')
55-
howto/ipaddress,,:db8,IPv6Network('2001:db8::/96')
56-
howto/ipaddress,,::,IPv6Network('2001:db8::/96')
57-
howto/ipaddress,,:db8,>>> net6 = ipaddress.ip_network('2001:db8::0/96')
58-
howto/ipaddress,,::,>>> net6 = ipaddress.ip_network('2001:db8::0/96')
5946
howto/ipaddress,,:db8,>>> net6 = ipaddress.ip_network('2001:db8::0/96')
6047
howto/ipaddress,,::,>>> net6 = ipaddress.ip_network('2001:db8::0/96')
6148
howto/ipaddress,,:ffff,IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff::')
6249
howto/ipaddress,,::,IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff::')
6350
howto/ipaddress,,::,IPv6Address('::ffff:ffff')
6451
howto/ipaddress,,:ffff,IPv6Address('::ffff:ffff')
65-
howto/ipaddress,,::,IPv6Address('2001::1')
66-
howto/ipaddress,,::,IPv6Address('2001::ffff:ffff')
67-
howto/ipaddress,,:ffff,IPv6Address('2001::ffff:ffff')
68-
howto/ipaddress,,:db8,'2001:db8::'
69-
howto/ipaddress,,::,'2001:db8::'
7052
howto/ipaddress,,:db8,'2001:db8::/96'
7153
howto/ipaddress,,::,'2001:db8::/96'
7254
howto/ipaddress,,:db8,>>> ipaddress.ip_interface('2001:db8::1/96')
@@ -103,7 +85,6 @@ howto/pyporting,75,::,'Programming Language :: Python :: 3'
10385
howto/regex,,::,
10486
howto/regex,,:foo,(?:foo)
10587
howto/urllib2,,:example,"for example ""joe@password:example.com"""
106-
howto/webservers,,.. image:,.. image:: http.png
10788
library/audioop,,:ipos,"# factor = audioop.findfactor(in_test[ipos*2:ipos*2+len(out_test)],"
10889
library/bisect,32,:hi,all(val >= x for val in a[i:hi])
10990
library/bisect,42,:hi,all(val > x for val in a[i:hi])
@@ -112,10 +93,7 @@ library/configparser,,:home,my_dir: ${Common:home_dir}/twosheds
11293
library/configparser,,:option,${section:option}
11394
library/configparser,,:path,python_dir: ${Frameworks:path}/Python/Versions/${Frameworks:Python}
11495
library/configparser,,:Python,python_dir: ${Frameworks:path}/Python/Versions/${Frameworks:Python}
115-
library/configparser,,`,# Set the optional `raw` argument of get() to True if you wish to disable
11696
library/configparser,,:system,path: ${Common:system_dir}/Library/Frameworks/
117-
library/configparser,,`,# The optional `fallback` argument can be used to provide a fallback value
118-
library/configparser,,`,# The optional `vars` argument is a dict with members that will take
11997
library/datetime,,:MM,
12098
library/datetime,,:SS,
12199
library/decimal,,:optional,"trailneg:optional trailing minus indicator"
@@ -124,16 +102,13 @@ library/difflib,,:bhi,b[blo:bhi]
124102
library/difflib,,:i1,
125103
library/difflib,,:i2,
126104
library/difflib,,:j2,
127-
library/dis,,:TOS,
128-
library/dis,,`,TOS = `TOS`
129105
library/doctest,,`,``factorial`` from the ``example`` module:
130106
library/doctest,,`,The ``example`` module
131107
library/doctest,,`,Using ``factorial``
132108
library/exceptions,,:err,err.object[err.start:err.end]
133109
library/functions,,:step,a[start:stop:step]
134110
library/functions,,:stop,"a[start:stop, i]"
135111
library/functions,,:stop,a[start:stop:step]
136-
library/hotshot,,:lineno,"ncalls tottime percall cumtime percall filename:lineno(function)"
137112
library/http.client,,:port,host:port
138113
library/http.cookies,,`,!#$%&'*+-.^_`|~:
139114
library/imaplib,,:MM,"""DD-Mmm-YYYY HH:MM:SS"
@@ -149,66 +124,27 @@ library/ipaddress,,:db8,>>> ipaddress.IPv6Address('2001:db8::1000')
149124
library/ipaddress,,::,>>> ipaddress.IPv6Address('2001:db8::1000')
150125
library/ipaddress,,:db8,IPv6Address('2001:db8::1000')
151126
library/ipaddress,,::,IPv6Address('2001:db8::1000')
152-
library/ipaddress,,:db8,>>> ipaddress.IPv6Interface('2001:db8::1000/96')
153-
library/ipaddress,,::,>>> ipaddress.IPv6Interface('2001:db8::1000/96')
154-
library/ipaddress,,:db8,IPv6Interface('2001:db8::1000/96')
155-
library/ipaddress,,::,IPv6Interface('2001:db8::1000/96')
156-
library/ipaddress,,:db8,>>> ipaddress.IPv6Interface('2001:db8::1000/96').network
157-
library/ipaddress,,::,>>> ipaddress.IPv6Interface('2001:db8::1000/96').network
158-
library/ipaddress,,:db8,IPv6Network('2001:db8::/96')
159-
library/ipaddress,,::,IPv6Network('2001:db8::/96')
160-
library/ipaddress,,:db8,>>> ipaddress.IPv6Network('2001:db8::/96')
161-
library/ipaddress,,::,>>> ipaddress.IPv6Network('2001:db8::/96')
162-
library/ipaddress,,:db8,IPv6Network('2001:db8::/96')
163-
library/ipaddress,,::,IPv6Network('2001:db8::/96')
164-
library/ipaddress,,:db8,>>> ipaddress.IPv6Network('2001:db8::/96').netmask
165-
library/ipaddress,,::,>>> ipaddress.IPv6Network('2001:db8::/96').netmask
166-
library/ipaddress,,:ffff,IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff::')
167-
library/ipaddress,,::,IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff::')
168-
library/ipaddress,,:db8,">>> ipaddress.IPv6Network('2001:db8::1000/96', strict=False)"
169-
library/ipaddress,,::,">>> ipaddress.IPv6Network('2001:db8::1000/96', strict=False)"
170127
library/ipaddress,,::,"""::abc:7:def"""
171128
library/ipaddress,,:def,"""::abc:7:def"""
172129
library/ipaddress,,::,::FFFF/96
173130
library/ipaddress,,::,2002::/16
174131
library/ipaddress,,::,2001::/32
175132
library/ipaddress,,::,>>> str(ipaddress.IPv6Address('::1'))
176133
library/ipaddress,,::,'::1'
177-
library/ipaddress,,::,>>> int(ipaddress.IPv6Address('::1'))
178134
library/ipaddress,,:ff00,ffff:ff00::
179135
library/ipaddress,,:db00,2001:db00::0/24
180136
library/ipaddress,,::,2001:db00::0/24
181137
library/ipaddress,,:db00,2001:db00::0/ffff:ff00::
182138
library/ipaddress,,::,2001:db00::0/ffff:ff00::
183-
library/ipaddress,,:ff00,2001:db00::0/ffff:ff00::
184139
library/itertools,,:step,elements from seq[start:stop:step]
185140
library/itertools,,:stop,elements from seq[start:stop:step]
186141
library/linecache,,:sys,"sys:x:3:3:sys:/dev:/bin/sh"
187-
library/logging,,:And,
188-
library/logging,,:Doing,INFO:root:Doing something
189-
library/logging,,:Finished,INFO:root:Finished
190-
library/logging,,:logger,severity:logger name:message
191-
library/logging,,:Look,WARNING:root:Look before you leap!
192-
library/logging,,:message,severity:logger name:message
193-
library/logging,,:package1,
194-
library/logging,,:package2,
195-
library/logging,,:port,host:port
196-
library/logging,,:root,
197-
library/logging,,:So,INFO:root:So should this
198-
library/logging,,:So,INFO:So should this
199-
library/logging,,:Started,INFO:root:Started
200-
library/logging,,:This,
201-
library/logging,,:Watch,WARNING:root:Watch out!
202142
library/logging.handlers,,:port,host:port
203143
library/mmap,,:i2,obj[i1:i2]
204144
library/multiprocessing,,`,# Add more tasks using `put()`
205145
library/multiprocessing,,`,# A test file for the `multiprocessing` package
206146
library/multiprocessing,,`,# A test of `multiprocessing.Pool` class
207147
library/multiprocessing,,`,# `BaseManager`.
208-
library/multiprocessing,,`,`Cluster` is a subclass of `SyncManager` so it allows creation of
209-
library/multiprocessing,,`,# create server for a `HostManager` object
210-
library/multiprocessing,,`,# Depends on `multiprocessing` package -- tested with `processing-0.60`
211-
library/multiprocessing,,`,`hostname` gives the name of the host. If hostname is not
212148
library/multiprocessing,,`,# in the original order then consider using `Pool.map()` or
213149
library/multiprocessing,,`,">>> l._callmethod('__getitem__', (20,)) # equiv to `l[20]`"
214150
library/multiprocessing,,`,">>> l._callmethod('__getslice__', (2, 7)) # equiv to `l[2:7]`"
@@ -219,44 +155,25 @@ library/multiprocessing,,:queue,">>> QueueManager.register('get_queue', callable
219155
library/multiprocessing,,`,# register the Foo class; make `f()` and `g()` accessible via proxy
220156
library/multiprocessing,,`,# register the Foo class; make `g()` and `_h()` accessible via proxy
221157
library/multiprocessing,,`,# register the generator function baz; use `GeneratorProxy` to make proxies
222-
library/multiprocessing,,`,`slots` is used to specify the number of slots for processes on
223158
library/nntplib,,:bytes,:bytes
224-
library/nntplib,,:bytes,"['xref', 'from', ':lines', ':bytes', 'references', 'date', 'message-id', 'subject']"
225159
library/nntplib,,:lines,:lines
226-
library/nntplib,,:lines,"['xref', 'from', ':lines', ':bytes', 'references', 'date', 'message-id', 'subject']"
227160
library/optparse,,:len,"del parser.rargs[:len(value)]"
228161
library/os.path,,:foo,c:foo
229-
library/parser,,`,"""Make a function that raises an argument to the exponent `exp`."""
230162
library/pdb,,:lineno,filename:lineno
231-
library/pdb,,:lineno,[filename:lineno | bpnumber [bpnumber ...]]
232163
library/pickle,,:memory,"conn = sqlite3.connect("":memory:"")"
233164
library/posix,,`,"CFLAGS=""`getconf LFS_CFLAGS`"" OPT=""-g -O2 $CFLAGS"""
234165
library/pprint,,::,"'Programming Language :: Python :: 2 :: Only'],"
235-
library/pprint,209,::,"'classifiers': ['Development Status :: 4 - Beta',"
236-
library/pprint,209,::,"'Intended Audience :: Developers',"
237-
library/pprint,209,::,"'License :: OSI Approved :: MIT License',"
238-
library/pprint,209,::,"'Natural Language :: English',"
239-
library/pprint,209,::,"'Operating System :: OS Independent',"
240-
library/pprint,209,::,"'Programming Language :: Python',"
241-
library/pprint,209,::,"'Programming Language :: Python :: 2',"
242-
library/pprint,209,::,"'Programming Language :: Python :: 2.6',"
243-
library/pprint,209,::,"'Programming Language :: Python :: 2.7',"
244-
library/pprint,209,::,"'Topic :: Software Development :: Libraries',"
245-
library/pprint,209,::,"'Topic :: Software Development :: Libraries :: Python Modules'],"
166+
library/pprint,,::,"'Programming Language :: Python :: 2.6',"
167+
library/pprint,,::,"'Programming Language :: Python :: 2.7',"
246168
library/profile,,:lineno,filename:lineno(function)
247-
library/profile,,:lineno,ncalls tottime percall cumtime percall filename:lineno(function)
248-
library/profile,,:lineno,"(sort by filename:lineno),"
249169
library/pyexpat,,:elem1,<py:elem1 />
250170
library/pyexpat,,:py,"xmlns:py = ""http://www.python.org/ns/"">"
251-
library/repr,,`,"return `obj`"
252-
library/smtplib,,:port,"as well as a regular host:port server."
253171
library/smtplib,,:port,method must support that as well as a regular host:port
254172
library/socket,,::,"(10, 1, 6, '', ('2001:888:2000:d::a2', 80, 0, 0))]"
255173
library/socket,,::,'5aef:2b::8'
256174
library/socket,,:can,"return (can_id, can_dlc, data[:can_dlc])"
257175
library/socket,,:len,fds.fromstring(cmsg_data[:len(cmsg_data) - (len(cmsg_data) % fds.itemsize)])
258176
library/sqlite3,,:age,"cur.execute(""select * from people where name_last=:who and age=:age"", {""who"": who, ""age"": age})"
259-
library/sqlite3,,:age,"select name_last, age from people where name_last=:who and age=:age"
260177
library/sqlite3,,:memory,
261178
library/sqlite3,,:who,"cur.execute(""select * from people where name_last=:who and age=:age"", {""who"": who, ""age"": age})"
262179
library/sqlite3,,:path,"db = sqlite3.connect('file:path/to/database?mode=ro', uri=True)"
@@ -274,7 +191,6 @@ library/stdtypes,,::,>>> hash(v[::-2]) == hash(b'abcefg'[::-2])
274191
library/stdtypes,,:len,s[len(s):len(s)]
275192
library/stdtypes,,::,>>> y = m[::2]
276193
library/stdtypes,,::,>>> z = y[::-2]
277-
library/string,,:end,s[start:end]
278194
library/subprocess,,`,"output=`dmesg | grep hda`"
279195
library/subprocess,,`,"output=`mycmd myarg`"
280196
library/tarfile,,:bz2,
@@ -286,8 +202,6 @@ library/tarfile,,:xz,'w:xz'
286202
library/time,,:mm,
287203
library/time,,:ss,
288204
library/turtle,,::,Example::
289-
library/urllib2,,:password,"""joe:[email protected]"""
290-
library/urllib,,:port,:port
291205
library/urllib.request,,:close,Connection:close
292206
library/urllib.request,,:lang,"xmlns=""http://www.w3.org/1999/xhtml"" xml:lang=""en"" lang=""en"">\n\n<head>\n"
293207
library/urllib.request,,:password,"""joe:[email protected]"""
@@ -306,16 +220,7 @@ license,,`,THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AN
306220
license,,`,* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
307221
license,,`,THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
308222
license,,:zooko,mailto:[email protected]
309-
reference/datamodel,,:max,
310-
reference/datamodel,,:step,a[i:j:step]
311-
reference/expressions,,:datum,{key:datum...}
312-
reference/expressions,,`,`expressions...`
313223
reference/expressions,,:index,x[index:index]
314-
reference/grammar,,:output,#diagram:output
315-
reference/grammar,,:rules,#diagram:rules
316-
reference/grammar,,`,'`' testlist1 '`'
317-
reference/grammar,,:token,#diagram:token
318-
reference/lexical_analysis,,`,", : . ` = ;"
319224
reference/lexical_analysis,,`,$ ? `
320225
reference/lexical_analysis,,:fileencoding,# vim:fileencoding=<encoding-name>
321226
tutorial/datastructures,,:value,It is also possible to delete a key:value
@@ -363,15 +268,12 @@ whatsnew/3.2,,:cafe,"netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]',"
363268
whatsnew/3.2,,:cafe,>>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/')
364269
whatsnew/3.2,,:deaf,"netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]',"
365270
whatsnew/3.2,,:deaf,>>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/')
366-
whatsnew/3.2,,:directory,... ${buildout:directory}/downloads/dist
367271
whatsnew/3.2,,:directory,${buildout:directory}/downloads/dist
368272
whatsnew/3.2,,::,"$ export PYTHONWARNINGS='ignore::RuntimeWarning::,once::UnicodeWarning::'"
369273
whatsnew/3.2,,:feed,"netloc='[dead:beef:cafe:5417:affe:8FA3:deaf:feed]',"
370274
whatsnew/3.2,,:feed,>>> urllib.parse.urlparse('http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/')
371275
whatsnew/3.2,,:gz,">>> with tarfile.open(name='myarchive.tar.gz', mode='w:gz') as tf:"
372-
whatsnew/3.2,,:location,... zope9-location = ${zope9:location}
373276
whatsnew/3.2,,:location,zope9-location = ${zope9:location}
374-
whatsnew/3.2,,:prefix,... zope-conf = ${custom:prefix}/etc/zope.conf
375277
whatsnew/3.2,,:prefix,zope-conf = ${custom:prefix}/etc/zope.conf
376278
whatsnew/changelog,,:platform,:platform:
377279
whatsnew/changelog,,:password,: Unquote before b64encoding user:password during Basic
@@ -380,15 +282,3 @@ whatsnew/changelog,,:PythonCmd,"With Tk < 8.5 _tkinter.c:PythonCmd() raised Unic
380282
whatsnew/changelog,,:close,: Connection:close header is sent by requests using URLOpener
381283
whatsnew/changelog,,::,": Fix FTP tests for IPv6, bind to ""::1"" instead of ""localhost""."
382284
whatsnew/changelog,,:test,: test_subprocess:test_leaking_fds_on_error no longer gives a
383-
whatsnew/news,,:platform,:platform:
384-
whatsnew/news,,:password,: Unquote before b64encoding user:password during Basic
385-
whatsnew/news,,:close,Connection:close header.
386-
whatsnew/news,,:PythonCmd,"With Tk < 8.5 _tkinter.c:PythonCmd() raised UnicodeDecodeError, caused"
387-
whatsnew/news,,:close,: Connection:close header is sent by requests using URLOpener
388-
whatsnew/news,,::,": Fix FTP tests for IPv6, bind to ""::1"" instead of ""localhost""."
389-
whatsnew/news,,:test,: test_subprocess:test_leaking_fds_on_error no longer gives a
390-
whatsnew/news,,:test,: Fix test_posix:test_getgroups failure under Solaris. Patch
391-
whatsnew/news,,:Olimit,Drop -OPT:Olimit compiler option.
392-
whatsnew/news,,:MAXYEAR,timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
393-
whatsnew/news,,:bz2,with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or
394-
whatsnew/news,,:db2,: Add configure option --with-dbmliborder=db1:db2:... to specify

Doc/tools/sphinxext/suspicious.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ def __init__(self, docname, lineno, issue, line):
6868
# None -> don't care
6969
self.issue = issue # the markup fragment that triggered this rule
7070
self.line = line # text of the container element (single line only)
71+
self.used = False
72+
73+
def __repr__(self):
74+
return '{0.docname},,{0.issue},{0.line}'.format(self)
7175

7276

7377

@@ -107,6 +111,12 @@ def write_doc(self, docname, doctree):
107111
doctree.walk(visitor)
108112

109113
def finish(self):
114+
unused_rules = [rule for rule in self.rules if not rule.used]
115+
if unused_rules:
116+
self.warn('Found %s/%s unused rules:' %
117+
(len(unused_rules), len(self.rules)))
118+
for rule in unused_rules:
119+
self.info(repr(rule))
110120
return
111121

112122
def check_issue(self, line, lineno, issue):
@@ -131,6 +141,7 @@ def is_ignored(self, line, lineno, issue):
131141
if (rule.lineno is not None) and \
132142
abs(rule.lineno - lineno) > 5: continue
133143
# if it came this far, the rule matched
144+
rule.used = True
134145
return True
135146
return False
136147

0 commit comments

Comments
 (0)