]> git.etc.gen.nz Git - mythtv-status.git/commitdiff
Support the new location for the XML feed in MythTV 0.25 release-0.9
authorAndrew Ruthven <andrew@etc.gen.nz>
Tue, 17 Jan 2012 20:56:24 +0000 (09:56 +1300)
committerAndrew Ruthven <andrew@etc.gen.nz>
Tue, 17 Jan 2012 20:56:24 +0000 (09:56 +1300)
bin/mythtv-status

index 690432547f51de3acb39dc79e2890678853b2a71..2902d04ac8953b1537c7f2a5fff9a25cbea9d2f6 100755 (executable)
@@ -644,9 +644,15 @@ sub load_xml {
 
     close IN;
   } else {
-    my $url = "http://$c->{'host'}:$c->{'port'}/xml";
     my $content_type;
-    ($content_type, $status) = xml_fetch($url);
+    # In MythTV 0.25 the path changed from /xml to /Status/GetStatus
+    for my $path ('Status/GetStatus', 'xml') {
+      my $url = "http://$c->{'host'}:$c->{'port'}/$path";
+      ($content_type, $status) = xml_fetch($url);
+
+      last
+        if defined $status;
+    }
 
     die "Nothing was received from the MythTV Backend"
       unless defined $status;
@@ -1052,7 +1058,13 @@ sub xml_fetch {
     die "Sorry, failed to fetch $url: Connection to MythTV timed out.\n"
       unless defined $response;
 
-    die "Sorry, failed to fetch $url:\n" . $response->status_line . "\n"
+    # If we get a page doesn't exist, then just ignore it, we need to fetch
+    # the status page from a few different locations.
+    if ($response->code == 404) {
+      exit 1;
+    }
+
+    die "Sorry, failed to fetch $url: " . $response->status_line . "\n"
       unless $response->is_success;
 
     print $response->header('Content-Type') . "\n";