2009-02-01 15:06
@@ -56,7 +56,7 @@ forretningshemmeligheter framover.
- Tags:
norsk,
nuug.
+ Tags:
norsk,
nuug.
2009-02-20 08:50
@@ -313,7 +313,7 @@ easier automatic tracking of computers.
- Tags:
english,
nuug.
+ Tags:
english,
nuug.
2009-02-28 23:50
@@ -385,13 +385,25 @@ sub get_support_info {
foreach my $line (@lines) {
next unless ($line =~ m/Beskrivelse/);
$line =~ s/<[^>]+?>/;/gm;
- $line =~ m%;(\d{2})/(\d{2})/(\d{4});+(\d{2})/(\d{2})/(\d{4});%g;
- my $start = "$3-$1-$2";
- my $end = "$6-$4-$5";
- $str = "$start -> $end";
+ $line =~ s/^.+?;(Beskrivelse;)/$1/;
+
+ my @f = split(/\;/, $line);
+ @f = @f[13 .. $#f];
+ my $lastend = "";
+ while ($f[3] eq "DELL") {
+ my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
+
+ my $start = POSIX::strftime("%Y-%m-%d",
+ localtime(str2time($startstr)));
+ my $end = POSIX::strftime("%Y-%m-%d",
+ localtime(str2time($endstr)));
+ $str .= "$type $start -> $end ";
+ @f = @f[14 .. $#f];
+ $lastend = $end if ($end gt $lastend);
+ }
my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
tag_machine_unsupported($machine)
- if ($end lt $today);
+ if ($lastend lt $today);
}
} elsif ( $model =~ m/^HP / ) {
my $mech = WWW::Mechanize->new();
@@ -432,6 +444,7 @@ sub get_support_info {
if ($end lt $today);
}
} elsif ( $model =~ m/^IBM / ) {
+ # This code ignore extended support contracts.
my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
if ($producttype && $serial) {
my $content =
@@ -470,20 +483,25 @@ print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-",
I would recommend this approach for tracking support contracts for
-everyone with more than a new computers to administer. :)
+everyone with more than a few computers to administer. :)
+
+
Update 2009-03-06: The IBM page do not include extended support
+contracts, so it is useless in that case. The original Dell code do
+not handle extended support contracts either, but has been updated to
+do so.
@@ -492,23 +510,58 @@ everyone with more than a new computers to administer. :)