Browse Source

Updating check_for_upgrade script to fix issue when the LAST_EPOCH file/value got corrupted. Closes #32

Robby Russell 14 years ago
parent
commit
41f13ccb0a
1 changed files with 15 additions and 9 deletions
  1. 15 9
      tools/check_for_upgrade.sh

+ 15 - 9
tools/check_for_upgrade.sh

@@ -1,11 +1,22 @@
 #!/bin/sh
 
-current_epoch=$(($(date +%s) / 60 / 60 / 24))
+function _current_epoch() {
+  echo $(($(date +%s) / 60 / 60 / 24))
+}
+
+function _update_zsh_update() {
+  echo "LAST_EPOCH=$(_current_epoch)" > ~/.zsh-update
+}
 
 if [ -f ~/.zsh-update ]
 then
   . ~/.zsh-update
-  epoch_diff=$(($current_epoch - $LAST_EPOCH))
+
+  if [[ -z "$LAST_EPOCH" ]]; then
+    _update_zsh_update && return 0;
+  fi
+
+  epoch_diff=$((${_current_epoch} - $LAST_EPOCH))
   if [ $epoch_diff -gt 6 ]
   then
     echo "[Oh My Zsh] Would you like to check for updates?"
@@ -15,14 +26,9 @@ then
     then
       /bin/sh $ZSH/tools/upgrade.sh
     fi
-
-    # Set the last epoch to the current so that we don't ask for another week
-    echo "LAST_EPOCH=${current_epoch}" > ~/.zsh-update
   fi
-else
-  # TODO: refactor this so remove duplicates
-  # Create the ~/.zsh-update file with the current epoch info
-  echo "LAST_EPOCH=${current_epoch}" > ~/.zsh-update
 fi
 
+# update the zsh file
+_update_zsh_update