Added check to see if cURL could fetch the XML-file
If cURL fails in retrieving the XML-file, then exit with a UNKNOWN state.
This commit is contained in:
parent
fef495ff7b
commit
d322845589
5
HISTORY
5
HISTORY
@ -1,3 +1,8 @@
|
|||||||
|
0.5 - 2014-08-15
|
||||||
|
Added a check to see if cURL was successful in
|
||||||
|
retrieving the XML-file. If it was not, then exit
|
||||||
|
with a UNKNOWN state and print the cURL error message.
|
||||||
|
|
||||||
0.4 - 2014-08-09
|
0.4 - 2014-08-09
|
||||||
Added /u modifier to more preg_matches for UTF-8
|
Added /u modifier to more preg_matches for UTF-8
|
||||||
Replaced a-zåäö with \p{L}
|
Replaced a-zåäö with \p{L}
|
||||||
|
@ -26,7 +26,7 @@ define ("CRITICAL", 2);
|
|||||||
define ("UNKNOWN", 3);
|
define ("UNKNOWN", 3);
|
||||||
|
|
||||||
// Define version and program
|
// Define version and program
|
||||||
define ("VERSION", 0.4);
|
define ("VERSION", 0.5);
|
||||||
define ("PROGRAM", $argv[0]);
|
define ("PROGRAM", $argv[0]);
|
||||||
|
|
||||||
// Function for printing usage
|
// Function for printing usage
|
||||||
@ -129,9 +129,18 @@ if (!preg_grep("/^$district$/u", $availDistricts))
|
|||||||
$ch = curl_init("http://www.smhi.se/weatherSMHI2/varningar/smhi_alla_varningar.xml");
|
$ch = curl_init("http://www.smhi.se/weatherSMHI2/varningar/smhi_alla_varningar.xml");
|
||||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
$data = curl_exec($ch);
|
curl_setopt($ch, CURLOPT_FAILONERROR, true);
|
||||||
|
// check if curl failed and bail out if it did
|
||||||
|
if (($data = curl_exec($ch)) === false)
|
||||||
|
{
|
||||||
|
print curl_error($ch);
|
||||||
|
curl_close($ch);
|
||||||
|
exit(UNKNOWN);
|
||||||
|
}
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
|
||||||
|
//print "\n$data\n"; // for testing purposes (uncomment to view xml-file)
|
||||||
|
|
||||||
// Regex the area (1st paranthesis is area, 2nd is warning class, 3rd is warning msg)
|
// Regex the area (1st paranthesis is area, 2nd is warning class, 3rd is warning msg)
|
||||||
preg_match("/($district)(?:: )(?:Varning klass )([1-3]+)(?:,\s)([-0-9\p{L}.,&\s]*)/iu",
|
preg_match("/($district)(?:: )(?:Varning klass )([1-3]+)(?:,\s)([-0-9\p{L}.,&\s]*)/iu",
|
||||||
$data, $matches);
|
$data, $matches);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user