Skip to content

Commit 778fcc1

Browse files
authored
Cosmetic and efficiency improvements to replace_referneces (#132)
1 parent f901007 commit 778fcc1

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

numpydoc/numpydoc.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,27 +39,28 @@
3939
def rename_references(app, what, name, obj, options, lines,
4040
reference_offset=[0]):
4141
# replace reference numbers so that there are no duplicates
42-
references = []
42+
references = set()
4343
for line in lines:
4444
line = line.strip()
4545
m = re.match(sixu('^.. \\[(%s)\\]') % app.config.numpydoc_citation_re,
4646
line, re.I)
4747
if m:
48-
references.append(m.group(1))
48+
references.add(m.group(1))
4949

5050
if references:
51-
for i, line in enumerate(lines):
52-
for r in references:
53-
if re.match(sixu('^\\d+$'), r):
54-
new_r = sixu("R%d") % (reference_offset[0] + int(r))
55-
else:
56-
new_r = sixu("%s%d") % (r, reference_offset[0])
51+
for r in references:
52+
if r.isdigit():
53+
new_r = sixu("R%d") % (reference_offset[0] + int(r))
54+
else:
55+
new_r = sixu("%s%d") % (r, reference_offset[0])
56+
57+
for i, line in enumerate(lines):
5758
lines[i] = lines[i].replace(sixu('[%s]_') % r,
5859
sixu('[%s]_') % new_r)
5960
lines[i] = lines[i].replace(sixu('.. [%s]') % r,
6061
sixu('.. [%s]') % new_r)
6162

62-
reference_offset[0] += len(references)
63+
reference_offset[0] += len(references)
6364

6465

6566
def mangle_docstrings(app, what, name, obj, options, lines):

0 commit comments

Comments
 (0)