Skip to content

Commit

Permalink
[FEATURE] ✨ Προσθήκη λειτουργίας self-update (#96)
Browse files Browse the repository at this point in the history
* [FEATURE] ✨ Προσθήκη λειτουργίας self-update

* Bump to version 3.0.0

* [DOC] Ενημέρωση τρόπων αναβάθμισης από >= 3.0.0

Co-authored-by: Salih Emin <[email protected]>
  • Loading branch information
zoispag and cerebrux authored Oct 22, 2020
1 parent 4b76a3f commit 33ea6fe
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 8 deletions.
25 changes: 18 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,6 @@ sudo ln -s ~/shelldio/shelldio.sh /usr/local/bin/shelldio

## Οδηγίες Αναβάθμισης

Για να κατεβάσετε νέους σταθμούς που μπορεί κατά καιρούς να προσθέτουμε, τρέξτε στο τερματικό :

``` bash
shelldio --fresh
```

Για να κατεβάσετε νέες εκδόσεις του **shelldio** που περιλαμβάνουν διορθώσεις και νέα χαρακτηριστικά τότε διαβάστε παρακάτω (ανάλογα με την διανομή σας).

### Arch Linux
Expand All @@ -81,12 +75,25 @@ shelldio --fresh

### Υπόλοιπα λειτουργικά συστήματα

Μπείτε στον φάκελο shelldio που κάνατε clone και τρέξετε pull. π.χ.
Ξεκινώντας από την έκδοση v3.0.0 και έπειτα, δίδεται η δυνατότητα να κάνετε αναβάθμιση εκτελώντας την εντολη

```bash
shelldio -u
```

Για τις παλιότερες εκδόσεις, μπείτε στον φάκελο shelldio που κάνατε clone και τρέξετε pull. π.χ.

``` bash
cd ~/shelldio
git pull
```
### Λήψη νέων σταθμών

Για να κατεβάσετε νέους σταθμούς που μπορεί κατά καιρούς να προσθέτουμε, τρέξτε στο τερματικό :

``` bash
shelldio --fresh
```

## Οδηγίες Απεγκατάστασης

Expand Down Expand Up @@ -164,6 +171,10 @@ shelldio
δίνει την δυνατότητα να αφαιρέσετε όποια θέλετε
(από το $my_stations)
-u, --update: Σας δίνει την δυνατότητα να κάνετε αναβάθμιση του Shelldio στην νεότερη διαθέσιμη έκδοση.
Προσοχή, η αναβάθμιση με αυτόν τον τρόπο ισχύει μόνο για αυτούς που έκαναν εγκατάσταση το shelldio
με git clone και όχι απο πακέτο εγκατάστασης (π.χ. στο Arch Linux)
--reset: Προσοχή - Καθαρίζει τη λίστα με τους σταθμούς που έχετε προσθέσει στα αγαπημένα σας
διαγράφοντας το αρχείο $my_stations. Είναι χρήσιμο αν
θέλετε να ξεκινήσετε απο την αρχή την δημιουργία της λίστας των αγαπημένων σας.
Expand Down
40 changes: 39 additions & 1 deletion shelldio.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,19 @@
# Please read the file LICENSE and README for more information.
#

### Colors
if [ -t 1 ]; then
RED=$(printf '\033[31m')
BLUE=$(printf '\033[34m')
RESET=$(printf '\033[m')
else
RED=""
BLUE=""
RESET=""
fi

### Variable List
version="v2.4.1 " # this space after the version num is intentional to fix UI
version="v3.0.0 " # this space after the version num is intentional to fix UI

all_stations="$HOME/.shelldio/all_stations.txt"
my_stations="$HOME/.shelldio/my_stations.txt"
Expand Down Expand Up @@ -102,6 +113,10 @@ option_detail() {
δίνει την δυνατότητα να αφαιρέσετε όποια θέλετε
(από το $my_stations)
-u, --update: Σας δίνει την δυνατότητα να κάνετε αναβάθμιση του Shelldio στην νεότερη διαθέσιμη έκδοση.
Προσοχή, η αναβάθμιση με αυτόν τον τρόπο ισχύει μόνο για αυτούς που έκαναν εγκατάσταση το shelldio
με git clone και όχι απο πακέτο εγκατάστασης (π.χ. στο Arch Linux)
--reset: Προσοχή - Καθαρίζει τη λίστα με τους σταθμούς που έχετε προσθέσει στα αγαπημένα σας
διαγράφοντας το αρχείο $my_stations. Είναι χρήσιμο αν
θέλετε να ξεκινήσετε απο την αρχή την δημιουργία της λίστας των αγαπημένων σας.
Expand Down Expand Up @@ -224,6 +239,26 @@ reset_favorites() {
exit 0
}

self_update() {
if ! command -v git &>/dev/null; then
return
fi

read -rp "Θέλεις να γίνει αναβάθμιση του shelldio; (y/n)" update_confirm
case $update_confirm in
[Yy]*)
printf "${BLUE}%s${RESET}\n" "Γίνεται αναβάθμιση του shelldio"
if git pull --rebase --stat origin master; then
printf "${BLUE}%s${RESET}\n" "Ολοκληρώθηκε η αναβάθμιση του shelldio."
else
printf "${RED}%s${RESET}\n" 'Κάποιο πρόβλημα παρουσιάστηκε κατά την αναβάθμιση. Δοκίμασε ξανά αργότερα'
fi
;;
[Nn]*) exit ;;
*) echo "Παρακαλώ απαντήστε με y (ναι) ή n (όχι)" ;;
esac
}

### Λίστα με τις επιλογές σαν 1ο όρισμα shelldio

while [ "$1" != "" ]; do
Expand Down Expand Up @@ -286,6 +321,9 @@ while [ "$1" != "" ]; do
curl -sL https://raw.githubusercontent.com/CerebruxCode/shelldio/stable/.shelldio/all_stations.txt --output "$HOME/.shelldio/all_stations.txt"
exit 0
;;
-u | --update)
self_update
;;
*)
echo "Λάθος επιλογή."
echo "Εκτέλεσε shelldio --help για να δεις τις δυνατές επιλογές!"
Expand Down

0 comments on commit 33ea6fe

Please sign in to comment.