/[MITgcm]/mitgcm.org/devel/buildweb/pkg/swish-e/conf/example9.pl
ViewVC logotype

Annotation of /mitgcm.org/devel/buildweb/pkg/swish-e/conf/example9.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1.1.1 - (hide annotations) (download) (vendor branch)
Fri Sep 20 19:47:30 2002 UTC (22 years, 10 months ago) by adcroft
Branch: Import, MAIN
CVS Tags: baseline, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
Importing web-site building process.

1 adcroft 1.1 #!/usr/local/bin/perl -w
2     use strict;
3    
4     # This is a short example that basically does the same
5     # thing as the default file system access method by
6     # recursing directories, but also shows how to process different
7     # file types -- in this example pdf is converted to xml for indexing.
8    
9     # in this example, only .pdf and .config files are indexed.
10    
11     # the pdf2xml module is in the prog-bin directory of the swish-e distribution
12     use lib '../prog-bin';
13    
14     use File::Find; # for recursing a directory tree
15     use pdf2xml; # example module for pdf to xml conversion
16     # Not that you need IndexContents XML .pdf in the
17     # swish-e config file
18    
19     # See perldoc File::Find for information on following symbolic links
20    
21     use constant DEBUG => 0;
22    
23     # See if a directory was passed in via the SwishProgParameters swish
24     # directive
25    
26     my $dir = shift || '.';
27    
28     find(
29     {
30     wanted => \&wanted,
31     no_chdir => 1,
32     },
33     $dir,
34     );
35    
36     sub wanted {
37     return if -d;
38    
39     if ( /\.pdf$/ ) {
40     print STDERR "Indexing pdf $File::Find::name\n" if DEBUG;
41     print ${ pdf2xml( $File::Find::name ) };
42    
43     } elsif ( /\.config$/ ) {
44     print STDERR "Indexing $File::Find::name\n" if DEBUG;
45     print ${ get_content( $File::Find::name ) };
46    
47     } else {
48     print STDERR "Skipping $File::Find::name\n" if DEBUG;
49     }
50     }
51    
52    
53     sub get_content {
54     my $path = shift;
55    
56     my ( $size, $mtime ) = (stat $path )[7,9];
57     open FH, $path or die "$path: $!";
58    
59     my $content = <<EOF;
60     Content-Length: $size
61     Last-Mtime: $mtime
62     Path-Name: $path
63    
64     EOF
65     local $/ = undef;
66     $content .= <FH>;
67     return \$content;
68     }

  ViewVC Help
Powered by ViewVC 1.1.22