]> pere.pagekite.me Git - homepage.git/commitdiff
Improve HTML.
authorPetter Reinholdtsen <pere@hungry.com>
Sat, 28 Feb 2009 22:54:03 +0000 (22:54 +0000)
committerPetter Reinholdtsen <pere@hungry.com>
Sat, 28 Feb 2009 22:54:03 +0000 (22:54 +0000)
blog/data/2009-02-28-hw-support.txt

index aeb42fd64dd38b086eb668e57d8aca5ce538a669..10ed3a4fd2ba6133be73d7f70a20f52e050ae062 100644 (file)
@@ -37,7 +37,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;
@@ -49,7 +49,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);
 
@@ -57,7 +57,7 @@ sub get_support_info {
         my @lines = split(/\n/, $webpage);
         foreach my $line (@lines) {
             next unless ($line =~ m/Beskrivelse/);
-            $line =~ s/<[^>]+?>/;/gm;
+            $line =~ s/&lt;[^>]+?>/;/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";
@@ -83,7 +83,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;
@@ -106,11 +106,11 @@ sub get_support_info {
         }
     } elsif ( $model =~ m/^IBM / ) {
         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;
@@ -128,19 +128,19 @@ 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>