From: <de...@de...> - 2012-06-07 20:39:11
|
Author: AaronLWalker Date: 2012-06-07 15:39:03 -0500 (Thu, 07 Jun 2012) New Revision: 22978 Trac url: http://develop.twiki.org/trac/changeset/22978 Added: twiki/trunk/PingPlugin/data/TWiki/VarPING.txt Modified: twiki/trunk/PingPlugin/data/TWiki/PingPlugin.txt twiki/trunk/PingPlugin/lib/TWiki/Plugins/PingPlugin/Core.pm Log: Item6613: PingPlugin - adding VarPING & percnt/dollar support Modified: twiki/trunk/PingPlugin/data/TWiki/PingPlugin.txt =================================================================== --- twiki/trunk/PingPlugin/data/TWiki/PingPlugin.txt 2012-06-07 19:26:55 UTC (rev 22977) +++ twiki/trunk/PingPlugin/data/TWiki/PingPlugin.txt 2012-06-07 20:39:03 UTC (rev 22978) @@ -1,35 +1,75 @@ ----+!! !PingPlugin -<!-- -One line description, required for extensions repository catalog. - * Set SHORTDESCRIPTION = Ping a host and get a response ---> -%SHORTDESCRIPTION% +%META:TOPICINFO{author="AaronWalker" date="1339092093" format="1.1" reprev="1.3" version="1.3"}% +%META:TOPICPARENT{name="Sandbox.PluginDevelopment"}% +---+!! <nop>%TOPIC% +This plugin provides ability to ping hostnames and IP addresses. + %TOC% ----++ Usage +------ ----++ Examples +---++ Syntax Rules ----++ Installation Instructions +%INCLUDE{"VarPING"}% -%$INSTALL_INSTRUCTIONS% +---++ =PING= Examples +---+++!! Basic Usage +<verbatim> +%PING{ host="www.google.com" wait="1" }% +</verbatim> +%PING{ host="www.google.com" wait="1" }% + +<verbatim> +%PING{ host="irs.gov" wait="1" }% +</verbatim> +%PING{ host="irs.gov" wait="1" }% + +<verbatim> +%PING{ host="www.yahoo.com" wait="1" format="$host result is $result" }% +</verbatim> +%PING{ host="www.yahoo.com" wait="1" format="$host result is $result" }% + +---++ Plugin Settings + +Plugin settings are stored as preferences variables. To reference a plugin setting write ==%<nop><plugin>_<setting>%==, i.e. ==%<nop>INTERWIKIPLUGIN_SHORTDESCRIPTION%== + + * One line description, is shown in the %TWIKIWEB%.TextFormattingRules topic: + * Set SHORTDESCRIPTION = Loop over successive elements of a list, or a range of numbers. + + * Debug plugin: (See output in =data/debug.txt=) + * Set DEBUG = 1 + + +---++ Plugin Installation Instructions + +__Note:__ You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running. + + * Download the ZIP file from the Plugin web (see below) + * Unzip ==%TOPIC%.zip== in your twiki installation directory. Content: + | *File:* | *Description:* | + | ==data/TWiki/%TOPIC%.txt== | Plugin topic | + | ==data/TWiki/%TOPIC%.txt,v== | Plugin topic repository | + | ==lib/TWiki/Plugins/%TOPIC%.pm== | Plugin Perl module | + * Test if the installation was successful: + * _enter samples here_ + ---++ Plugin Info -Many thanks to the following sponsors for supporting this work: - * Acknowledge any sponsors here - -| Plugin Author(s): | | -| Copyright: | © | -| License: | [[http://www.gnu.org/licenses/gpl.html][GPL (Gnu General Public License)]] | -| Plugin Version: | %$VERSION% | +| Plugin Author: | TWiki:Main.MagnusLewisSmith | +| Plugin Version: | 28 Sep 2005 (V1.000) | | Change History: | <!-- versions below in reverse order --> | -| Dependencies: | %$DEPENDENCIES% | -| Plugin Home: | http://twiki.org/cgi-bin/view/Plugins/PingPlugin | -| Feedback: | http://twiki.org/cgi-bin/view/Plugins/PingPluginDev | -| Appraisal: | http://twiki.org/cgi-bin/view/Plugins/PingPluginAppraisal | +| 28 Sep 2005: | Initial version | +| TWiki Dependency: | $TWiki::Plugins::VERSION 1.024 | +| CPAN Dependencies: | none | +| Other Dependencies: | none | +| Perl Version: | 5.005 | +| License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | +| TWiki:Plugins/Benchmark: | %TWIKIWEB%.GoodStyle nn%, %TWIKIWEB%.FormattedSearch nn%, %TOPIC% nn% | +| Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC% | +| Feedback: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev | +| Appraisal: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal | -__Related Topics:__ %TWIKIWEB%.TWikiPlugins, %TWIKIWEB%.DeveloperDocumentationCategory, %TWIKIWEB%.AdminDocumentationCategory, %TWIKIWEB%.TWikiPreferences +__Related Topics:__ %TWIKIWEB%.TWikiPreferences, %TWIKIWEB%.TWikiPlugins -<!-- Do _not_ attempt to edit this topic; it is auto-generated. Please add comments/questions/remarks to the feedback topic on twiki.org instead. --> +-- TWiki:Main.MagnusLewisSmith - 28 Sep 2005 Added: twiki/trunk/PingPlugin/data/TWiki/VarPING.txt =================================================================== --- twiki/trunk/PingPlugin/data/TWiki/VarPING.txt (rev 0) +++ twiki/trunk/PingPlugin/data/TWiki/VarPING.txt 2012-06-07 20:39:03 UTC (rev 22978) @@ -0,0 +1,11 @@ +%META:TOPICINFO{author="AaronWalker" date="1339092395" format="1.1" reprev="1.1" version="1.1"}% +%META:TOPICPARENT{name="TWikiVariables"}% +#VarPING +---+++ PING{ host="..." } -- ping a host + * Syntax: =%<nop>PING{ host="www.google.com" }%= + * Supported attributes: + | *Attribute* | *Comment* | *Default* | + | =host="..."= | Host name or IP address | (required) | + | =wait="..."= | Time, in seconds, to wait for a ping response | ="5"= | + | =format="..."= | Format of output. Use the variables =$host= for the host and $result for the result (*1* for success, *0* for failure) | For success: ="%<nop>GREEN%<i>host</i>%<nop>ENDCOLOR%"= %BR% For failure: ="%<nop>RED%<i>host</i>%<nop>ENDCOLOR%"= | + * Example: =%<nop>PING{ host="www.google.com" wait="2" format}%= Modified: twiki/trunk/PingPlugin/lib/TWiki/Plugins/PingPlugin/Core.pm =================================================================== --- twiki/trunk/PingPlugin/lib/TWiki/Plugins/PingPlugin/Core.pm 2012-06-07 19:26:55 UTC (rev 22977) +++ twiki/trunk/PingPlugin/lib/TWiki/Plugins/PingPlugin/Core.pm 2012-06-07 20:39:03 UTC (rev 22978) @@ -41,59 +41,55 @@ # ========================= sub VarPING { - my ( $this, $session, $params, $topic, $web ) = @_; - TWiki::Func::writeDebug( "- PingPlugin enter VarPING" ) if $this->{Debug}; + my ( $this, $session, $params, $topic, $web ) = @_; + TWiki::Func::writeDebug( "- PingPlugin enter VarPING" ) if $this->{Debug}; - my $ret = ''; - my $format = ''; - my $hold = ''; - my $host = $params->{host}; - &TWiki::Func::writeDebug( "- ${pluginName}::VarPING() host: $host" ) if $this->{Debug}; - return '' unless( $host ); - my $wait = $params->{wait} || 5; - &TWiki::Func::writeDebug( "- ${pluginName}::VarPING() wait: $wait" ) if $this->{Debug}; + my $ret = ''; + my $format = ''; + my $hold = ''; + my $host = $params->{host}; + &TWiki::Func::writeDebug( "- ${pluginName}::VarPING() host: $host" ) if $this->{Debug}; + return '' unless( $host ); + my $wait = $params->{wait} || 5; + &TWiki::Func::writeDebug( "- ${pluginName}::VarPING() wait: $wait" ) if $this->{Debug}; - if( defined $params->{format} ) { - $format = $params->{format}; - } else { - $format = "%\$color%\$host%ENDCOLOR%"; - } - &TWiki::Func::writeDebug( "- ${pluginName}::VarPING() format: $format" ) if $this->{Debug}; + if( defined $params->{format} ) { + $format = $params->{format}; + } else { + $format = "%\$ppdefcolorvar%\$host%ENDCOLOR%"; + } + &TWiki::Func::writeDebug( "- ${pluginName}::VarPING() format: $format" ) if $this->{Debug}; - unless ($wait =~ /^-?[0-9]+$/) - { - return qq(%RED% PING{host="$host" wait="$wait"} : Wait value not a number %ENDCOLOR%); - } + unless ($wait =~ /^-?[0-9]+$/) + { + return qq(%RED% PING{host="$host" wait="$wait"} : Wait value not a number %ENDCOLOR%); + } - # PING CODE - $p = Net::Ping->new(); - if ( $p->ping($host, $wait) ) - { - $result = "1"; - $color = "GREEN"; - $hold = $format; - $hold =~ s/\$color/$color/g; - $hold =~ s/\$host/$host/g; - $hold =~ s/\$result/$result/g; - $ret = "$hold"; - } - else - { - $result = "0"; - $color = "RED"; - $hold = $format; - $hold =~ s/\$color/$color/g; - $hold =~ s/\$host/$host/g; - $hold =~ s/\$result/$result/g; - $ret = "$hold"; - } + # PING CODE + $p = Net::Ping->new(); + if ( $p->ping($host, $wait) ) + { + $result = "1"; + $ppdefcolorvar = "GREEN"; + } else { + $result = "0"; + $ppdefcolorvar = "RED"; + } - $p->close(); + $hold = $format; + $hold =~ s/\$ppdefcolorvar/$ppdefcolorvar/g; + $hold =~ s/\$host/$host/g; + $hold =~ s/\$result/$result/g; + $hold =~ s/\$percnt/%/g; + $hold =~ s/\$dollar/\$/g; + $ret = "$hold"; - #$ret = TWiki::Func::expandCommonVariables($ret, $topic, $web); - $ret = &TWiki::Func::expandCommonVariables($ret); + $p->close(); - return $ret; + #$ret = TWiki::Func::expandCommonVariables($ret, $topic, $web); + $ret = &TWiki::Func::expandCommonVariables($ret); + + return $ret; } # ========================= |