From 54844ed993e8ecd5a78e83ba6cd3d3c92920de62 Mon Sep 17 00:00:00 2001 From: Markus Fleschutz Date: Mon, 25 Nov 2024 09:44:07 +0100 Subject: [PATCH] Updated list-city-weather.ps1 --- scripts/list-city-weather.ps1 | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/scripts/list-city-weather.ps1 b/scripts/list-city-weather.ps1 index 07ec2276..3543e603 100755 --- a/scripts/list-city-weather.ps1 +++ b/scripts/list-city-weather.ps1 @@ -1,30 +1,35 @@ <# .SYNOPSIS - Lists the weather of cities world-wide + Lists the weather of cities .DESCRIPTION This PowerShell script lists the current weather conditions of cities world-wide (west to east). .EXAMPLE PS> ./list-city-weather.ps1 + + CITY TEMP RAIN WIND SUN + ---- ---- ---- ---- --- + Hawaii ⛅️ +25°C 0.0mm 69% ↙5km/h 06:49:15 → 17:47:57 + ... .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> -param($cities = @("Hawaii","Los Angeles","Mexico City","Dallas","Miami","New York","Rio de Janeiro","Paris","London","Berlin","Cape Town","Dubai","Mumbai","Singapore","Hong Kong","Perth","Peking","Tokyo","Sydney")) - -function ListCityWeather { +function List-City-Weather { + $cities = @("Hawaii","Los Angeles","Mexico City","Dallas","Miami","New York","Rio de Janeiro","Paris","London","Berlin","Cape Town","Dubai","Mumbai","Singapore","Hong Kong","Perth","Peking","Tokyo","Sydney") foreach($city in $cities) { - $Temp = (Invoke-WebRequest http://wttr.in/${City}?format="%t %c " -UserAgent "curl" -useBasicParsing).Content - $Rain = (Invoke-WebRequest http://wttr.in/${City}?format="%p %h" -UserAgent "curl" -useBasicParsing).Content - $Wind = (Invoke-WebRequest http://wttr.in/${City}?format="%w" -UserAgent "curl" -useBasicParsing).Content - $Sun = (Invoke-WebRequest http://wttr.in/${City}?format="%S → %s" -UserAgent "curl" -useBasicParsing).Content - New-Object PSObject -Property @{ CITY="$city"; TEMP="$Temp"; RAIN="$Rain"; WIND="$Wind"; SUN="$Sun" } + $icon = (Invoke-WebRequest http://wttr.in/${City}?format="%c" -UserAgent "curl" -useBasicParsing).Content + $temp = (Invoke-WebRequest http://wttr.in/${City}?format="%t" -UserAgent "curl" -useBasicParsing).Content + $rain = (Invoke-WebRequest http://wttr.in/${City}?format="%p %h" -UserAgent "curl" -useBasicParsing).Content + $wind = (Invoke-WebRequest http://wttr.in/${City}?format="%w" -UserAgent "curl" -useBasicParsing).Content + $sun = (Invoke-WebRequest http://wttr.in/${City}?format="%S → %s" -UserAgent "curl" -useBasicParsing).Content + New-Object PSObject -Property @{ CITY="$city $icon"; TEMP=$temp; RAIN=$rain; WIND=$wind; SUN=$sun } } } try { - ListCityWeather | Format-Table -property @{e='CITY';width=17},@{e='TEMP';width=13},@{e='RAIN';width=15},@{e='WIND';width=12},@{e='SUN';width=20} + List-City-Weather | Format-Table -property @{e='CITY';width=19},@{e='TEMP';width=9},@{e='RAIN';width=14},@{e='WIND';width=12},@{e='SUN';width=20} exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"