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