Update of /cvsroot/fink/experimental/thesin/finkinfo/test
In directory sc8-pr-cvs1:/tmp/cvs-serv16505

Modified Files:
        sysinfo.pl 
Log Message:
removed awk from get_hdd, changes printout information, and more perl fixes, need to 
do get_net next

Index: sysinfo.pl
===================================================================
RCS file: /cvsroot/fink/experimental/thesin/finkinfo/test/sysinfo.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- sysinfo.pl  12 Dec 2002 15:39:07 -0000      1.5
+++ sysinfo.pl  12 Dec 2002 20:06:06 -0000      1.6
@@ -19,11 +19,11 @@
 
 my $out;
 my $UNAME;
-my $ARCH, $TYPE, $MODEL, $NUM, $HEXCPU, $CPU;
-my $MEMTOTAL, $MEMUSED, $MEMUSEDGKM, $MEMPERCENT;
+my $ARCH, $TYPE, $MODEL, $NUM, $CPU;
+my $MEMTOTAL, $MEMUSED, $MEMGKM, $MEMPERCENT;
 my $DEVTYPE, $DEVTYPE2, $PACKIN, $PACKIN2, $PACKOUT, $PACKOUT2;
 my $RES;
-my $HDD, $HDDFREE;
+my $HDDTOTAL, $HDDUSED, $HDDCOUNT;
 my $PROCS;
 my $UPTIME, $DAYS;
 
