Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package howManyStorages;
- use strict;
- use File::Spec;
- use Plugins;
- use Globals;
- use Log qw(debug message warning error);
- use Settings;
- use Network;
- use Network::Send;
- use Utils;
- use Misc;
- Plugins::register('howManyStorages', 'count how many times you use storage', \&Unload);
- my $hooks = Plugins::addHooks(
- ['packet_storage_close', \&onInfo]
- );
- my $chooks = Commands::register(
- ['howMany', "Calculating", \&commandHandler]
- );
- my $storage_count = 0;
- my $last_storage_time;
- sub on_unload {
- message "Plugin howManyStorages unloading\n", 'success';
- Plugins::delHooks($hooks);
- Commands::unregister($chooks);
- }
- sub onInfo {
- $storage_count++;
- $last_storage_time = time;
- }
- sub commandHandler {
- my $msg;
- my ($running_seconds, $storage_per_hour, $seconds_since_last_storage, $storage_time_estimation);
- $running_seconds = int(time - $startTime_EXP);
- $storage_per_hour = ($storage_count/$running_seconds)*3600;
- if ($storage_count) {
- $seconds_since_last_storage = int(time - $last_storage_time);
- $storage_time_estimation = int((1/($storage_per_hour/3600))-($seconds_since_last_storage));
- if ($storage_time_estimation > 0) {
- $storage_time_estimation = timeConvert($storage_time_estimation);
- } else {
- $storage_time_estimation = "late ".timeConvert(abs($storage_time_estimation));
- }
- $seconds_since_last_storage = timeConvert($seconds_since_last_storage);
- } else {
- $storage_time_estimation = "cannot estimate yet";
- $seconds_since_last_storage = "storage not opened yet";
- }
- $msg .= center(" Storage Report ", 50, '-') ."\n".
- "Number of storages : ".$storage_count."\n".
- "Number of Storages/Hour : ".$storage_per_hour."\n".
- "Time since last Storage : ".$seconds_since_last_storage."\n".
- "Storage Time Estimation : ".$storage_time_estimation."\n";
- $msg .= ('-'x50) . "\n";
- message $msg, "list";
- }
- return 1;
Advertisement
Add Comment
Please, Sign In to add comment