rewrite options sub for weblink

This commit is contained in:
Marko Oldenburg 2019-03-18 13:17:55 +01:00
parent e3e7e4980f
commit 41cd7113f4

View File

@ -715,25 +715,8 @@ sub WeatherIconIMGTag($) {
sub WeatherAsHtmlV($;$$) { sub WeatherAsHtmlV($;$$) {
my ( $d, $op1, $op2 ) = @_; my ( $d, $op1, $op2 ) = @_;
my $items = $op2;
my $f = $op1;
if( defined($op1) and $op1 and $op1 =~ /[0-9]/g){ $items = $op1; } my ($f,$items) = WeatherCheckOptions($d,$op1,$op2);
if( defined($op2) and $op2 and $op2 =~ /[dh]/g){ $f = $op2; }
$f =~ tr/dh/./cd if ( defined $f and $f );
$items =~ tr/0-9/./cd if (defined($items) and $items );
$items = 6 if ( !$items );
return "$d is not a Weather instance<br>"
if ( !$defs{$d} || $defs{$d}->{TYPE} ne "Weather" );
if ( AttrVal($d,'forecast','none') ne 'none' ) {
$f = ( AttrVal($d,'forecast','none') eq 'daily' ? 'd' : 'h' );
}
$f = 'h' if ( !$f || length($f) > 1);
my $h = $defs{$d}; my $h = $defs{$d};
my $width = int( ICONSCALE * ICONWIDTH ); my $width = int( ICONSCALE * ICONWIDTH );
@ -798,50 +781,16 @@ sub WeatherAsHtmlV($;$$) {
sub WeatherAsHtml($;$$) { sub WeatherAsHtml($;$$) {
my ( $d, $op1, $op2 ) = @_; my ( $d, $op1, $op2 ) = @_;
my $items = $op2;
my $f = $op1;
if( defined($op1) and $op1 and $op1 =~ /[0-9]/g){ $items = $op1; } my ($f,$items) = WeatherCheckOptions($d,$op1,$op2);
if( defined($op2) and $op2 and $op2 =~ /[dh]/g){ $f = $op2; }
$f =~ tr/dh/./cd if ( defined $f and $f );
$items =~ tr/0-9/./cd if (defined($items) and $items );
$items = 6 if ( !$items );
return "$d is not a Weather instance<br>"
if ( !$defs{$d} || $defs{$d}->{TYPE} ne "Weather" );
if ( AttrVal($d,'forecast','none') ne 'none' ) {
$f = ( AttrVal($d,'forecast','none') eq 'daily' ? 'd' : 'h' );
}
$f = 'h' if ( !$f || length($f) > 1);
WeatherAsHtmlV( $d, $f, $items ); WeatherAsHtmlV( $d, $f, $items );
} }
sub WeatherAsHtmlH($;$$) { sub WeatherAsHtmlH($;$$) {
my ( $d, $op1, $op2 ) = @_; my ( $d, $op1, $op2 ) = @_;
my $items = $op2;
my $f = $op1;
if( defined($op1) and $op1 and $op1 =~ /[0-9]/g){ $items = $op1; } my ($f,$items) = WeatherCheckOptions($d,$op1,$op2);
if( defined($op2) and $op2 and $op2 =~ /[dh]/g){ $f = $op2; }
$f =~ tr/dh/./cd if ( defined $f and $f );
$items =~ tr/0-9/./cd if (defined($items) and $items );
$items = 6 if ( !$items );
return "$d is not a Weather instance<br>"
if ( !$defs{$d} || $defs{$d}->{TYPE} ne "Weather" );
if ( AttrVal($d,'forecast','none') ne 'none' ) {
$f = ( AttrVal($d,'forecast','none') eq 'daily' ? 'd' : 'h' );
}
$f = 'h' if ( !$f || length($f) > 1);
my $h = $defs{$d}; my $h = $defs{$d};
my $width = int( ICONSCALE * ICONWIDTH ); my $width = int( ICONSCALE * ICONWIDTH );
@ -926,6 +875,20 @@ sub WeatherAsHtmlH($;$$) {
sub WeatherAsHtmlD($;$$) { sub WeatherAsHtmlD($;$$) {
my ( $d, $op1, $op2 ) = @_; my ( $d, $op1, $op2 ) = @_;
my ($f,$items) = WeatherCheckOptions($d,$op1,$op2);
if ($FW_ss) {
WeatherAsHtmlV( $d, $f , $items);
}
else {
WeatherAsHtmlH( $d, $f , $items);
}
}
sub WeatherCheckOptions($@) {
my ($d,$op1,$op2) = @_;
my $items = $op2; my $items = $op2;
my $f = $op1; my $f = $op1;
@ -946,12 +909,7 @@ sub WeatherAsHtmlD($;$$) {
$f = 'h' if ( !$f || length($f) > 1); $f = 'h' if ( !$f || length($f) > 1);
if ($FW_ss) { return ($f,$items);
WeatherAsHtmlV( $d, $f , $items);
}
else {
WeatherAsHtmlH( $d, $f , $items);
}
} }
##################################### #####################################