Merge branch 'master' of git+ssh://github.com/adefaria/clearscm
[clearscm.git] / clients / Ameriquest / bin / vobsize.pl
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 my $windows     = $^O =~ /MSWin/ ? "yes" : "no";
6 my $vob_server  = "rtnlprod01";
7
8 sub VobSize {
9   my $vob = shift;
10
11   my @space;
12
13   if ($windows eq "yes") {
14     @space = `cleartool space $vob 2>&1`;
15   } else {
16     @space = `cleartool space \\$vob 2>&1`;
17   } # if
18
19   foreach (@space) {
20     chomp; chop if /\r/;
21     if (/Subtotal $/) {
22       my ($size) = split;
23       return $size;
24     } # if
25   } # foreach
26
27   return 0;
28 } # VobSize
29
30 my (
31   $vob,
32   $size,
33   $count,
34   $total_size
35 );
36
37 format STDOUT_TOP =
38  Nbr VOB                            Size
39 ---- ----------------------- -----------
40 .
41 format STDOUT =
42 @>>) @<<<<<<<<<<<<<<<<<<<<<< @>>>>>> Meg
43 $count,$vob,$size
44 .
45
46 format TOTAL_TOP =
47 ---- ----------------------- -----------
48 .
49
50 format TOTAL_LINE =
51 Total vob size:              @>>>>>> Meg
52 $total_size
53 .
54
55 my @vobs = `cleartool lsvob -short -host $vob_server`;
56
57 foreach $vob (sort (@vobs)) {
58   $count++;
59   chomp $vob; chop $vob if $vob =~ /\r/;
60
61   $size = VobSize $vob;
62
63   $total_size += $size;
64
65   write; $- = 1;
66 } # foreach
67
68 $~ = "TOTAL_TOP";
69 write; $- = 1;
70
71 $~ = "TOTAL_LINE";
72 write; $- = 1;