Skip to content

Commit f3f559c

Browse files
committed
Improve is_scoop_outdated() and add last_scoop_update()
1 parent 7cc6e96 commit f3f559c

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

lib/core.ps1

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -490,16 +490,24 @@ function get_app_with_version([String] $app) {
490490
"version" = if ($version) { $version } else { 'latest' }
491491
}
492492
}
493+
494+
function last_scoop_update() {
495+
$last_update = (scoop config lastupdate)
496+
if(!$last_update) {
497+
$last_update = [System.DateTime]::Now
498+
}
499+
return $last_update.ToLocalTime()
500+
}
501+
493502
function is_scoop_outdated() {
494-
$now = Get-Date
495-
try {
496-
$last_update = (Get-Date $(scoop config lastupdate)).ToLocalTime().AddHours(3)
497-
} catch {
503+
$last_update = $(last_scoop_update)
504+
$now = [System.DateTime]::Now
505+
if($last_update -eq $now) {
498506
scoop config lastupdate $now
499-
# remove 1 minute to force an update for the first time
500-
$last_update = $now.AddMinutes(-1)
507+
# enforce an update for the first time
508+
return $true
501509
}
502-
return $last_update -lt $now.ToLocalTime()
510+
return $last_update.AddHours(3) -lt [System.DateTime]::Now.ToLocalTime()
503511
}
504512

505513
function substitute($entity, [Hashtable] $params) {

libexec/scoop-update.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ function update_scoop() {
5353
if(!$git) { abort "Scoop uses Git to update itself. Run 'scoop install git' and try again." }
5454

5555
write-host "Updating Scoop..."
56-
$last_update = (Get-Date (Get-Date $(scoop config lastupdate)).ToLocalTime() -Format s)
56+
$last_update = $(last_scoop_update).ToString('s')
5757
$currentdir = fullpath $(versiondir 'scoop' 'current')
5858
if(!(test-path "$currentdir\.git")) {
5959
$newdir = fullpath $(versiondir 'scoop' 'new')

0 commit comments

Comments
 (0)