]> git.openstreetmap.org Git - dns.git/blobdiff - bin/mkgeo
Generate better KML when crossing the date line from west to east
[dns.git] / bin / mkgeo
index ce98991c345d38339f7e0292044226742200573d..6474a76fe705dbd36d5cc0eed587b8491393eb9e 100755 (executable)
--- a/bin/mkgeo
+++ b/bin/mkgeo
@@ -15,24 +15,30 @@ my $source = shift @ARGV;
 my $zone = shift @ARGV;
 my $servers = YAML::LoadFile("src/${source}");
 
-my $ua = LWP::UserAgent->new;
-
-$ua->default_header("App-Key", "2cohi62u5haxvqmypk3ljqqrze1jufrh");
-$ua->credentials("api.pingdom.com:443", "Pingdom API", $ENV{PINGDOM_USERNAME}, $ENV{PINGDOM_PASSWORD});
-
 foreach my $server (values %$servers)
 {
     $server->{status} = "down";
+}
 
-    if (my $checkid = $server->{pingdom})
-    {
-        my $response = $ua->get("https://api.pingdom.com/api/2.0/checks/${checkid}");
+if ($ENV{PINGDOM_USERNAME} && $ENV{PINGDOM_PASSWORD})
+{
+    my $ua = LWP::UserAgent->new;
 
-        if ($response->is_success)
+    $ua->default_header("App-Key", "2cohi62u5haxvqmypk3ljqqrze1jufrh");
+    $ua->credentials("api.pingdom.com:443", "Pingdom API", $ENV{PINGDOM_USERNAME}, $ENV{PINGDOM_PASSWORD});
+
+    foreach my $server (values %$servers)
+    {
+        if (my $checkid = $server->{pingdom})
         {
-            my $check = decode_json($response->content);
+            my $response = $ua->get("https://api.pingdom.com/api/2.0/checks/${checkid}");
+
+            if ($response->is_success)
+            {
+                my $check = decode_json($response->content);
 
-            $server->{status} = $check->{check}->{status};
+                $server->{status} = $check->{check}->{status};
+            }
         }
     }
 }
@@ -103,6 +109,10 @@ foreach my $country (values %countries)
     {
         $clon = $clon - 360;
     }
+    elsif ($slon > 0 && $clon < 0 && 360 + $clon - $slon < $slon - $clon)
+    {
+        $slon = $slon - 360;
+    }
 
     $zonefile->print("C\L$country->{code}\E.${zone}:$servers[0]->{name}.${zone}:600\n");