X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/a93d61e1567d5836402fdadf90f5380108df5d0b..af87e7f8f1d508ba81f4349176b51a413a507f37:/blog/archive/2009/02/02.rss diff --git a/blog/archive/2009/02/02.rss b/blog/archive/2009/02/02.rss index b6364f1a32..e9f6f45dd4 100644 --- a/blog/archive/2009/02/02.rss +++ b/blog/archive/2009/02/02.rss @@ -3,13 +3,13 @@ Petter Reinholdtsen - Entries from February 2009 Entries from February 2009 - ../../../ + http://people.skolelinux.org/pere/blog/ Intellektuelt privilegium - et bedre IP-begrep - ../../../Intellektuelt_privilegium___et_bedre_IP_begrep.html - ../../../Intellektuelt_privilegium___et_bedre_IP_begrep.html + http://people.skolelinux.org/pere/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html + http://people.skolelinux.org/pere/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html Sun, 1 Feb 2009 15:06:00 +0100 <p>Ofte brukes intellektuell eiendom som samlebegrep for opphavsrett, @@ -37,8 +37,8 @@ forretningshemmeligheter framover.</p> Norge trenger en personvernforening - ../../../Norge_trenger_en_personvernforening.html - ../../../Norge_trenger_en_personvernforening.html + http://people.skolelinux.org/pere/blog/Norge_trenger_en_personvernforening.html + http://people.skolelinux.org/pere/blog/Norge_trenger_en_personvernforening.html Sun, 1 Feb 2009 18:35:00 +0100 <p>De siste årene har jeg forsøkt å få liv i @@ -59,8 +59,8 @@ nå får vi se om noen er enig.</p> Min reprap tar sakte form - ../../../Min_reprap_tar_sakte_form.html - ../../../Min_reprap_tar_sakte_form.html + http://people.skolelinux.org/pere/blog/Min_reprap_tar_sakte_form.html + http://people.skolelinux.org/pere/blog/Min_reprap_tar_sakte_form.html Tue, 3 Feb 2009 13:30:00 +0100 <p>Min reprap begynner å ta form. Den er nå kommet så langt at den er @@ -99,8 +99,8 @@ arbeidet.</p> Første vellykkede videostrøm fra NUUG - ../../../F__rste_vellykkede_videostr__m_fra_NUUG.html - ../../../F__rste_vellykkede_videostr__m_fra_NUUG.html + http://people.skolelinux.org/pere/blog/F__rste_vellykkede_videostr__m_fra_NUUG.html + http://people.skolelinux.org/pere/blog/F__rste_vellykkede_videostr__m_fra_NUUG.html Wed, 11 Feb 2009 06:30:00 +0100 <p>Jeg ble glad for å se under @@ -118,8 +118,8 @@ webserver og komprimert.</p> Endelig er Debian Lenny gitt ut - ../../../Endelig_er_Debian_Lenny_gitt_ut.html - ../../../Endelig_er_Debian_Lenny_gitt_ut.html + http://people.skolelinux.org/pere/blog/Endelig_er_Debian_Lenny_gitt_ut.html + http://people.skolelinux.org/pere/blog/Endelig_er_Debian_Lenny_gitt_ut.html Sun, 15 Feb 2009 11:50:00 +0100 <p>Endelig er <a href="http://www.debian.org/">Debian</a> @@ -139,8 +139,8 @@ bootsekvens tilgjengelig i stabil utgave, vha pakken Kart over overvåkningskamera i Norge - ../../../Kart_over_overv__kningskamera_i_Norge.html - ../../../Kart_over_overv__kningskamera_i_Norge.html + http://people.skolelinux.org/pere/blog/Kart_over_overv__kningskamera_i_Norge.html + http://people.skolelinux.org/pere/blog/Kart_over_overv__kningskamera_i_Norge.html Sun, 15 Feb 2009 22:30:00 +0100 <p>I regi av @@ -159,15 +159,15 @@ fikser en av disse manglene, men det vil fortsatt være umulig å vite om et kamera er registrert etter lovens krav eller ikke. Pr. nå er 22 kamera i Oslo registrert, og det trengs flere til å registrere alle. Informasjonen registreres direkte inn i <a -href="http://www.openstreetmap.org/">OpenStreetmap</a>, sa hentes det +href="http://www.openstreetmap.org/">OpenStreetmap</a>, så hentes det automatisk over i spesialkartet.</p> Using bar codes at a computing center - ../../../Using_bar_codes_at_a_computing_center.html - ../../../Using_bar_codes_at_a_computing_center.html + http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html + http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html Fri, 20 Feb 2009 08:50:00 +0100 <p>At work with the University of Oslo, we have several hundred computers @@ -216,8 +216,8 @@ easier automatic tracking of computers.</p> Checking server hardware support status for Dell, HP and IBM servers - ../../../Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html - ../../../Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html + http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html + http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html Sat, 28 Feb 2009 23:50:00 +0100 <p>At work, we have a few hundred Linux servers, and with that amount @@ -255,7 +255,7 @@ scraping was written by me based on the Dell code. I know the HTML parsing could be done using nice libraries, but did not want to introduce more dependencies. This is the current incarnation:</p> -<p><pre> +<pre> use LWP::Simple; use POSIX; use WWW::Mechanize; @@ -267,7 +267,7 @@ sub get_support_info { if ( $model =~ m/^Dell / ) { # fetch website from Dell support - my $url = "http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no&cs=nodhs1&l=no&s=dhs&ServiceTag=$serial"; + my $url = "http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no&amp;cs=nodhs1&amp;l=no&amp;s=dhs&amp;ServiceTag=$serial"; my $webpage = get($url); return undef unless ($webpage); @@ -275,14 +275,26 @@ sub get_support_info { my @lines = split(/\n/, $webpage); 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/&lt;[^>]+?>/;/gm; + $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(); @@ -301,7 +313,7 @@ sub get_support_info { # Next step is screen scraping my $content = $mech->content(); - $content =~ s/<[^>]+?>/;/gm; + $content =~ s/&lt;[^>]+?>/;/gm; $content =~ s/\s+/ /gm; $content =~ s/;\s*;/;;/gm; $content =~ s/;[\s;]+/;/gm; @@ -323,12 +335,13 @@ 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) { + if ($producttype &amp;&amp; $serial) { my $content = - get("http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&brandind=5000008&Submit=Submit&type=$producttype&serial=$serial"); + get("http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&amp;brandind=5000008&amp;Submit=Submit&amp;type=$producttype&amp;serial=$serial"); if ($content) { - $content =~ s/<[^>]+?>/;/gm; + $content =~ s/&lt;[^>]+?>/;/gm; $content =~ s/\s+/ /gm; $content =~ s/;\s*;/;;/gm; $content =~ s/;[\s;]+/;/gm; @@ -346,22 +359,27 @@ sub get_support_info { } return $str; } -</pre></p> +</pre> <p>Here are some examples on how to use the function, using fake serial numbers. The information passed in as arguments are fetched from dmidecode.</p> -<p><pre> +<pre> print get_support_info("hp.host", "HP ProLiant BL460c G1", "1234567890" "447707-B21"); print get_support_info("dell.host", "Dell Inc. PowerEdge 2950", "1234567"); print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-", "1234567"); -</pre></p> +</pre> <p>I would recommend this approach for tracking support contracts for -everyone with more than a new computers to administer. :)</p> +everyone with more than a few computers to administer. :)</p> + +<p>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.</p>