@@ -33,14 +33,11 @@
 IRC::add_command_handler("up", "display_uptime");
 
 sub get_uname {
-  $UNAME = `uname -sr`;
-  chop ($UNAME);
+  chomp($UNAME = `uname -sr`);
 }
 
 sub get_cpu {
-  $ARCH = `uname -p`;
-  chop($ARCH);
-
+  chomp($ARCH = `uname -p`);
   if ($ARCH =~ /^powerpc/i) {
     $ARCH = "PowerPC";
   } elsif ($ARCH =~ /^86/i) {
@@ -49,47 +46,55 @@
     $ARCH = "Unknown";
   }
 
-  $TYPE = `ioreg | grep $ARCH | cut -d"," -f2 | cut -d"@" -f1 | head -1`;
-  chomp($TYPE);
-
-  $MODEL = "$ARCH"."/"."$TYPE";
-
-  $NUM=`sysctl hw.ncpu | cut -d" " -f3`;
-  chop($NUM);
-  $NUM =~ s/^ +//;
+  chomp($TYPE = `ioreg | grep $ARCH`);
+  if ($TYPE =~ /.+$ARCH,(.+)@.+/) {
+    $TYPE = $1;
+  } else {
+    $TYPE = "Unknown";
+  }
 
+  chomp($NUM=`sysctl hw.ncpu`);
+  $NUM =~ s/hw.ncpu = //;
   if ($NUM eq 1 ) {
-    $MODEL = $MODEL;
+    $MODEL = "$ARCH/$TYPE";
   } elsif ($NUM eq 2) {
-    $MODEL="Dual $MODEL";
-  } else {
-    $MODEL="Multi $MODEL";
+    $MODEL="Dual $ARCH/$TYPE";
+  } elsif ($NUM gt 2) {
+    $MODEL="Multi $ARCH/$TYPE";
+  } else {
+    $MODEL = "#? $ARCH/$TYPE";
   }
 
-  $HEXCPU = `ioreg -n $ARCH,$TYPE | grep clock-frequency | cut -d"<" -f2 | cut -d">" 
-f1`;
-  chop($HEXCPU);
-  $HEXCPU = hex($HEXCPU) / 1000000;
-  $CPU = sprintf("%.0f"."MHz", $HEXCPU);
+  chomp($CPU = `ioreg -n $ARCH,$TYPE | grep clock-frequency`);
+  if ($CPU =~ /.*[<](.+)[>].*/) {
+    $CPU = hex($1)/1000000;
+    if ($CPU gt 999) {
+      $CPU = sprintf("%.0fGHz", $CPU/1000);
+    } else {
+      $CPU = sprintf("%.0fMHz", $CPU);
+    }
+  } else {
+    $CPU = "Unknown ($CPU)";
+  }
 }
 
 sub get_mem {
-  $MEMTOTAL = `sysctl hw.physmem | cut -d" " -f3`;
-  chop($MEMTOTAL);
-  $MEMTOTAL = sprintf("%d",$MEMTOTAL/1024**2);
-
-  $MEMUSED = `top -l1 | grep PhysMem | cut -d":" -f2 | cut -d"," -f4`;
-  chop ($MEMUSED);
-  $MEMUSED =~ / ([0-9.]+)([GKM]) used$/;
+  chomp($MEMTOTAL = `sysctl hw.physmem`);
+  $MEMTOTAL =~ s/hw.physmem = //;
+
+  chomp($MEMUSED = `top -l1 | grep PhysMem`);
+  $MEMUSED =~ /.*[,](.+)([GKM]) used.*/;
   $MEMUSED = $1;
-  $MEMUSEDGKM = $2;      
-  if ($MEMUSEDGKM =~ /^K$/) {
-    $MEMUSED = $MEMUSED / 1024;
-  } elsif ($MEMUSEDGKM =~ /^G$/) {
-    $MEMUSED = $MEMUSED * 1024;
+  $MEMGKM = $2;
+  $MEMUSED =~ s/ //g;
+  if ($MEMGKM =~ /^K$/) {
+    $MEMTOTAL = sprintf("%.0f", $MEMTOTAL/1024);  
+  } elsif ($MEMGKM =~ /^M$/) {
+    $MEMTOTAL = sprintf("%.0f", $MEMTOTAL/1024**2);
+  } elsif ($MEMGKM =~ /^G$/) {
+    $MEMTOTAL = sprintf("%.0f", $MEMTOTAL/1024**3);  
   }
 
-  $MEMUSED = sprintf("%.0f", $MEMUSED);
-
   $MEMPERCENT = $MEMUSED/$MEMTOTAL*100;
   if (int($MEMPERCENT) == int($MEMPERCENT + .5)) {
     $MEMPERCENT = int($MEMPERCENT);
@@ -97,12 +102,10 @@
     $MEMPERCENT = int($MEMPERCENT + .5);
   }
 
-  if ($MEMUSEDGKM =~ /^K$/) {
-    $MEMUSED = $MEMUSED * 1024;
+  if ($MEMGKM =~ /^K$/) {
     $MEMUSED .= "Kb";
     $MEMTOTAL .= "Kb";
-  } elsif ($MEMUSEDGKM =~ /^G$/) {
-    $MEMUSED = $MEMUSED / 1024;
+  } elsif ($MEMGKM =~ /^G$/) {
     $MEMUSED .= "Gb";
     $MEMTOTAL .= "Gb";
   } else {
@@ -162,28 +165,58 @@
 }
 
 sub get_rez {
-  $RES = `xdpyinfo | grep dimensions | cut -d\" \" -f7`;
-  chop ($RES);
+  chomp($RES = `xdpyinfo | grep dimensions`);   
+  $RES =~ /dimensions: (.+) pixels.*/;         
+  $RES = $1;  
+  $RES =~ s/ //g;     
 }
 
 sub get_hdd {
-  $HDD = `df -l -x tmpfs -x shm | awk '{ sum+=\$2/1024^2 }; END { printf 
(\"%dGb\\n\", sum )}'`;
-  chop ($HDD);
-   
-  $HDDFREE = `df -l -x tmpfs -x shm | awk '{ sum+=\$4/1024^2 }; END { printf 
(\"%dGb\\n\", sum )}'`;
-  chop ($HDDFREE);
+  my @hddlist = `df -l -x volfs -x fdesc -x devfs -x hsfs -x cdfs`;
+  my $hddline;
+  my ($hddtotal, $hddused, $hddcount) = (0, 0, 0);
+
+  foreach $hddline (@hddlist) {
+    chomp($hddline);
+    if ($hddline =~ /^\/dev\S+\ +([0-9.]+)\ +([0-9.]+)\ +([0-9.]+)\ .+[\%].*$/) {
+      if ($3 != 0) {
+        $hddcount++;
+        $hddtotal += $1;
+        $hddused += $2;
+      }
+    }
+  }
+
+  if ($hddtotal >= 1024**3) {
+    $hddtotal = sprintf("%.2fTb", $hddtotal/1024**3);
+    $hddused = sprintf("%.2fTb", $hddused/1024**3);
+  } elsif ($hddtotal >= 1024**2) {
+    $hddtotal = sprintf("%.2fGb", $hddtotal/1024**2);
+    $hddused = sprintf("%.2fGb", $hddused/1024**2);
+  } elsif ($hddtotal >= 1024*1024) {
+    $hddtotal = sprintf("%.2fMb", $hddtotal/1024**1);
+    $hddused = sprintf("%.2fMb", $hddused/1024**1);
+  } elsif ($hddtotal >= 1024) {
+    $hddtotal = sprintf("%.2fKb", $hddtotal/1024);
+    $hddused = sprintf("%.2fKb", $hddused/1024);
+  } else {
+    $hddtotal = sprintf("%.2fb", $hddtotal);
+    $hddused = sprintf("%.2fb", $hddused);
+  }
+  $HDDTOTAL = $hddtotal;
+  $HDDUSED = $hddused;
+  $HDDCOUNT = $hddcount;
 }
 
 sub get_procs {
-  $PROCS = `ps ax | wc -l`;
-  chop ($PROCS);
-
+  chomp($PROCS = `top -l1 | grep Processes`);
+  $PROCS =~ /Processes: (.+) total.*/;
+  $PROCS = $1;
   $PROCS =~ s/ //g;
 }
 
 sub get_uptime {
-  $UPTIME = `uptime`;
-  chop ($UPTIME);
+  chomp($UPTIME = `uptime`);
   $UPTIME =~ /.*up (.+),.+[0-9]+ user/;
   $DAYS = $1;
   if ($DAYS =~ /.?(.+).?days, (.+):(.+)/) {
@@ -202,7 +235,8 @@
   $out .= " %B|%O System: %B$UNAME%O";
   $out .= " %B|%O CPU: %B$MODEL%O @ %B$CPU%O";
   $out .= " %B|%O RAM: %B$MEMUSED%O of %B$MEMTOTAL%O (%B$MEMPERCENT% %Oused)";
-  $out .= " %B|%O Free Disk: %B$HDDFREE%O of %B$HDD%O";
+  $out .= " %B|%O Disk(s)/Partion(s): %B$HDDCOUNT%O";
+  $out .= " %B|%O Space: %B$HDDUSED%O of %B$HDDTOTAL%O used";
   $out .= " %B|%O Screen Res: %B$RES%O";
   $out .= " %B|%O Procs: %B$PROCS%O";
   $out .= " %B|%O Uptime: %B$UPTIME%O";



-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
Fink-commits mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to