mirror of
https://github.com/smxi/inxi.git
synced 2025-01-19 08:57:57 +00:00
new version, new tarball, bug fix for weather
This commit is contained in:
parent
dc2fd3aa53
commit
76dc2733b8
28
inxi
28
inxi
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
########################################################################
|
########################################################################
|
||||||
#### Script Name: inxi
|
#### Script Name: inxi
|
||||||
#### Version: 1.9.01
|
#### Version: 1.9.02
|
||||||
#### Date: May 17 2013
|
#### Date: May 17 2013
|
||||||
#### Patch Number: 00
|
#### Patch Number: 00
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -7969,7 +7969,9 @@ get_weather_data()
|
||||||
local location_site='http://geoip.ubuntu.com/lookup'
|
local location_site='http://geoip.ubuntu.com/lookup'
|
||||||
local weather_feed='http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query='
|
local weather_feed='http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query='
|
||||||
local weather_spider='http://wunderground.com/'
|
local weather_spider='http://wunderground.com/'
|
||||||
local data_grab_error='' wget_error=0 b_testing=false b_debug=false
|
local data_grab_error='' wget_error=0
|
||||||
|
local b_test_loc=true b_test_weather=false b_debug=false
|
||||||
|
local test_location='location2.xml' test_weather='weather-feed.xml'
|
||||||
local location_data='' location='' weather_data='' location_array_value='' a_location=''
|
local location_data='' location='' weather_data='' location_array_value='' a_location=''
|
||||||
local weather_array_value='' site_elevation=''
|
local weather_array_value='' site_elevation=''
|
||||||
local testDir="$HOME/bin/scripts/inxi/data/weather/"
|
local testDir="$HOME/bin/scripts/inxi/data/weather/"
|
||||||
|
@ -7979,7 +7981,7 @@ get_weather_data()
|
||||||
if [[ -n $ALTERNATE_WEATHER_LOCATION ]];then
|
if [[ -n $ALTERNATE_WEATHER_LOCATION ]];then
|
||||||
location=$ALTERNATE_WEATHER_LOCATION
|
location=$ALTERNATE_WEATHER_LOCATION
|
||||||
else
|
else
|
||||||
if [[ $b_testing != 'true' ]];then
|
if [[ $b_test_loc != 'true' ]];then
|
||||||
# make sure location site is up
|
# make sure location site is up
|
||||||
wget -q -t 1 -T 5 --spider $location_site || wget_error=$?
|
wget -q -t 1 -T 5 --spider $location_site || wget_error=$?
|
||||||
# grab the location xml file
|
# grab the location xml file
|
||||||
|
@ -7992,20 +7994,21 @@ get_weather_data()
|
||||||
data_grab_error="Error: location server up but download error - wget: $wget_error"
|
data_grab_error="Error: location server up but download error - wget: $wget_error"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [[ -f $testDir/my-location.xml ]];then
|
if [[ -f $testDir$test_location ]];then
|
||||||
location_data="$( cat $testDir/my-location.xml)"
|
location_data="$( cat $testDir$test_location )"
|
||||||
else
|
else
|
||||||
data_grab_error="Error: location xml local file not found."
|
data_grab_error="Error: location xml local file not found."
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ -z $( grep -i '<?xml' <<< $location_data ) ]];then
|
if [[ -z $( grep -i '<Response' <<< $location_data ) ]];then
|
||||||
data_grab_error="Error: location downloaded but data contains no <?xml statement."
|
data_grab_error="Error: location downloaded but data contains no xml."
|
||||||
else
|
else
|
||||||
# clean up xml and make easy to process with newlines, note, bsd sed has no support for inserting
|
# clean up xml and make easy to process with newlines, note, bsd sed has no support for inserting
|
||||||
# \n dircctly so we have to use this hack
|
# \n dircctly so we have to use this hack
|
||||||
# location_data="$( sed $SED_RX 's|><|>\n<|g' <<< $location_data )"
|
# location_data="$( sed $SED_RX 's|><|>\n<|g' <<< $location_data )"
|
||||||
location_data="$( sed $SED_RX 's|><|>\
|
location_data="$( sed $SED_RX 's|><|>\
|
||||||
<|g' <<< $location_data )"
|
<|g' <<< $location_data )"
|
||||||
|
# echo -e "ld:\n$location_data"
|
||||||
location_array_value=$( gawk '
|
location_array_value=$( gawk '
|
||||||
function clean(data) {
|
function clean(data) {
|
||||||
returnData=""
|
returnData=""
|
||||||
|
@ -8086,7 +8089,7 @@ get_weather_data()
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ $b_debug == 'true' ]];then
|
if [[ $b_debug == 'true' ]];then
|
||||||
echo "${A_WEATHER_DATA[0]}"
|
echo -e "location array:\n${A_WEATHER_DATA[0]}"
|
||||||
echo "location: $location"
|
echo "location: $location"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -8098,7 +8101,7 @@ get_weather_data()
|
||||||
if [[ -n $data_grab_error ]];then
|
if [[ -n $data_grab_error ]];then
|
||||||
A_WEATHER_DATA=$data_grab_error
|
A_WEATHER_DATA=$data_grab_error
|
||||||
else
|
else
|
||||||
if [[ $b_testing != 'true' ]];then
|
if [[ $b_test_weather != 'true' ]];then
|
||||||
wget -q -t 1 -T 5 --spider $weather_spider || wget_error=$?
|
wget -q -t 1 -T 5 --spider $weather_spider || wget_error=$?
|
||||||
# grab the weather feed xml file
|
# grab the weather feed xml file
|
||||||
if [[ $wget_error -eq 0 ]];then
|
if [[ $wget_error -eq 0 ]];then
|
||||||
|
@ -8110,8 +8113,8 @@ get_weather_data()
|
||||||
data_grab_error="Error: weather server up but download error - wget: $wget_error"
|
data_grab_error="Error: weather server up but download error - wget: $wget_error"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [[ -f $testDir/weather-feed.xml ]];then
|
if [[ -f $testDir$test_weather ]];then
|
||||||
weather_data="$( cat $testDir/weather-feed.xml)"
|
weather_data="$( cat $testDir$test_weather)"
|
||||||
else
|
else
|
||||||
data_grab_error="Error: weather feed xml local file not found."
|
data_grab_error="Error: weather feed xml local file not found."
|
||||||
fi
|
fi
|
||||||
|
@ -8127,7 +8130,7 @@ get_weather_data()
|
||||||
# we need to grab the location data from the feed for remote checks
|
# we need to grab the location data from the feed for remote checks
|
||||||
if [[ -n $ALTERNATE_WEATHER_LOCATION ]];then
|
if [[ -n $ALTERNATE_WEATHER_LOCATION ]];then
|
||||||
location_data=$( sed -e '/<current_observation>/,/<display_location>/d' -e '/<\/display_location>/,/<\/current_observation>/d' <<< "$weather_data" )
|
location_data=$( sed -e '/<current_observation>/,/<display_location>/d' -e '/<\/display_location>/,/<\/current_observation>/d' <<< "$weather_data" )
|
||||||
# echo "$location_data"
|
# echo -e "ld1:\n$location_data"
|
||||||
A_WEATHER_DATA[0]=$( gawk '
|
A_WEATHER_DATA[0]=$( gawk '
|
||||||
function clean(data) {
|
function clean(data) {
|
||||||
returnData=""
|
returnData=""
|
||||||
|
@ -8156,6 +8159,7 @@ get_weather_data()
|
||||||
END {
|
END {
|
||||||
print city ";" state ";;;;" country
|
print city ";" state ";;;;" country
|
||||||
}' <<< "$location_data" )
|
}' <<< "$location_data" )
|
||||||
|
# echo -e "location:\n${A_WEATHER_DATA[0]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# clean off everything before/after observation_location
|
# clean off everything before/after observation_location
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
=====================================================================================
|
||||||
|
Version: 1.9.02
|
||||||
|
Patch Version: 00
|
||||||
|
Script Date: May 17 2013
|
||||||
|
-----------------------------------
|
||||||
|
Changes:
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
new version, new tarball, bug fix for weather
|
||||||
|
-----------------------------------
|
||||||
|
-- Harald Hope - Fri, 17 May 2013 21:10:21 -0700
|
||||||
|
|
||||||
=====================================================================================
|
=====================================================================================
|
||||||
Version: 1.9.01
|
Version: 1.9.01
|
||||||
Patch Version: 00
|
Patch Version: 00
|
||||||
|
|
Loading…
Reference in a new issue