diff --git a/lib/WebGUI/Asset/File.pm b/lib/WebGUI/Asset/File.pm index a619d19a5..326efe444 100644 --- a/lib/WebGUI/Asset/File.pm +++ b/lib/WebGUI/Asset/File.pm @@ -17,7 +17,7 @@ package WebGUI::Asset::File; use strict; use Carp; - +use Number::Format (); use Moose; use WebGUI::Definition::Asset; extends 'WebGUI::Asset'; @@ -573,7 +573,7 @@ sub view { $var{controls} = $self->getToolbar; $var{fileUrl} = $self->getFileUrl; $var{fileIcon} = $self->getFileIconUrl; - $var{fileSize} = formatBytes($self->get("assetSize")); + $var{fileSize} = Number::Format::format_bytes($self->get("assetSize")); my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate}); if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) { $self->session->cache->set($self->getViewCacheKey, $out, $self->get("cacheTimeout")); diff --git a/lib/WebGUI/Asset/Wobject/Folder.pm b/lib/WebGUI/Asset/Wobject/Folder.pm index 75a1962ee..c38312f8d 100644 --- a/lib/WebGUI/Asset/Wobject/Folder.pm +++ b/lib/WebGUI/Asset/Wobject/Folder.pm @@ -71,6 +71,7 @@ has '+uiLevel' => ( ); use WebGUI::Utility; +use Number::Format (); =head1 NAME @@ -237,7 +238,7 @@ sub view { title => $child->title, menuTitle => $child->menuTitle, synopsis => $child->synopsis || '', - size => WebGUI::Utility::formatBytes($child->assetSize), + size => Number::Format::format_bytes($child->assetSize), "date.epoch" => $child->revisionDate, "icon.small" => $child->getIcon(1), "icon.big" => $child->getIcon, diff --git a/lib/WebGUI/AssetClipboard.pm b/lib/WebGUI/AssetClipboard.pm index e53141f33..1597452f7 100644 --- a/lib/WebGUI/AssetClipboard.pm +++ b/lib/WebGUI/AssetClipboard.pm @@ -15,7 +15,7 @@ package WebGUI::Asset; =cut use strict; -use WebGUI::Utility qw(formatBytes); +use Number::Format (); =head1 NAME @@ -593,7 +593,7 @@ sub www_manageClipboard { ."','" . $plus . "getUrl("op=assetManager")."\">" . $title ."','

getIcon(1)."\" style=\"border-style:none;vertical-align:middle;\" alt=\"".$child->getName."\" />

".$child->getName ."','".$self->session->datetime->epochToHuman($child->get("revisionDate")) - ."','".formatBytes($child->get("assetSize"))."');\n"; + ."','".Number::Format::format_bytes($child->get("assetSize"))."');\n"; $output .= "assetManager.AddLineSortData('','".$title."','".$child->getName ."','".$child->get("revisionDate")."','".$child->get("assetSize")."');\n"; } diff --git a/lib/WebGUI/AssetTrash.pm b/lib/WebGUI/AssetTrash.pm index cd56cd4bb..a89fe1cf0 100644 --- a/lib/WebGUI/AssetTrash.pm +++ b/lib/WebGUI/AssetTrash.pm @@ -15,7 +15,8 @@ package WebGUI::Asset; =cut use strict; -use WebGUI::Utility qw(isIn formatBytes); +use WebGUI::Utility qw(isIn); +use Number::Format (); use JSON; =head1 NAME @@ -437,7 +438,7 @@ sub www_manageTrash { .'" style="vertical-align:middle;border-style:none;" alt=' .$child->getName .'" />

' . $child->getName, $self->session->datetime->epochToHuman($child->get("revisionDate")), - formatBytes($child->get("assetSize")) + Number::Format::format_bytes($child->get("assetSize")) ); $amethod->('AddLineSortData', '', $title, $child->getName, diff --git a/lib/WebGUI/Content/AssetManager.pm b/lib/WebGUI/Content/AssetManager.pm index ebefa0320..fcd9fa24a 100644 --- a/lib/WebGUI/Content/AssetManager.pm +++ b/lib/WebGUI/Content/AssetManager.pm @@ -9,6 +9,7 @@ use WebGUI::Paginator; use WebGUI::Utility; use WebGUI::Macro::AdminBar; use Tie::IxHash; +use Number::Format (); #---------------------------------------------------------------------------- @@ -651,7 +652,7 @@ sub www_search { revisionDate => $session->datetime->epochToHuman( $asset->get( "revisionDate" ) ), hasChildren => ( $asset->hasChildren ? "+ " : "  " ), rank => $asset->getRank, - size => formatBytes( $asset->get( 'assetSize' ) ), + size => Number::Format::format_bytes( $asset->get( 'assetSize' ) ), ); # The asset icon diff --git a/lib/WebGUI/Utility.pm b/lib/WebGUI/Utility.pm index 550abc52a..76ebf9004 100644 --- a/lib/WebGUI/Utility.pm +++ b/lib/WebGUI/Utility.pm @@ -23,7 +23,7 @@ use Net::CIDR::Lite; our @ISA = qw(Exporter); our @EXPORT = qw(&isBetween &makeTabSafe &makeArrayTabSafe &randomizeHash &commify &randomizeArray &isInSubnet - &formatBytes &sortHashDescending &sortHash &isIn &makeCommaSafe &makeArrayCommaSafe &randint &round &scalarEquals + &sortHashDescending &sortHash &isIn &makeCommaSafe &makeArrayCommaSafe &randint &round &scalarEquals ); @@ -39,7 +39,6 @@ This package provides miscellaneous but useful utilities to the WebGUI programme use WebGUI::Utility; $string = commify($integer); - $size = formatBytes($integer); $boolean = isBetween($value, $first, $second); $boolean = isIn($value, @array); $boolean = isInSubnet($ip, \@subnets); @@ -92,30 +91,6 @@ sub emailRegex { } -#------------------------------------------------------------------- - -=head2 formatBytes ( integer ) - -Returns a formatted file size like "3MB" or "44kB". - -=head3 integer - -An integer representing the number of bytes to format. - -=cut - -sub formatBytes { - my $size = shift; - if ($size > 1048576) { - return round($size/1048576).' MB'; - } elsif ($size > 1024) { - return round($size/1024).' kB'; - } else { - return $size.' B'; - } -} - - #------------------------------------------------------------------- =head2 isBetween ( value, first, second ) diff --git a/sbin/testEnvironment.pl b/sbin/testEnvironment.pl index d1b45f679..88fa77600 100755 --- a/sbin/testEnvironment.pl +++ b/sbin/testEnvironment.pl @@ -156,6 +156,7 @@ checkModule('IO::Socket::SSL', ); checkModule('Package::Stash', ); checkModule('HTTP::Exception', ); checkModule('Net::Twitter', "3.13006" ); +checkModule('Number::Forat', ); failAndExit("Required modules are missing, running no more checks.") if $missingModule; diff --git a/t/Utility.t b/t/Utility.t index 5d98bc9a4..07de9fea2 100644 --- a/t/Utility.t +++ b/t/Utility.t @@ -27,11 +27,6 @@ is(WebGUI::Utility::commify(10), "10", 'commify() - no comma needed'); is(WebGUI::Utility::commify(1000), "1,000", 'commify() - single comma'); is(WebGUI::Utility::commify(10000000), "10,000,000", 'commify() - multiple commas'); -# formatBytes -is(WebGUI::Utility::formatBytes(10), '10 B', 'formatBytes() - bytes'); -is(WebGUI::Utility::formatBytes(4300), '4 kB', 'formatBytes() - kilobytes'); -is(WebGUI::Utility::formatBytes(1700000), '2 MB', 'formatBytes() - megabytes'); - # isBetween ok(WebGUI::Utility::isBetween(0,-1,1), 'isBetween() - negative and positive range'); ok(WebGUI::Utility::isBetween(0,1,-1), 'isBetween() - negative and positive range, reversed');