ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/ActiveDoc/SimpleURLDoc.pm
(Generate patch)

Comparing COMP/SCRAM/src/ActiveDoc/SimpleURLDoc.pm (file contents):
Revision 1.5 by sashby, Wed Feb 2 20:16:45 2005 UTC vs.
Revision 1.6 by sashby, Tue Feb 27 11:59:42 2007 UTC

# Line 10 | Line 10
10   # ---------
11   # new(URLcache[,DocVersionTag]  : A new SimpleURLDoc object. You can also
12   #                                 specify an alternative doc version tag
13 # addbasetags(parse)    : Add Base Tags to the given parse
13   # urlget(urlstring[,location]) : get the given url - using the cache.
14   #                                Returns (url, filename)
15   # urldownload(urlstring[,location]) : get the given url ignoring any cached
# Line 18 | Line 17
17   # expandurl(urlstring)  : return a URLclass object of the given url expanded
18   #                         according to the base settings
19   # cache([cache])        : get/set the current URL cache
21 # doctype()             : return the (type,version) of the document
22 #                         as specified by the DocVersionTag
20  
21   package ActiveDoc::SimpleURLDoc;
22   use ActiveDoc::SimpleDoc;
# Line 27 | Line 24 | use URL::URLhandler;
24   require 5.001;
25   @ISA=qw(ActiveDoc::SimpleDoc);
26  
27 < sub new {
28 <        my $class=shift;
29 <        my $self={};
30 <        bless $self, $class;
31 <        $self->cache(shift);
32 <        $self->_initdoc("doc",@_);
33 <        return $self;
34 < }
35 <
36 < sub addbasetags {
37 <        my $self=shift;
38 <        my $parse=shift;
39 <
40 <        $self->addtag($parse,"base", \&Base_start, $self,
41 <                                     "", $self,
42 <                                     \&Base_end,$self);
43 < }
44 <
45 < sub cache {
46 <        my $self=shift;
47 <        if ( @_ ) {
48 <          $self->{cache}=shift;
49 <          $self->{urlhandler}=URL::URLhandler->new($self->{cache});
50 <        }
51 <        return $self->{cache};
52 < }
53 <
54 < sub expandurl {
55 <        my $self=shift;
56 <        my $urlstring=shift;
57 <
58 <        return $self->{urlhandler}->expandurl($urlstring);
59 < }
60 <
61 < sub urldownload {
62 <        my $self=shift;
63 <        my $urlstring=shift;
64 <
65 <        ($fullurl,$filename)=$self->{urlhandler}->download($urlstring, @_);
66 <        if ( ( ! defined $filename ) || ( $filename eq "" ) ) {
67 <          $self->parseerror("Failed to get $fullurl");
68 <        }
69 <        return ($fullurl,$filename);
70 < }
71 <
72 < sub urlget {
73 <        my $self=shift;
74 <        my $urlstring=shift;
78 <
79 <        ($fullurl,$filename)=$self->{urlhandler}->get($urlstring, @_);
27 > sub new()
28 >   {
29 >   my $class=shift;
30 >   my $self={};
31 >   bless $self, $class;
32 >   my ($cache)=@_;
33 >   $self->cache($cache);
34 >   return $self;
35 >   }
36 >
37 > sub cache()
38 >   {
39 >   my $self=shift;
40 >   if ( @_ )
41 >      {
42 >      $self->{cache}=shift;
43 >      $self->{urlhandler}=URL::URLhandler->new($self->{cache});
44 >      }
45 >   return $self->{cache};
46 >   }
47 >
48 > sub expandurl()
49 >   {
50 >   my $self=shift;
51 >   my $urlstring=shift;
52 >  
53 >   return $self->{urlhandler}->expandurl($urlstring);
54 >   }
55 >
56 > sub urldownload()
57 >   {
58 >   my $self=shift;
59 >   my $urlstring=shift;
60 >  
61 >   ($fullurl,$filename)=$self->{urlhandler}->download($urlstring, @_);
62 >   if ( ( ! defined $filename ) || ( $filename eq "" ) )
63 >      {
64 >      $self->parseerror("Failed to get $fullurl");
65 >      }
66 >   return ($fullurl,$filename);
67 >   }
68 >
69 > sub urlget()
70 >   {
71 >   my $self=shift;
72 >   my $urlstring=shift;
73 >  
74 >   ($fullurl,$filename)=$self->{urlhandler}->get($urlstring, @_);
75          
76 <        if ( ( ! defined $filename ) || ( $filename eq "" ) ) {
77 <          $self->parseerror("Failed to get $fullurl");
78 <        }
79 <        return ($fullurl,$filename);
80 < }
81 <
87 < # ------------------------ Support Routines ---------------------------
76 >   if ( ( ! defined $filename ) || ( $filename eq "" ) )
77 >      {
78 >      $self->parseerror("Failed to get $fullurl");
79 >      }
80 >   return ($fullurl,$filename);
81 >   }
82  
83   # ------------------------ Tag Routines -------------------------------
84 + sub base()
85 +   {
86 +   my $self=shift;
87 +   my (%attributes)=@_;
88 +   my $url=$self->{urlhandler}->setbase($attributes{'url'});
89 +   # Add store for url of the file currently being parsed. This info can
90 +   # then be extracted in Requirements objects
91 +   $self->{configurl}=$url;
92 +   push @{$self->{basestack}}, $url->type();
93 +   }
94 +
95 + sub base_()
96 +   {
97 +   my $self=shift;
98 +   if ( $#{$self->{basestack}} >= 0 )
99 +      {
100 +      my $type=pop @{$self->{basestack}};
101 +      $self->{urlhandler}->unsetbase($type);
102 +      }
103 +   else
104 +      {
105 +      $self->parseerror("Unmatched <$name>");
106 +      }
107 +   }
108  
109 < sub Base_start {
92 <        my $self=shift;
93 <        my $name=shift;
94 <        my $hashref=shift;
95 <
96 <        $self->checktag($name, $hashref, "url");
97 <        my $url=$self->{urlhandler}->setbase($$hashref{'url'});
98 <        # Add store for url of the file currently being parsed. This info can
99 <        # then be extracted in Requirements objects
100 <        $self->{configurl}=$url;
101 <        push @{$self->{basestack}}, $url->type();
102 < }
103 <
104 < sub Base_end {
105 <        my $self=shift;
106 <        if ( $#{$self->{basestack}} >= 0 ) {
107 <          my $type=pop @{$self->{basestack}};
108 <          $self->{urlhandler}->unsetbase($type);
109 <        }
110 <        else {
111 <          $self->parseerror("Unmatched <$name>");
112 <        }
113 < }
109 > 1;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines