X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=videosite%2FBase.pm;h=67ca218e3d33080405f44f81c33468d81c6f2ff3;hb=3ed1591b5189c9fd6474880b50ff9af831df6e16;hp=697bcfb8512ca11ab8d2464172e688524ae61d4f;hpb=ba82e0c6c4d0876245cd5541b5c4830b81b3dc5f;p=videosite.git diff --git a/videosite/Base.pm b/videosite/Base.pm index 697bcfb..67ca218 100644 --- a/videosite/Base.pm +++ b/videosite/Base.pm @@ -1,15 +1,17 @@ # (c) 2007 by Ralf Ertzinger # licensed under GNU GPL v2 -package Base; +package videosite::Base; use strict; +use LWP::UserAgent; +use HTTP::Cookies; use Data::Dumper; sub new { my $class = shift; my $self = {'_DEBUG' => 0, '_OUT' => sub {print shift}}; - + bless($self, $class); $self->_prepare_parameters(); @@ -19,11 +21,11 @@ sub new { sub error { my $self = shift; - my $t; + my @data = @_; + + $data[0] = "(" . ref($self) . ") " . $data[0]; - $t = sprintf(shift(@_), @_); - $t =~ s/%/%%/g; - $self->{'_OUT'}($t); + $self->{'_OUT'}(@data); } sub debug { @@ -111,6 +113,30 @@ sub getconfstr { return $s; } +# Return a list of the parameters supported by the module +# Does not return the 'enabled' parameter +sub getparamlist { + my $self = shift; + my $word = shift; + + return grep {$_ ne 'enabled' && /^$word/} keys %{$self->{'_PARAMS'}}; +} + +# Return a list of valid parameter values, if the parameter has +# such a list. +sub getparamvalues { + my $self = shift; + my $param = shift; + my $word = shift; + + unless(exists($self->{'_PARAMS'}->{$param}->[2])) { + return (); + } else { + return grep {/^$word/} keys %{$self->{'_PARAMS'}->{$param}->[2]}; + } +} + + sub gethelpstr { my $self = shift; my $s = 'Help for ' . $self->{'NAME'} . ":\n"; @@ -146,4 +172,10 @@ sub setdebug { $self->{'_DEBUG'} = shift; } +sub ua { + my $self = shift; + + return LWP::UserAgent->new('agent' => 'Mozilla/5.0', 'cookie_jar' => HTTP::Cookies->new); +} + 1;