+++ /dev/null
-#!/usr/bin/perl -w
-use strict;
-
-use LWP::UserAgent;
-use URI::Escape;
-
-my $usage = <<EOHELP;
-loadPredefinedStylesheets.pl [ uwobo_panel_conf_file ]
-loadPredefinedStylesheets.pl { -u | --unload } [ uwobo_panel_conf_file ]
-loadPredefinedStylesheets.pl { -r | --reload } [ uwobo_panel_conf_file ]
-loadPredefinedStylesheets.pl { -h | --help } [ uwobo_panel_conf_file ]
-
-If uwobo_panel_conf_file is provided, it's used as HTML file from which
-parse XSLT stylesheets, otherwise UWOBO_PANEL_CONF environment variable
-is used.
-EOHELP
-
-sub getPredefinedStylesheets ($) {
- my $confile = shift;
- my %stylesconf;
- my $inForm = 0; # currenlty inside 'predefinedStylesheets' form
- open(CONF, "< $confile") || die "Can't open $confile";
- while(my $l = <CONF>) {
- chomp($l);
- if (not $inForm) {
- if ($l =~ /<form name="predefinedStylesheets">/) {
- $inForm = 1;
- }
- } else { # in form
- if ($l =~ /<\/form>/) {
- $inForm = 0;
- } elsif ($l =~ /<option value="[^"]+">/) {
- my $val = $l;
- $val =~ s/.*<option value="([^"]+)".*>/$1/;
- my ($key, $ur, $use_getter) = split /,/, $val;
- $stylesconf{$key}[0] = $ur;
- if ($use_getter =~ /true/) {
- $use_getter = 1;
- } elsif ($use_getter =~ /false/) {
- $use_getter = 0;
- } else {
- die "Unknown value '$use_getter' for 'use_getter' field.";
- }
- $stylesconf{$key}[1] = $use_getter;
- }
- }
- }
- close(CONF);
- return %stylesconf;
-}
-
-my $action = "load";
-my $opt = shift || "";
-die $usage if (($opt eq "-h") or ($opt eq "--help"));
-if (($opt eq "-u") or ($opt eq "--unload")) {
- $action = "unload";
-} elsif (($opt eq "-r") or ($opt eq "--reload")) {
- $action = "reload";
-} else {
- unshift (@ARGV, $opt);
-}
-my $confile =
- shift || $ENV{"UWOBO_PANEL_CONF"} || die "UWOBO_PANEL_CONF not defined";
-my $getter_url = $ENV{"HELM_GETTER_URL"} || die "HELM_GETTER_URL not defined";
-my $uwobo_url = $ENV{"HELM_UWOBO_URL"} || die "HELM_UWOBO_URL not defined";
-my %styles = getPredefinedStylesheets($confile);
-my $request_url = "";
-
-if ($action eq "load") { # load predefined stylesheets
- foreach my $k (keys %styles) {
- $request_url .= "&" unless ($request_url eq "");
- my $ur = $styles{$k}[0];
- my $use_getter = $styles{$k}[1];
- $request_url .= "bind=$k,";
- my $tmp = "";
- if ($use_getter) {
- $tmp .= $getter_url . "/getxslt?uri="
- }
- $tmp .= $ur;
- $request_url .= uri_escape($tmp);
- }
- $request_url = $uwobo_url . "/add?$request_url";
-
-} elsif ($action eq "unload") { # unload predefined stylesheets
- $request_url = $uwobo_url . "/remove?keys=" . join(',', keys %styles);
-
-} elsif ($action eq "reload") { # reload predefined stylesheets
- $request_url = $uwobo_url . "/reload?keys=" . join(',', keys %styles);
-
-} else { # unknown action
- die "Unknown action '$action'";
-}
-
-my $agent = LWP::UserAgent->new();
-my $response = $agent->get($request_url);
-print $response->as_string();
-# print "$request_url\n";
-