X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/f2d4a823901a7bb27b8544f3dbb262d9f21dbbfb..2d0d87d37d5fa18c22a74f80bb8f90b2dd882b01:/psmodules/house_shopping.psm1?ds=sidebyside diff --git a/psmodules/house_shopping.psm1 b/psmodules/house_shopping.psm1 index 33ad6a2..908e9be 100644 --- a/psmodules/house_shopping.psm1 +++ b/psmodules/house_shopping.psm1 @@ -1,22 +1,33 @@ function Add-Addresses(){ Param( - [string]$addressFile = "Addresses.csv" + [string]$addressFile = "Addresses.csv", [string]$outFile= "Address_Details.csv" ) + Copy-Item $outFile "$outFile.backup" $addressList = Get-Content $addressFile | ConvertFrom-Csv $details = Get-Content $outFile| ConvertFrom-Csv + $results = [System.Collections.ArrayList]@() + $known = [System.Collections.ArrayList]@() + + $details | ForEach-Object { + $idx = $results.Add($_) + $known.Add($_.Address) + } $addressList | ForEach-Object { - if($details -NotContains $_.Address) + if($known -NotContains $_.Address) { - $details.Address = $_.Address - $details.SqFt = $_.SqFt - $details.Cost = $_.Cost + $idx = $results.Add($_) + $idx = Write-Host "Aadded " + $_.Address } } - $details | Export-Csv -NoTypeInformation -Path $outFile - Write-Host "Updated $outFile" + $results | Format-Table + $answer = Read-Host -Prompt "Write updated file? y/N" + if($answer -Eq "y") { + $results | Export-Csv -NoTypeInformation -Path $outFile + Write-Host "Updated $outFile" + } } @@ -24,18 +35,30 @@ function Add-AddressLocations(){ Param( [string]$outFile= "Address_Details.csv" ) + Copy-Item $outFile "$outFile.backup" $details = Get-Content $outFile| ConvertFrom-Csv + $results = [System.Collections.ArrayList]@() + $details | ForEach-Object { - if($_.Lat -eq '') + $updated = $_ + if($_.lat -Eq $null) { - $posit = Get-MapCoords -Address $_.Address - $_.Lat = $posit.Lat - $_.Lon = $posit.Lon + Write-Host "Looking up position of " $_.Address + $coords= Get-MapCoords -Address $_.Address + $coords | Format-List + $updated.lat = $coords.lat + $updated.lon = $coords.lon + $updated | Format-List } + $idx = $results.Add($updated) + } + $results | Select-Object Address, lat, lon | Format-List + $answer = Read-Host -Prompt "Write updated file? y/N" + if($answer -Eq "y") { + $results | Export-Csv -NoTypeInformation -Path $outFile + Write-Host "Updated $outFile" } - $details | Export-Csv -NoTypeInformation -Path $outFile - Write-Host "Updated $outFile" } @@ -49,10 +72,18 @@ function Add-TravelTimes() { $fuzzyUrl = "https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizza" +function Invoke-SubKeyCheck { + if($env:AzMapsSubKey -Eq $null) { + Write-Error "Please set env:AzMapsSubKey" + Exit + } +} + function Get-MapAddress() { param( [string]$address ) + Invoke-SubKeyCheck $subKey = $env:AzMapsSubKey $addyUrl = "https://atlas.microsoft.com/search/address/json?&subscription-key=$subKey&api-version=1.0&language=en-US&query=$address" $result = Invoke-WebRequest $addyUrl @@ -66,6 +97,7 @@ function Get-MapCoords() { param( [string]$address ) + Invoke-SubKeyCheck $subKey = $env:AzMapsSubKey $result = Get-MapAddress -Address $address return $result.results.entryPoints[0].position @@ -76,6 +108,7 @@ function Get-MapTravelPlan() { [string]$from_address, [string]$to_address ) + Invoke-SubKeyCheck $subKey = $env:AzMapsSubKey $pos1 = Get-MapCoords -Address $from_address $lat1 = $pos1.lat