diff options
| author | goodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2004-05-04 00:38:15 +0000 |
|---|---|---|
| committer | goodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2004-05-04 00:38:15 +0000 |
| commit | 1edd0cd8fca10c572d723608dac92e30f8e42ce2 (patch) | |
| tree | d93c4a6ac033a05d858b10261a964cf491ad6b89 /docutils/transforms/references.py | |
| parent | 00e17f6e2ad5d5ab863d00bb662dcf7e340b9275 (diff) | |
| download | docutils-1edd0cd8fca10c572d723608dac92e30f8e42ce2.tar.gz | |
Added specific error message for duplicate targets.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@2022 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/transforms/references.py')
| -rw-r--r-- | docutils/transforms/references.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/docutils/transforms/references.py b/docutils/transforms/references.py index 0e41dae84..2786cd562 100644 --- a/docutils/transforms/references.py +++ b/docutils/transforms/references.py @@ -217,13 +217,11 @@ class IndirectHyperlinks(Transform): reftarget_id = self.document.nameids.get(refname) if not reftarget_id: # Check the unknown_reference_resolvers - handled = 0 - for i in self.document.transformer.unknown_reference_resolvers: - print `target` - if i(target): - handled = 1 + for resolver_function in (self.document.transformer + .unknown_reference_resolvers): + if resolver_function(target): break - if not handled: + else: self.nonexistent_indirect_target(target) return reftarget = self.document.ids[reftarget_id] @@ -256,7 +254,11 @@ class IndirectHyperlinks(Transform): reftarget.referenced = 1 def nonexistent_indirect_target(self, target): - self.indirect_target_error(target, 'which does not exist') + if self.document.nameids.has_key(target['refname']): + self.indirect_target_error(target, 'which is a duplicate, and ' + 'cannot be used as a unique reference') + else: + self.indirect_target_error(target, 'which does not exist') def circular_indirect_reference(self, target): self.indirect_target_error(target, 'forming a circular reference') |
