diff --git a/fhem/FHEM/42_npmjs.pm b/fhem/FHEM/42_npmjs.pm index 30018748c..a895eff91 100644 --- a/fhem/FHEM/42_npmjs.pm +++ b/fhem/FHEM/42_npmjs.pm @@ -1,7 +1,4 @@ -############################################################################### # $Id$ -# -# Based on 42_AptToDate.pm by CoolTux package main; use strict; @@ -1264,96 +1261,157 @@ sub CreateErrorList($) { sub CreateInstalledList($$) { my ( $hash, $getCmd ) = @_; + my @ret; my $packages; + my $html = defined( $hash->{CL} ) && $hash->{CL}{TYPE} eq "FHEMWEB" ? 1 : 0; $packages = $hash->{".fhem"}{npm}{listedpackages}{dependencies}; - my $ret = ''; + $rowOpenEven = ''; + $rowOpenOdd = ''; + $colOpen = ''; + $rowClose = ''; + } + + push @ret, + $rowOpen + . $colOpen + . $txtOpen + . 'Package Name' + . $txtClose + . $colClose + . $colOpen + . $txtOpen + . 'Current Version' + . $txtClose + . $colClose + . $rowClose; if ( ref($packages) eq "HASH" ) { my $linecount = 1; foreach my $package ( sort keys( %{$packages} ) ) { next if ( $package eq "undefined" ); - if ( $linecount % 2 == 0 ) { - $ret .= ''; - } - else { - $ret .= ''; - } - $ret .= ""; - if ( defined( $packages->{$package}{version} ) ) { - $ret .= ""; - } - else { - $ret .= ""; - } + my $l = $linecount % 2 == 0 ? $rowOpenEven : $rowOpenOdd; + $l .= $colOpen . $package . $colClose; + $l .= $colOpen + . ( + defined( $packages->{$package}{version} ) + ? $packages->{$package}{version} + : '?' + ) . $colClose; + $l .= $rowClose; - $ret .= ''; + push @ret, $l; $linecount++; } } - $ret .= '
'; - $ret .= ''; - $ret .= ''; - $ret .= ""; - $ret .= ""; - $ret .= ""; - $ret .= ''; + my $header = ""; + my $footer = ""; + if ($html) { + $header = '
Package NameCurrent Version
'; + $footer = '
'; + } + + my $rowOpen = ""; + my $rowOpenEven = ""; + my $rowOpenOdd = ""; + my $colOpen = ""; + my $txtOpen = ""; + my $txtClose = ""; + my $colClose = "\t\t\t"; + my $rowClose = ""; + + if ($html) { + $rowOpen = '
'; + $txtOpen = ""; + $txtClose = ""; + $colClose = '
$package$packages->{$package}{version}?
'; - $ret .= ''; - - return $ret; + return $header . join( "\n", @ret ) . $footer; } sub CreateOutdatedList($$) { my ( $hash, $getCmd ) = @_; + my @ret; my $packages; + my $html = defined( $hash->{CL} ) && $hash->{CL}{TYPE} eq "FHEMWEB" ? 1 : 0; $packages = $hash->{".fhem"}{npm}{outdatedpackages}; - my $ret = ''; + $rowOpenEven = ''; + $rowOpenOdd = ''; + $colOpen = ''; + $rowClose = ''; + } + + push @ret, + $rowOpen + . $colOpen + . $txtOpen + . 'Package Name' + . $txtClose + . $colClose + . $colOpen + . $txtOpen + . 'Current Version' + . $txtClose + . $colClose + . $colOpen + . $txtOpen + . 'New Version' + . $txtClose + . $colClose + . $rowClose; if ( ref($packages) eq "HASH" ) { my $linecount = 1; foreach my $package ( sort keys( %{$packages} ) ) { - if ( $linecount % 2 == 0 ) { - $ret .= ''; - } - else { - $ret .= ''; - } + next if ( $package eq "undefined" ); - $ret .= ""; - if ( defined( $packages->{$package}{current} ) ) { - $ret .= ""; - } - else { - $ret .= ""; - } - if ( defined( $packages->{$package}{latest} ) ) { - $ret .= ""; - } - else { - $ret .= ""; - } + my $l = $linecount % 2 == 0 ? $rowOpenEven : $rowOpenOdd; + $l .= $colOpen . $package . $colClose; + $l .= $colOpen + . ( + defined( $packages->{$package}{current} ) + ? $packages->{$package}{current} + : '?' + ) . $colClose; + $l .= $colOpen + . ( + defined( $packages->{$package}{latest} ) + ? $packages->{$package}{latest} + : '?' + ) . $colClose; + $l .= $rowClose; - $ret .= ''; + push @ret, $l; $linecount++; } } - $ret .= '
'; - $ret .= ''; - $ret .= ''; - $ret .= ""; - $ret .= ""; - $ret .= ""; - $ret .= ""; - $ret .= ''; + my $header = ""; + my $footer = ""; + if ($html) { + $header = '
Package NameCurrent VersionNew Version
'; + $footer = '
'; + } + + my $rowOpen = ""; + my $rowOpenEven = ""; + my $rowOpenOdd = ""; + my $colOpen = ""; + my $txtOpen = ""; + my $txtClose = ""; + my $colClose = "\t\t\t"; + my $rowClose = ""; + + if ($html) { + $rowOpen = '
'; + $txtOpen = ""; + $txtClose = ""; + $colClose = '
$package$packages->{$package}{current}?$packages->{$package}{latest}?
'; - $ret .= ''; - - return $ret; + return $header . join( "\n", @ret ) . $footer; } #### my little helper @@ -1580,7 +1638,7 @@ sub ToDay() { "node", "npm" ], - "version": "v0.10.4", + "version": "v0.10.5", "release_status": "stable", "author": [ "Julian Pawlowski " diff --git a/fhem/FHEM/Meta.pm b/fhem/FHEM/Meta.pm index c2fd2ddd0..14231ebc3 100644 --- a/fhem/FHEM/Meta.pm +++ b/fhem/FHEM/Meta.pm @@ -1,7 +1,4 @@ -############################################################################### # $Id$ -# -# Metadata handling for FHEM modules # define package package FHEM::Meta; @@ -699,10 +696,10 @@ m/(^#\s+(?:\d{1,2}\.\d{1,2}\.(?:\d{2}|\d{4})\s+)?[^v\d]*(v?(?:\d{1,3}\.\d{1,3}(? $modMeta->{x_lang}{DE}{abstract} = $item_summary_DE if ( $item_summary_DE && !defined( $modMeta->{x_lang}{DE}{abstract} ) ); - $modMeta->{description} = "/./docs/commandref.html#" . $modMeta->{x_file}[4] + $modMeta->{description} = "./docs/commandref.html#" . $modMeta->{x_file}[4] unless ( defined( $modMeta->{description} ) ); $modMeta->{x_lang}{DE}{description} = - "/./docs/commandref_DE.html#" . $modMeta->{x_file}[4] + "./docs/commandref_DE.html#" . $modMeta->{x_file}[4] unless ( defined( $modMeta->{x_lang}{DE}{description} ) ); # Only when this package is reading its own metadata.