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');