mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 16:21:39 +00:00
New tarball, version, man page. Improved remote weather, now it uses -W, and deprecated -! location=..
That was too hard to type and too hard to remember. Also do more dyanamic reordering of weather output, depending on how much data is present, and how many x options are used. Added error handling for generic deprecated options, and for options that do not have the correct syntax for OPTARG, like with -W. This should about do it for the weather option for now unless I missed something somewhere.
This commit is contained in:
parent
c27514aa58
commit
c6905ed8e8
84
inxi
84
inxi
|
@ -1,8 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
########################################################################
|
||||
#### Script Name: inxi
|
||||
#### Version: 1.9.6
|
||||
#### Date: May 19 2013
|
||||
#### Version: 1.9.7
|
||||
#### Date: May 25 2013
|
||||
#### Patch Number: 00
|
||||
########################################################################
|
||||
#### SPECIAL THANKS
|
||||
|
@ -1207,7 +1207,7 @@ select_default_color_scheme()
|
|||
#### -------------------------------------------------------------------
|
||||
|
||||
# Error handling
|
||||
# args: $1 - error number; $2 - optional, extra information
|
||||
# args: $1 - error number; $2 - optional, extra information; $3 - optional extra info
|
||||
error_handler()
|
||||
{
|
||||
eval $LOGFS
|
||||
|
@ -1255,6 +1255,12 @@ error_handler()
|
|||
17)
|
||||
error_message="All $SCRIPT_NAME self updater features have been disabled by the distribution\npackage maintainer. This includes the option you used: $2"
|
||||
;;
|
||||
18)
|
||||
error_message="The argument you provided for $2 does not have supported syntax.\nPlease use the following formatting:\n$3"
|
||||
;;
|
||||
19)
|
||||
error_message="The option $2 has been deprecated. Please use $3 instead.\nSee -h for instructions and syntax."
|
||||
;;
|
||||
20)
|
||||
error_message="The option you selected has been deprecated. $2\nSee the -h (help) menu for currently supported options."
|
||||
;;
|
||||
|
@ -2004,12 +2010,13 @@ remove_erroneous_chars()
|
|||
get_parameters()
|
||||
{
|
||||
eval $LOGFS
|
||||
local opt='' wget_test='' debug_data_type='' weather_flag='w'
|
||||
local opt='' wget_test='' debug_data_type='' weather_flag='wW:'
|
||||
local use_short='true' # this is needed to trigger short output, every v/d/F/line trigger sets this false
|
||||
|
||||
# if distro maintainers don't want the weather feature disable it
|
||||
if [[ $B_ALLOW_WEATHER == 'false' ]];then
|
||||
weather_flag=''
|
||||
|
||||
fi
|
||||
if [[ $1 == '--version' ]];then
|
||||
print_version_info
|
||||
|
@ -2239,6 +2246,14 @@ get_parameters()
|
|||
w) B_SHOW_WEATHER=true
|
||||
use_short='false'
|
||||
;;
|
||||
W) ALTERNATE_WEATHER_LOCATION=$( sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' <<< $OPTARG )
|
||||
if [[ -n $( grep -Esi '([^,]+,.+|[0-9-]+)' <<< $ALTERNATE_WEATHER_LOCATION ) ]];then
|
||||
B_SHOW_WEATHER=true
|
||||
use_short='false'
|
||||
else
|
||||
error_handler 18 "-$opt: '$OPTARG'" "city,state OR latitude,longitude OR postal/zip code."
|
||||
fi
|
||||
;;
|
||||
# this will trigger either with x, xx, xxx or with Fx but not with xF
|
||||
x) if [[ $B_EXTRA_EXTRA_DATA == 'true' ]];then
|
||||
B_EXTRA_EXTRA_EXTRA_DATA='true'
|
||||
|
@ -2359,7 +2374,7 @@ get_parameters()
|
|||
;;
|
||||
# for weather function, allows user to set an alternate weather location
|
||||
location=*)
|
||||
ALTERNATE_WEATHER_LOCATION=$( sed 's/location=//' <<< $OPTARG )
|
||||
error_handler 19 "-$opt location=" "-W"
|
||||
;;
|
||||
*) error_handler 11 "$OPTARG"
|
||||
;;
|
||||
|
@ -2477,8 +2492,11 @@ show_options()
|
|||
print_screen_output " 7 - Network IP data (-i); triggers -xxx."
|
||||
# if distro maintainers don't want the weather feature disable it
|
||||
if [[ $B_ALLOW_WEATHER == 'true' ]];then
|
||||
print_screen_output "-w Local weather data/time. To check an alternate location, see: -! location=<location>."
|
||||
print_screen_output " For extra data options see -x, -xx, and -xxx."
|
||||
print_screen_output "-w Local weather data/time. To check an alternate location, see: -W <location>."
|
||||
print_screen_output " For extra weather data options see -x, -xx, and -xxx."
|
||||
print_screen_output "-W <location> - <location> supported options: postal code; city,[state/country]; latitude,longitude"
|
||||
print_screen_output " Only use if you want the weather somewhere other than the machine running $SCRIPT_NAME."
|
||||
print_screen_output " Use only ascii characters, replace spaces in city/state/country names with +: new+york,ny"
|
||||
fi
|
||||
print_screen_output "-x Adds the following extra data (only works with verbose or line output, not short form): "
|
||||
print_screen_output " -C - Bogomips on Cpu;"
|
||||
|
@ -2498,7 +2516,7 @@ show_options()
|
|||
print_screen_output " -S - Desktop toolkit if avaliable (GNOME/XFCE/KDE only); Kernel gcc version"
|
||||
print_screen_output " -t - Memory use output to cpu (-xt c), and cpu use to memory (-xt m)."
|
||||
if [[ $B_ALLOW_WEATHER == 'true' ]];then
|
||||
print_screen_output " -w - Wind speed and time zone."
|
||||
print_screen_output " -w/-W - Wind speed and time zone (-w only)."
|
||||
fi
|
||||
print_screen_output "-xx Show extra, extra data (only works with verbose or line output, not short form): "
|
||||
print_screen_output " -A - Chip vendor:product ID for each audio device."
|
||||
|
@ -2513,13 +2531,13 @@ show_options()
|
|||
print_screen_output " Resync line, shows progress bar."
|
||||
print_screen_output " -S - Display manager (dm) in desktop output, if in X (like kdm, gdm3, lightdm)."
|
||||
if [[ $B_ALLOW_WEATHER == 'true' ]];then
|
||||
print_screen_output " -w - Humidity, barometric pressure."
|
||||
print_screen_output " -w/-W - Humidity, barometric pressure."
|
||||
fi
|
||||
print_screen_output " -xx -@ <11-14> - Automatically uploads debugger data tar.gz file to ftp.techpatterns.com."
|
||||
print_screen_output "-xxx Show extra, extra, extra data (only works with verbose or line output, not short form): "
|
||||
print_screen_output " -S - Panel/shell information in desktop output, if in X (like gnome-shell, cinnamon, mate-panel)."
|
||||
if [[ $B_ALLOW_WEATHER == 'true' ]];then
|
||||
print_screen_output " -w - Location (uses -z/irc filter), weather observation time, wind chill, heat index,"
|
||||
print_screen_output " -w/-W - Location (uses -z/irc filter), weather observation time, wind chill, heat index,"
|
||||
print_screen_output " dew point (shows extra lines for data where relevant)."
|
||||
fi
|
||||
print_screen_output "-z Security filters for IP/Mac addresses, location, user home directory name. Default on for irc clients."
|
||||
|
@ -2554,11 +2572,7 @@ show_options()
|
|||
print_screen_output "Advanced Options:"
|
||||
print_screen_output "-! 31 Turns off hostname in output. Useful if showing output from servers etc."
|
||||
print_screen_output "-! 32 Turns on hostname in output. Overrides global B_SHOW_HOST='false'"
|
||||
if [[ $B_ALLOW_WEATHER == 'true' ]];then
|
||||
print_screen_output "-! location=<location> - <location> Supported: postal code; city,[state/country]; latitude,longitude"
|
||||
print_screen_output " Only use if you want the weather somewhere other than the machine running $SCRIPT_NAME."
|
||||
print_screen_output " Must be used with -w. Only ascii, replace spaces in city/state/country names with +: new+york,ny"
|
||||
fi
|
||||
|
||||
if [[ $1 == 'full' ]];then
|
||||
print_screen_output " "
|
||||
print_screen_output "Developer and Testing Options (Advanced):"
|
||||
|
@ -10689,7 +10703,7 @@ print_weather_data()
|
|||
local weather_data='' location_string='' local_time='' time_string='' pressure=''
|
||||
local a_location='' a_weather='' weather_string='' weather='' temp='' winds='' humidity=''
|
||||
local time_zone='' observation_time='' city='' state='' country='' altitude=''
|
||||
local heat_index="" wind_chill='' dewpoint=''
|
||||
local heat_index="" wind_chill='' dewpoint='' xxx_humidity=''
|
||||
local openP='(' closeP=')'
|
||||
|
||||
if [[ $B_RUNNING_IN_SHELL == 'false' ]];then
|
||||
|
@ -10745,7 +10759,7 @@ print_weather_data()
|
|||
if [[ $B_EXTRA_DATA == 'true' && -n ${a_location[8]} ]];then
|
||||
time_zone=" (${a_location[8]})"
|
||||
fi
|
||||
time_string="$pressure${C1}Time$SEP3${C2}$local_time$time_zone"
|
||||
time_string="${C1}Time$SEP3${C2}$local_time$time_zone"
|
||||
|
||||
if [[ $B_EXTRA_DATA != 'true' ]];then
|
||||
weather_data="$weather_string $time_string"
|
||||
|
@ -10765,16 +10779,6 @@ print_weather_data()
|
|||
if [[ -n ${a_weather[7]} ]];then
|
||||
dew_point="${C1}Dew Point$SEP3${C2} ${a_weather[7]} "
|
||||
fi
|
||||
# these were blank in my tests
|
||||
if [[ -n "$heat_index$wind_chill$dew_point" ]];then
|
||||
weather_data=$( create_print_line " " "$heat_index$wind_chill$dew_point" )
|
||||
print_screen_output "$weather_data"
|
||||
fi
|
||||
fi
|
||||
weather_data="$time_string"
|
||||
weather_data=$( create_print_line " " "$weather_data" )
|
||||
print_screen_output "$weather_data"
|
||||
if [[ $B_EXTRA_EXTRA_EXTRA_DATA == 'true' ]];then
|
||||
if [[ -n ${a_weather[0]} ]];then
|
||||
observation_time=" ${C1}Observation Time$SEP3${C2} ${a_weather[0]} "
|
||||
fi
|
||||
|
@ -10792,9 +10796,33 @@ print_weather_data()
|
|||
altitude=" ${C1}Altitude$SEP3${C2} ${a_weather[10]}"
|
||||
fi
|
||||
location_string="${C1}Location$SEP3${C2}$city$state$country$altitude "
|
||||
else
|
||||
location_string=$time_string$observation_time
|
||||
time_string=''
|
||||
observation_time=''
|
||||
fi
|
||||
weather_data=$( create_print_line " " "$location_string$observation_time" )
|
||||
# the last three are oftenblank
|
||||
if [[ -z "$heat_index$wind_chill$dew_point" ]];then
|
||||
weather_data=$( create_print_line " " "$pressure$location_string" )
|
||||
print_screen_output "$weather_data"
|
||||
else
|
||||
weather_data=$( create_print_line " " "$pressure$heat_index$wind_chill$dew_point" )
|
||||
print_screen_output "$weather_data"
|
||||
if [[ $B_OUTPUT_FILTER != 'true' ]];then
|
||||
weather_data=$( create_print_line " " "$location_string" )
|
||||
print_screen_output "$weather_data"
|
||||
fi
|
||||
fi
|
||||
if [[ -n $time_string$observation_time ]];then
|
||||
weather_data=$( create_print_line " " "$time_string$observation_time" )
|
||||
print_screen_output "$weather_data"
|
||||
fi
|
||||
else
|
||||
if [[ -n $pressure$time_string ]];then
|
||||
weather_data="$pressure$time_string"
|
||||
weather_data=$( create_print_line " " "$weather_data" )
|
||||
print_screen_output "$weather_data"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
|
|
33
inxi.1
33
inxi.1
|
@ -1,4 +1,4 @@
|
|||
.TH INXI 1 "2013\-05\-18" inxi "inxi manual"
|
||||
.TH INXI 1 "2013\-05\-25" inxi "inxi manual"
|
||||
.SH NAME
|
||||
inxi \- Command line system information script for console and IRC
|
||||
|
||||
|
@ -251,8 +251,16 @@ triggers \fB\-xx\fR extra data option.
|
|||
.TP
|
||||
.B \-w
|
||||
Adds weather line. Note, this depends on an unreliable api so it may not always be working in the future.
|
||||
To get weather for an alternate location, use also the \-! location=<location_string>. See also \-x, \-xx, \-xxx option.
|
||||
Please note, your distribution's maintainer may chose to disable this feature, so if \-w doesn't work, that's why.
|
||||
To get weather for an alternate location, use \-W <location_string>. See also \-x, \-xx, \-xxx option.
|
||||
Please note, your distribution's maintainer may chose to disable this feature, so if \-w or \-W don't work, that's why.
|
||||
.TP
|
||||
.B \-W <location_string>
|
||||
Get weather/time for an alternate location. Accepts postal/zip code, city,state pair, or latitude,longitude.
|
||||
Note: city/country/state names must not contain spaces. Replace spaces with '+' sign. No spaces around , (comma).
|
||||
Use only ascii letters in city/state/country names, sorry.
|
||||
Examples: \-W 95623 OR \-W Boston,MA OR \-W45.5234,\-122.6762 OR \-W new+york,ny
|
||||
OR \-W bodo,norway.
|
||||
|
||||
.TP
|
||||
.B \-z
|
||||
Adds security filters for IP addresses, Mac, location (\-w), and user home directory name. Default on for irc clients.
|
||||
|
@ -327,8 +335,8 @@ The following shows which lines / items get extra information with each extra da
|
|||
.B \-x \-t
|
||||
\- Adds memory use output to cpu (\fB\-xt c\fR), and cpu use to memory (\fB\-xt m\fR).
|
||||
.TP
|
||||
.B \-x \-w
|
||||
\- Adds wind speed and time zone, and makes output go to two lines.
|
||||
.B \-x \-w / \-W
|
||||
\- Adds wind speed and time zone (\-w only), and makes output go to two lines.
|
||||
.TP
|
||||
.B \-xx \-A
|
||||
\- Adds vendor:product ID of each Audio device.
|
||||
|
@ -360,7 +368,7 @@ resync progress line as well.
|
|||
\- Adds, if run in X, display manager type to Desktop information, if present. If none, shows N/A.
|
||||
Supports most known display managers, like xdm, gdm, kdm, slim, lightdm, or mdm.
|
||||
.TP
|
||||
.B \-xx \-w
|
||||
.B \-xx \-w / \-W
|
||||
\- Adds humidity and barometric pressure.
|
||||
.TP
|
||||
.B \-xx \-@ <11\-14>
|
||||
|
@ -370,9 +378,9 @@ Supports most known display managers, like xdm, gdm, kdm, slim, lightdm, or mdm.
|
|||
\- Adds, if run in X, shell/panel type info to Desktop information, if present. If none, shows nothing.
|
||||
Supports some current desktop extras like gnome\-panel, lxde\-panel, and others. Added mainly for Mint support.
|
||||
.TP
|
||||
.B \-xxx \-w
|
||||
\- Adds third line of information: location (city state country), weather observation time, altitude of system.
|
||||
If wind chill, heat index, or dew point are available, adds a line for to hold that data as well.
|
||||
.B \-xxx \-w / \-W
|
||||
\- Adds location (city state country), weather observation time, altitude of system.
|
||||
If wind chill, heat index, or dew point are available, shows that data as well.
|
||||
|
||||
.SH ADVANCED OPTIONS
|
||||
.TP
|
||||
|
@ -383,13 +391,6 @@ forums or IRC.
|
|||
.B \-! 32
|
||||
Turns on hostname in System line. Overrides inxi config file value (if set): B_SHOW_HOST='false'.
|
||||
|
||||
.TP
|
||||
.B \-! location=<location_string>
|
||||
With \-w, get weather for an alternate location. Accepts postal/zip code, city,state pair, or latitude,longitude.
|
||||
Note: city/country/state names must not contain spaces. Replace spaces with '+' sign. Must have space between -! and location=. No spaces around = sign. Use only ascii letters in city/state/country names, sorry.
|
||||
Examples: \-! location=95623 OR \-! location=Boston,MA OR \-! location=45.5234,\-122.6762 OR \-! location=new+york,ny
|
||||
OR \-! location=bodo,norway OR \-! location=
|
||||
|
||||
.SH DEBUGGING OPTIONS
|
||||
.TP
|
||||
.B \-%
|
||||
|
|
|
@ -1,3 +1,23 @@
|
|||
=====================================================================================
|
||||
Version: 1.9.7
|
||||
Patch Version: 00
|
||||
Script Date: May 25 2013
|
||||
-----------------------------------
|
||||
Changes:
|
||||
-----------------------------------
|
||||
New tarball, version, man page. Improved remote weather, now it uses -W, and deprecated -! location=..
|
||||
|
||||
That was too hard to type and too hard to remember. Also do more dyanamic reordering of weather
|
||||
output, depending on how much data is present, and how many x options are used.
|
||||
|
||||
Added error handling for generic deprecated options, and for options that do not have the correct
|
||||
syntax for OPTARG, like with -W.
|
||||
|
||||
This should about do it for the weather option for now unless I missed something somewhere.
|
||||
|
||||
-----------------------------------
|
||||
-- Harald Hope - Sat, 25 May 2013 20:16:01 -0700
|
||||
|
||||
=====================================================================================
|
||||
Version: 1.9.6
|
||||
Patch Version: 00
|
||||
|
|
Loading…
Reference in a new issue