chiark / gitweb /
Dump bogus XML in _commodmap.xml if we can't parse it
authorIan Jackson <ian@liberator.relativity.greenend.org.uk>
Wed, 23 Sep 2009 23:09:43 +0000 (00:09 +0100)
committerIan Jackson <ian@liberator.relativity.greenend.org.uk>
Wed, 23 Sep 2009 23:09:43 +0000 (00:09 +0100)
yarrg/commod-results-processor

index 99c6924..36804d3 100755 (executable)
@@ -287,7 +287,16 @@ sub refresh_commodmap() {
     my $content= $resp->content;
 
 #    print STDERR "[[[$content]]]\n";
-    $xp->parse($content);
+    my $commodmapxmltmp= '_commodmap.xml';
+    if (!eval {
+       $xp->parse($content); 1;
+    }) {
+       open R, ">./$commodmapxmltmp" or die $!;
+       print R $content or die $!;
+       close R or die $!;
+       die "$@ parsing commodmap";
+    }
+    unlink $commodmapxmltmp or $!==&ENOENT or die $!;
     close $o or die $!;
     rename "_commodmap.tsv.tmp","_commodmap.tsv" or die $!;
 }