~exarkun/pyopenssl/trunk

« back to all changes in this revision

Viewing changes to doc/tools/node2label.pl

  • Committer: Jean-Paul Calderone
  • Date: 2011-09-11 19:49:43 UTC
  • mfrom: (156.3.22 sphinx-doc)
  • Revision ID: exarkun@divmod.com-20110911194943-ucaan2tzidk7ek5l
Convert the documentation from LaTeX/epytext to Sphinx/ReST

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/env perl
2
 
 
3
 
use English;
4
 
$INPLACE_EDIT = '';
5
 
 
6
 
# read the labels, then reverse the mappings
7
 
require "labels.pl";
8
 
 
9
 
%nodes = ();
10
 
my $key;
11
 
# sort so that we get a consistent assignment for nodes with multiple labels 
12
 
foreach $label (sort keys %external_labels) {
13
 
  $key = $external_labels{$label};
14
 
  $key =~ s|^/||;
15
 
  $nodes{$key} = $label;
16
 
}
17
 
 
18
 
# This adds the "internal" labels added for indexing.  These labels will not
19
 
# be used for file names.
20
 
require "internals.pl";
21
 
foreach $label (keys %internal_labels) {
22
 
  $key = $internal_labels{$label};
23
 
  $key =~ s|^/||;
24
 
  if (defined($nodes{$key})) {
25
 
    $nodes{$label} = $nodes{$key};
26
 
  }
27
 
}
28
 
 
29
 
# collect labels that have been used
30
 
%newnames = ();
31
 
 
32
 
while (<>) {
33
 
  # don't want to do one s/// per line per node
34
 
  # so look for lines with hrefs, then do s/// on nodes present
35
 
  if (/(HREF|href)=[\"\']([^\#\"\']*)html[\#\"\']/) {
36
 
    @parts = split(/(HREF|href)\=[\"\']/);
37
 
    shift @parts;
38
 
    for $node (@parts) {
39
 
      $node =~ s/[\#\"\'].*$//g;
40
 
      chop($node);
41
 
      if (defined($nodes{$node})) {
42
 
        $label = $nodes{$node};
43
 
        if (s/(HREF|href)=([\"\'])$node([\#\"\'])/href=$2$label.html$3/g) {
44
 
          s/(HREF|href)=([\"\'])$label.html/href=$2$label.html/g;
45
 
          $newnames{$node} = "$label.html";
46
 
        }
47
 
      }
48
 
    }
49
 
  }
50
 
  print;
51
 
}
52
 
 
53
 
foreach $oldname (keys %newnames) {
54
 
  rename($oldname, $newnames{$oldname});
55
 
}