From d1f06107e6562ecea329829ca35b752e19c0eb35 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 18:31:56 +0200 Subject: [PATCH 01/24] Typo. Use correct variable --- shelldio.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index f6a0f56..cf04aa6 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -89,11 +89,9 @@ add_stations() { echo "Έξοδος..." exit 0 elif [ "$input_station" -gt 0 ] && [ "$input_station" -le $num ]; then #έλεγχος αν το input είναι μέσα στο εύρος της λίστας των σταθμών - station=$(sed "${input_station}q;d" "$stations") + station=$(sed "${input_station}q;d" "$all_stations") stathmos_name=$(echo "$station" | cut -d "," -f1) stathmos_url=$(echo "$station" | cut -d "," -f2) - #stathmos_name=$(< "$all_stations" head -n$(( "$input_station" )) | tail -n1 | cut -d "," -f1) - #stathmos_url=$(< "$all_stations" head -n$(( "$input_station" )) | tail -n1 | cut -d "," -f2) echo "$stathmos_name,$stathmos_url" >>"$my_stations" echo " Προστέθηκε ο σταθμός $stathmos_name." else From aca9d10786f64de02e9be46c86c7ed5f531d5f35 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 18:32:10 +0200 Subject: [PATCH 02/24] Fix on macOS for play --- shelldio.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index cf04aa6..5917030 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -245,8 +245,9 @@ while true; do echo "Έξοδος..." exit 0 elif [ "$input_play" -gt 0 ] && [ "$input_play" -le $num ]; then #έλεγχος αν το input είναι μέσα στο εύρος της λίστας των σταθμών - stathmos_name=$(head <"$stations" -n$(("$input_play")) | tail -n1 | cut -d "," -f1) - stathmos_url=$(head <"$stations" -n$(("$input_play")) | tail -n1 | cut -d "," -f2) + station=$(sed "${input_play}q;d" "$stations") + stathmos_name=$(echo "$station" | cut -d "," -f1) + stathmos_url=$(echo "$station" | cut -d "," -f2) break else echo "Αριθμός εκτός λίστας" From b8ab9890e3ba131eff407b5214108ca90f14086a Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 18:32:47 +0200 Subject: [PATCH 03/24] Do not extract url in var for delete action --- shelldio.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index 5917030..529f568 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -116,8 +116,8 @@ remove_station() { echo "Έξοδος..." exit 0 elif [ "$remove_station" -gt 0 ] && [ "$remove_station" -le $num ]; then #έλεγχος αν το input είναι μέσα στο εύρος της λίστας των σταθμών - stathmos_name=$(head <"$HOME/.shelldio/my_stations.txt" -n$(("$remove_station")) | tail -n1 | cut -d "," -f1) - stathmos_url=$(head <"$HOME/.shelldio/my_stations.txt" -n$(("$remove_station")) | tail -n1 | cut -d "," -f2) + station=$(sed "${remove_station}q;d" "$my_stations") + stathmos_name=$(echo "$station" | cut -d "," -f1) sed -i "$remove_station""d" "$HOME/.shelldio/my_stations.txt" echo "Διαγράφηκε ο σταθμός $stathmos_name." else From 2e8a9c1fe95bc1f4be1317f70020dea63cc1e15f Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 18:54:23 +0200 Subject: [PATCH 04/24] =?UTF-8?q?=CE=A7=CF=81=CE=AE=CF=83=CE=B7=20`grep=20?= =?UTF-8?q?-v`=20=CE=B1=CE=BD=CF=84=CE=AF=20=CE=B3=CE=B9=CE=B1=20`sed=20-d?= =?UTF-8?q?`=20=CE=BC=CE=B5=20flag=20'd'=20=CE=B3=CE=B9=CE=B1=20=CE=B4?= =?UTF-8?q?=CE=B9=CE=B1=CE=B3=CF=81=CE=B1=CF=86=CE=AE=20=CE=B1=CE=B3=CE=B1?= =?UTF-8?q?=CF=80=CE=B7=CE=BC=CE=AD=CE=BD=CE=BF=CF=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shelldio.sh b/shelldio.sh index 529f568..c4aaea1 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -118,7 +118,7 @@ remove_station() { elif [ "$remove_station" -gt 0 ] && [ "$remove_station" -le $num ]; then #έλεγχος αν το input είναι μέσα στο εύρος της λίστας των σταθμών station=$(sed "${remove_station}q;d" "$my_stations") stathmos_name=$(echo "$station" | cut -d "," -f1) - sed -i "$remove_station""d" "$HOME/.shelldio/my_stations.txt" + grep -v "$stathmos_name" "$HOME/.shelldio/my_stations.txt" > "$HOME/.shelldio/my_stations.tmp" && mv "$HOME/.shelldio/my_stations.tmp" "$HOME/.shelldio/my_stations.txt" echo "Διαγράφηκε ο σταθμός $stathmos_name." else echo "Αριθμός εκτός λίστας" From 0a19147f728a9c139cf0330b3991cb9b8c997652 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 18:58:44 +0200 Subject: [PATCH 05/24] =?UTF-8?q?=CE=A0=CF=81=CE=BF=CF=83=CE=B8=CE=AE?= =?UTF-8?q?=CE=BA=CE=B7=20grep=20=CF=83=CF=84=CE=B7=20=CE=BB=CE=AF=CF=83?= =?UTF-8?q?=CF=84=CE=B1=20=CF=80=CF=81=CE=BF=CE=B1=CF=80=CE=B1=CE=B9=CF=84?= =?UTF-8?q?=CE=BF=CF=8D=CE=BC=CE=B5=CE=BD=CF=89=CE=BD=20binaries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shelldio.sh b/shelldio.sh index 44e8de3..5ea2db1 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -189,7 +189,7 @@ if [[ $player = 1 ]]; then echo -e "Το Shelldio χρειάζεται το MPV player αλλά δεν βρέθηκε στο σύστημά σας.\nΠαρακαλούμε εγκαταστήστε το MPV πριν τρέξετε το Shelldio" exit 1 fi -for binary in curl info sleep clear killall; do +for binary in grep curl info sleep clear killall; do if ! command -v $binary &>/dev/null; then echo -e "Το Shelldio χρειάζεται το '$binary'\nΠαρακαλούμε εγκαταστήστε το πριν τρέξετε το Shelldio" exit 1 From 47747c0cdb9eea3e04e7cac9f14b40b2a033a60b Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 19:19:13 +0200 Subject: [PATCH 06/24] =?UTF-8?q?=CE=A0=CF=81=CF=8C=CF=83=CE=B8=CE=B7?= =?UTF-8?q?=CE=BA=CE=B7=20default=20case=20statement=20=CE=B3=CE=B9=CE=B1?= =?UTF-8?q?=20=CE=B1=CF=80=CE=BF=CF=86=CF=85=CE=B3=CE=AE=20=CF=84=CE=BF?= =?UTF-8?q?=CF=85=20freeze,=20=CE=BC=CE=B5=20=CE=BB=CE=AC=CE=B8=CE=BF?= =?UTF-8?q?=CF=82=20=CF=8C=CF=81=CE=B9=CF=83=CE=BC=CE=B1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/shelldio.sh b/shelldio.sh index 5ea2db1..8c7737d 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -176,6 +176,11 @@ while [ "$1" != "" ]; do curl -sL https://raw.githubusercontent.com/CerebruxCode/shelldio/stable/.shelldio/all_stations.txt --output "$HOME/.shelldio/all_stations.txt" exit 0 ;; + *) + echo "Λάθος επιλογή." + echo "Εκτέλεσε shelldio --help για να δεις τις δυνατές επιλογές!" + exit 0 + ;; esac done From fe97613ef3b6933cd02acd9c425c3583e9a0a375 Mon Sep 17 00:00:00 2001 From: Salih Emin Date: Sun, 20 Sep 2020 21:48:37 +0300 Subject: [PATCH 07/24] [DOC] Typos --- CONTRIBUTING.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3972c70..f553b2a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,16 +16,16 @@ 1. **Issue**: Ανοίγετε ένα [issue](https://github.com/CerebruxCode/shelldio/issues) στο οποίο περιγράφετε τι θέλετε να κάνετε και γιατί θα πρέπει να ενσωματωθεί η αλλαγή που σκοπεύετε να στείλετε 2. **Fork**: Κάνετε fork το αποθετήριο στον λογαριασμό σας και έπειτα clone στον υπολογιστή σας. -3. **Code**: Κάνετε _git checkout develop_ όπου και τροποποιείτε τα σημεία του κώδικα που σας ενδιαφέρουν για υποβολή. Το βήμα αυτό είναι κρήσιμο διότι δεν θα μπορέσουμε να δεχτούμε αλλαγές στο **stable** branch αλλά μονο στο **develop**. +3. **Code**: Κάνετε _git checkout develop_ όπου και τροποποιείτε τα σημεία του κώδικα που σας ενδιαφέρουν για υποβολή. Το βήμα αυτό είναι κρήσιμο διότι δεν θα μπορέσουμε να δεχτούμε αλλαγές στο **stable** branch αλλά μόνο στο **develop**. 4. **Push**: Μόλις θεωρείτε ότι έχετε ολοκληρώσει τις αλλαγές, κάνετε commit χρησιμοποιώντας τον οδηγό στον παρακάτω πίνακα (π.χ. git commit -m "[FIX] Διόρθωση του issue #Αριθμός_issue") όπου ο _αριθμός issue_ (σημειώστε το μαζί με το σύμβολο #) είναι ο αριθμός που αντιστοιχεί σε αυτό που ανοίξατε στο **βήμα 1**. |Σχόλιο | Περιγραφή | Παράδειγμα git commit| | --- | --- | --- | -|[REFACTOR]| αλλαγές στην δομή|`git commit -m “[REFACTOR] χρήση func αντί loop`” -|[FIX] | διόρθωση ανακοινωμένου issue bugfix | `git commit -m “[FIX] Διόρθωση του issue #Αριθμός_issue`” -|[FEATURE] | Προσθήκη νέου χαρακτηριστικού | `git commit -m “[FEATURE] Προσθήκη που ζητήθηκε στο #Αριθμός_issue`” -|[DOC] | αλλαγή στα σχόλια, μηνύματα, κείμενο |`git commit -m “[DOC] διόρθωση επεξήγησης`” - +|[REFACTOR]| αλλαγές στην δομή|`git commit -m “[REFACTOR] χρήση func αντί loop”`| +|[FIX] | διόρθωση ανακοινωμένου issue bugfix | `git commit -m “[FIX] Διόρθωση του issue #Αριθμός_issue”`| +|[FEATURE] | Προσθήκη νέου χαρακτηριστικού | `git commit -m “[FEATURE] Προσθήκη που ζητήθηκε στο #Αριθμός_issue”`| +|[DOC] | αλλαγή στα σχόλια, μηνύματα, κείμενο |`git commit -m “[DOC] διόρθωση επεξήγησης”`| + **Συμβουλή**: _Να κάνετε συχνά commits που ξεχωρίζουν κάθε αλλαγή ώστε να είναι ευδιάκριτος ο σκοπός της αλλαγή (τι αλλάζω και γιατί το αλλάζω)_ 5. **Pull request**: Τέλος αφού κάνετε _git push origin develop_, μπορείτε να μας στείλετε το _pull request_ υποβάλλοντας έτσι τις όποιες αλλαγές. From 09ea7e9a58987d660c1427e16f452a21a48cc41b Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 22:38:39 +0200 Subject: [PATCH 08/24] typo --- AUTHORS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index bcbb61b..ad4189b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,7 +2,7 @@ Shelldio - Ακούστε Ραδιοφωνικούς σταθμούς στο τερματικό σας - (c)2020 Vasilis Niakas, Salih Emin , JohnGavr and Contributors. + (c)2020 Vasilis Niakas, Salih Emin, JohnGavr and Contributors. Shelldio is free software and published under the terms of the GNU General Public License v3.0 From f7a7b8d4cd32922e4b4f8ea4ba48e16211356266 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 22:49:32 +0200 Subject: [PATCH 09/24] =?UTF-8?q?[FEATURE]=20=CE=88=CE=BB=CE=B5=CE=B3?= =?UTF-8?q?=CF=87=CE=BF=CF=82=20=CE=B5=CE=B3=CE=BA=CF=85=CF=81=CF=8C=CF=84?= =?UTF-8?q?=CE=B7=CF=84=CE=B1=CF=82=20=CE=BB=CE=AF=CF=83=CF=84=CE=B1=CF=82?= =?UTF-8?q?=20=CF=83=CF=84=CE=B1=CE=B8=CE=BC=CF=8E=CE=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/shelldio.sh b/shelldio.sh index 8c7737d..0085d88 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -18,6 +18,27 @@ my_stations="$HOME/.shelldio/my_stations.txt" ### Functions List +validate_csv() { + awk 'BEGIN{FS=","}!n{n=NF}n!=NF{failed=1;exit}END{print !failed}' $1 +} + +validate_station_lists() { + if [[ `validate_csv $all_stations` -eq 0 ]]; then + echo "Πρόβλημα: Η λίστα σταθμών: $all_stations δεν είναι έγκυρη" + echo "Εκτέλεσε shelldio --fresh για να κατεβάσεις τη λίστα εκ νέου" + exit 1 + fi + + if [ -f "$my_stations" ]; then + if [[ `validate_csv "$my_stations"` -eq 0 ]]; then + echo "Πρόβλημα: Η λίστα σταθμών: $my_stations δεν είναι έγκυρη" + echo "Εκτέλεσε shelldio --reset για να διαγράψεις τη λίστα αγαπημένων" + echo "Στη συνέχεια πρόσθεσε ξανά τους αγαπημένους σου σταθμούς" + exit 1 + fi + fi +} + # Μήνυμα καλωσορίσματος welcome_screen() { @@ -59,9 +80,11 @@ option_detail() { -h, --help: Εμφανίζει πληροφορίες για την χρήση της εφαρμογής - -l, --list: Εμφανίζει την λίστα με τους ραδιοφωνικούς σταθμούς. + -l, --list: Εμφανίζει την λίστα με τους ραδιοφωνικούς σταθμούς -r, --remove: Διαγράφει σταθμούς της επιλογής σας από το my_stations.txt + + --reset: Καθαρίζει τη λίστα αγαπημένων, διαγράφοντας το αρχείο my_stations.txt EOF } @@ -127,6 +150,11 @@ remove_station() { fi } +reset_favorites() { + echo "Πραγματοποιείται διαγραφή του αρχείου αγαπημένων.." + rm -f $my_stations +} + ### Λίστα με τις επιλογές σαν 1ο όρισμα shelldio --[option] while [ "$1" != "" ]; do @@ -161,6 +189,7 @@ while [ "$1" != "" ]; do ;; -a | --add) welcome_screen + validate_station_lists add_stations exit 0 ;; @@ -169,6 +198,10 @@ while [ "$1" != "" ]; do remove_station exit 0 ;; + --reset) + reset_favorites + exit 0 + ;; -f | --fresh) welcome_screen echo "Γίνεται λήψη του αρχείου των σταθμών από το αποθετήριο." @@ -201,6 +234,9 @@ for binary in grep curl info sleep clear killall; do fi done +# Έλεγχος εγκυρότητας λίστας σταθμών +validate_station_lists + while true; do terms=0 trap ' [ $terms = 1 ] || { terms=1; kill -TERM -$$; }; exit' EXIT INT HUP TERM QUIT From 300819c45003acfb6d3671b9a8ab8d18228f0c83 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 22:55:14 +0200 Subject: [PATCH 10/24] Lint --- shelldio.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index 0085d88..298ce5e 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -19,18 +19,18 @@ my_stations="$HOME/.shelldio/my_stations.txt" ### Functions List validate_csv() { - awk 'BEGIN{FS=","}!n{n=NF}n!=NF{failed=1;exit}END{print !failed}' $1 + awk 'BEGIN{FS=","}!n{n=NF}n!=NF{failed=1;exit}END{print !failed}' "$1" } validate_station_lists() { - if [[ `validate_csv $all_stations` -eq 0 ]]; then + if [[ $(validate_csv $all_stations) -eq 0 ]]; then echo "Πρόβλημα: Η λίστα σταθμών: $all_stations δεν είναι έγκυρη" echo "Εκτέλεσε shelldio --fresh για να κατεβάσεις τη λίστα εκ νέου" exit 1 fi if [ -f "$my_stations" ]; then - if [[ `validate_csv "$my_stations"` -eq 0 ]]; then + if [[ $(validate_csv "$my_stations") -eq 0 ]]; then echo "Πρόβλημα: Η λίστα σταθμών: $my_stations δεν είναι έγκυρη" echo "Εκτέλεσε shelldio --reset για να διαγράψεις τη λίστα αγαπημένων" echo "Στη συνέχεια πρόσθεσε ξανά τους αγαπημένους σου σταθμούς" @@ -152,7 +152,7 @@ remove_station() { reset_favorites() { echo "Πραγματοποιείται διαγραφή του αρχείου αγαπημένων.." - rm -f $my_stations + rm -f "$my_stations" } ### Λίστα με τις επιλογές σαν 1ο όρισμα shelldio --[option] From b142fb0db6602e732a30c0273428835d1df23d44 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Sun, 20 Sep 2020 22:56:29 +0200 Subject: [PATCH 11/24] lint fix --- shelldio.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shelldio.sh b/shelldio.sh index 298ce5e..7ff5a33 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -23,7 +23,7 @@ validate_csv() { } validate_station_lists() { - if [[ $(validate_csv $all_stations) -eq 0 ]]; then + if [[ $(validate_csv "$all_stations") -eq 0 ]]; then echo "Πρόβλημα: Η λίστα σταθμών: $all_stations δεν είναι έγκυρη" echo "Εκτέλεσε shelldio --fresh για να κατεβάσεις τη λίστα εκ νέου" exit 1 From 04a9d6769998f329ca74e395706c1b97d75f0105 Mon Sep 17 00:00:00 2001 From: Panagiotis Georgiadis Date: Mon, 21 Sep 2020 02:18:55 +0200 Subject: [PATCH 12/24] Add mpv installation instruction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Τωρα είναι μέρος του script. --- shelldio.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/shelldio.sh b/shelldio.sh index 8c7737d..d2987b3 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -118,7 +118,7 @@ remove_station() { elif [ "$remove_station" -gt 0 ] && [ "$remove_station" -le $num ]; then #έλεγχος αν το input είναι μέσα στο εύρος της λίστας των σταθμών station=$(sed "${remove_station}q;d" "$my_stations") stathmos_name=$(echo "$station" | cut -d "," -f1) - grep -v "$stathmos_name" "$HOME/.shelldio/my_stations.txt" > "$HOME/.shelldio/my_stations.tmp" && mv "$HOME/.shelldio/my_stations.tmp" "$HOME/.shelldio/my_stations.txt" + grep -v "$stathmos_name" "$HOME/.shelldio/my_stations.txt" >"$HOME/.shelldio/my_stations.tmp" && mv "$HOME/.shelldio/my_stations.tmp" "$HOME/.shelldio/my_stations.txt" echo "Διαγράφηκε ο σταθμός $stathmos_name." else echo "Αριθμός εκτός λίστας" @@ -127,6 +127,22 @@ remove_station() { fi } +mpv_msg() { + if grep debian /etc/os-release &> /dev/null; then + echo "Τρέξτε 'sudo apt install mpv' για να εγκαταστήσετε τον player" + elif grep fedora /etc/os-release &> /dev/null; then + echo "Τρέξτε 'sudo dnf -y install mpv' για να εγκαταστήσετε τον player" + elif grep suse /etc/os-release &> /dev/null; then + echo "Τρέξτε 'sudo zypper in mpv' για να εγκαταστήσετε τον player" + elif grep centos /etc/os-release &> /dev/null; then + echo "Τρέξτε 'sudo yum -y install mpv' για να εγκαταστήσετε τον player" + elif uname -a | grep Darwin &> /dev/null; then + echo "Τρέξτε 'sudo brew install mpv' για να εγκαταστήσετε τον player" + else + echo "https://github.com/mpv-player/mpv/releases/latest" + fi +} + ### Λίστα με τις επιλογές σαν 1ο όρισμα shelldio --[option] while [ "$1" != "" ]; do @@ -192,6 +208,7 @@ if [[ $player = 1 ]]; then echo "Έλεγχος προαπαιτούμενων για το Shelldio" sleep 1 echo -e "Το Shelldio χρειάζεται το MPV player αλλά δεν βρέθηκε στο σύστημά σας.\nΠαρακαλούμε εγκαταστήστε το MPV πριν τρέξετε το Shelldio" + mpv_msg exit 1 fi for binary in grep curl info sleep clear killall; do From 74fa9dac67944de929a18dd0780d7f7794aff343 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Mon, 21 Sep 2020 09:29:19 +0200 Subject: [PATCH 13/24] Validate after initial file is downloaded --- shelldio.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index 7ff5a33..c5a1f94 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -234,9 +234,6 @@ for binary in grep curl info sleep clear killall; do fi done -# Έλεγχος εγκυρότητας λίστας σταθμών -validate_station_lists - while true; do terms=0 trap ' [ $terms = 1 ] || { terms=1; kill -TERM -$$; }; exit' EXIT INT HUP TERM QUIT @@ -270,6 +267,9 @@ while true; do stations="$1" fi + # Έλεγχος εγκυρότητας λίστας σταθμών + validate_station_lists + while true; do welcome_screen From ab7e3538749d580c5397276d21006610ca1c8dfb Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Mon, 21 Sep 2020 09:38:02 +0200 Subject: [PATCH 14/24] =?UTF-8?q?=CE=92=CE=B5=CE=BB=CF=84=CE=AF=CF=89?= =?UTF-8?q?=CF=83=CE=B7=20=CF=84=CE=B7=CF=82=20reset=5Ffavorites.=20=CE=A0?= =?UTF-8?q?=CF=81=CE=BF=CF=83=CE=B8=CE=AE=CE=BA=CE=B7=20=CE=B5=CF=80=CE=B9?= =?UTF-8?q?=CE=B2=CE=B5=CE=B2=CE=B1=CE=AF=CF=89=CF=83=CE=B7=CF=82=20=CE=B1?= =?UTF-8?q?=CF=80=CF=8C=20=CF=87=CF=81=CE=AE=CF=83=CF=84=CE=B7.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index c5a1f94..bbfdf6e 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -151,8 +151,27 @@ remove_station() { } reset_favorites() { - echo "Πραγματοποιείται διαγραφή του αρχείου αγαπημένων.." - rm -f "$my_stations" + if [ ! -f "$my_stations" ]; then + echo "Μη έγκυρη επιλογή. Το αρχείο αγαπημένων δεν υπάρχει." + exit 1 + fi + + while true; do + read -p "Θες σίγουρα να διαγράψεις το αρχείο αγαπημένων;" yn + case $yn in + [Yy]*) rm -f "$my_stations"; break;; + [Nn]*) exit;; + *) echo "Παρακαλώ απαντήστε με ναί ή όχι (yes/no)";; + esac + done + + if [ -f "$my_stations" ]; then + echo "Απέτυχε η διαγραφή του αρχείου αγαπημένων" + exit 1 + fi + + echo "Το αρχείο αγαπημένων διαγράφτηκε επιτυχώς" + exit 0 } ### Λίστα με τις επιλογές σαν 1ο όρισμα shelldio --[option] From 8aa3ccc4d43a2fe8b13fc8edfbc9b34ad00c4d44 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Mon, 21 Sep 2020 09:41:14 +0200 Subject: [PATCH 15/24] =?UTF-8?q?=CE=88=CE=BB=CE=B5=CE=B3=CF=87=CE=BF?= =?UTF-8?q?=CF=82=20=CF=8D=CF=80=CE=B1=CF=81=CE=BE=CE=B7=CF=82=20=CE=B1?= =?UTF-8?q?=CF=81=CF=87=CE=B5=CE=AF=CE=BF=CF=85=20=CF=80=CF=81=CE=B9=CE=BD?= =?UTF-8?q?=20=CF=84=CE=BF=CE=BD=20=CE=AD=CE=BB=CE=B5=CE=B3=CF=87=CE=BF=20?= =?UTF-8?q?=CE=B5=CE=B3=CE=BA=CF=85=CF=81=CF=8C=CF=84=CE=B7=CF=84=CE=B1?= =?UTF-8?q?=CF=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index bbfdf6e..29f841a 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -23,10 +23,12 @@ validate_csv() { } validate_station_lists() { - if [[ $(validate_csv "$all_stations") -eq 0 ]]; then - echo "Πρόβλημα: Η λίστα σταθμών: $all_stations δεν είναι έγκυρη" - echo "Εκτέλεσε shelldio --fresh για να κατεβάσεις τη λίστα εκ νέου" - exit 1 + if [ -f "$all_stations" ]; then + if [[ $(validate_csv "$all_stations") -eq 0 ]]; then + echo "Πρόβλημα: Η λίστα σταθμών: $all_stations δεν είναι έγκυρη" + echo "Εκτέλεσε shelldio --fresh για να κατεβάσεις τη λίστα εκ νέου" + exit 1 + fi fi if [ -f "$my_stations" ]; then @@ -253,6 +255,9 @@ for binary in grep curl info sleep clear killall; do fi done +# Έλεγχος εγκυρότητας λίστας σταθμών +validate_station_lists + while true; do terms=0 trap ' [ $terms = 1 ] || { terms=1; kill -TERM -$$; }; exit' EXIT INT HUP TERM QUIT @@ -286,9 +291,6 @@ while true; do stations="$1" fi - # Έλεγχος εγκυρότητας λίστας σταθμών - validate_station_lists - while true; do welcome_screen From e4e2736ee1a6670804ff6c6778850c2f0b1a1555 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Mon, 21 Sep 2020 09:46:04 +0200 Subject: [PATCH 16/24] =?UTF-8?q?=CE=95=CE=BA=CF=84=CE=AD=CE=BB=CE=B5?= =?UTF-8?q?=CF=83=CE=B7=20=CE=B5=CF=80=CE=B1=CE=BD=CE=B5=CE=BB=CE=AD=CE=B3?= =?UTF-8?q?=CF=87=CE=BF=CF=85=20=CE=BA=CE=B1=CE=B9=20=CE=BC=CE=B5=CF=84?= =?UTF-8?q?=CE=AC=20=CF=84=CE=B7=CE=BD=20`--add`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/shelldio.sh b/shelldio.sh index 29f841a..db886b6 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -212,6 +212,7 @@ while [ "$1" != "" ]; do welcome_screen validate_station_lists add_stations + validate_station_lists exit 0 ;; -r | --remove) From 67a5d25fd44bb5987631b6fb0d74e74e43f4dc2d Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Mon, 21 Sep 2020 09:48:34 +0200 Subject: [PATCH 17/24] Lint fix --- shelldio.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shelldio.sh b/shelldio.sh index db886b6..c1ddc26 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -159,7 +159,7 @@ reset_favorites() { fi while true; do - read -p "Θες σίγουρα να διαγράψεις το αρχείο αγαπημένων;" yn + read -rp "Θες σίγουρα να διαγράψεις το αρχείο αγαπημένων;" yn case $yn in [Yy]*) rm -f "$my_stations"; break;; [Nn]*) exit;; From 54d7063fd659d24d6975acd9f0b23ca9a011d7d3 Mon Sep 17 00:00:00 2001 From: Salih Emin Date: Mon, 21 Sep 2020 11:00:11 +0300 Subject: [PATCH 18/24] [DOC] add @zoispag to Authors file --- AUTHORS | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/AUTHORS b/AUTHORS index bcbb61b..04715bd 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,26 +1,25 @@ Shelldio - Ακούστε Ραδιοφωνικούς σταθμούς στο τερματικό σας + (c)2018-2020 bash_radio.sh | Vasilis Niakas and Contributors. + (c)2020 Shelldio | Salih Emin , JohnGavr and Contributors. - (c)2020 Vasilis Niakas, Salih Emin , JohnGavr and Contributors. - Shelldio is free software and published under the - terms of the GNU General Public License v3.0 + terms of the GNU General Public License v3.0 - -- AUTHORS and CONTRIBUTORS -- + -- AUTHORS and CONTRIBUTORS -- Σημείωση: Εάν έχετε σχόλια, διορθώσεις ή κάτι άλλο, παρακαλώ διαβάστε τις οδηγίες του αρχείου CONTRIBUTING - Μην επικοινωνείτε άμεσα με τα άτομα που αναφέρονται εδώ. -Main Authors +Authors ~~~~~~~~~~~~ JohnGavr : https://github.com/JohnGavr Salih Emin : https://github.com/cerebrux -Vasilis Niakas : https://github.com/billniakas Contributors ~~~~~~~~~~~~ -Panagiotis Georgiadis : https://github.com/drpaneas +Panagiotis Georgiadis [General & macOS] : https://github.com/drpaneas +Zois Pagoulatos [macOS] : https://github.com/zoispag \ No newline at end of file From 41b84bc49474202e05d8e1207843a3d66de62114 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Mon, 21 Sep 2020 10:21:55 +0200 Subject: [PATCH 19/24] =?UTF-8?q?Closes=20#55=20|=20=CE=8C=CE=BD=CE=BF?= =?UTF-8?q?=CE=BC=CE=B1=20=CE=B1=CF=81=CF=87=CE=B5=CE=AF=CE=BF=CF=85=20?= =?UTF-8?q?=CE=B1=CE=B3=CE=B1=CF=80=CE=B7=CE=BC=CE=AD=CE=BD=CF=89=CE=BD=20?= =?UTF-8?q?=CE=BC=CE=AD=CF=83=CF=89=20=CE=BC=CE=B5=CF=84=CE=B1=CE=B2=CE=BB?= =?UTF-8?q?=CE=B7=CF=84=CE=AE=CF=82=20=CE=B3=CE=B9=CE=B1=20=CF=80=CF=81?= =?UTF-8?q?=CE=B1=CE=B3=CE=BC=CE=B1=CF=84=CE=B9=CE=BA=CF=8C=20path?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index c1ddc26..8a558ef 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -75,7 +75,7 @@ option_detail() { Αν θέλουμε να ξεκινήσουμε το shelldio με όρισμα τότε αυτό μπορεί να είναι ένα απο τα παρακάτω: - -a, --add : Δημιουργεί το αρχείο ~/.shelldio/my_stations.txt + -a, --add : Δημιουργεί το αρχείο $my_stations στο οποίο μεταφέρει τους αγαπημένους σας σταθμούς -f, --fresh : Κατεβάζει εκ νέου την λίστα των σταθμών με επικαιροποιημένους ραδιοφωνικούς σταθμούς @@ -84,9 +84,9 @@ option_detail() { -l, --list: Εμφανίζει την λίστα με τους ραδιοφωνικούς σταθμούς - -r, --remove: Διαγράφει σταθμούς της επιλογής σας από το my_stations.txt + -r, --remove: Διαγράφει σταθμούς της επιλογής σας από το $my_stations - --reset: Καθαρίζει τη λίστα αγαπημένων, διαγράφοντας το αρχείο my_stations.txt + --reset: Καθαρίζει τη λίστα αγαπημένων, διαγράφοντας το αρχείο $my_stations EOF } From 83b265455352861e309df1b912d5c5886610c4ae Mon Sep 17 00:00:00 2001 From: Salih Emin Date: Mon, 21 Sep 2020 14:19:48 +0300 Subject: [PATCH 20/24] add csv lint to develop --- .github/workflows/csvlint.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/csvlint.yml diff --git a/.github/workflows/csvlint.yml b/.github/workflows/csvlint.yml new file mode 100644 index 0000000..630e92a --- /dev/null +++ b/.github/workflows/csvlint.yml @@ -0,0 +1,12 @@ +on: [push] + +jobs: + test: + runs-on: ubuntu-latest + name: csv lint + steps: + - uses: actions/checkout@v1 + - name: Run csv-lint + uses: blackstar257/docker-csvlint@master + env: + ACTION_STATE_NAME: ".shelldio/all_stations.txt" From 7773c8dce168cd0edb084ab4cf4a0dfb74f8af6a Mon Sep 17 00:00:00 2001 From: Salih Emin Date: Mon, 21 Sep 2020 14:30:53 +0300 Subject: [PATCH 21/24] [DOC] sync (c) --- shelldio.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index 3e876d4..59fce16 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -2,7 +2,9 @@ # # # Shelldio - ακούστε online ραδιόφωνο από το τερματικό -# Copyright (c)2018 Vasilis Niakas and Contributors +# Shelldio was based on bash_radio.sh (c)2018-2020 Vasilis Niakas and Contributors. +# +# (c)2020 Shelldio | Salih Emin, JohnGavr and Contributors. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -10,7 +12,7 @@ # # Please read the file LICENSE and README for more information. # -# + ### Variable List all_stations="$HOME/.shelldio/all_stations.txt" From cc682cda9277d85990166838043261e36c25bcd0 Mon Sep 17 00:00:00 2001 From: Salih Emin Date: Mon, 21 Sep 2020 14:38:17 +0300 Subject: [PATCH 22/24] [DOC] Prep 2.1 --- shelldio.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index 59fce16..784fde2 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -13,7 +13,6 @@ # Please read the file LICENSE and README for more information. # - ### Variable List all_stations="$HOME/.shelldio/all_stations.txt" my_stations="$HOME/.shelldio/my_stations.txt" @@ -57,7 +56,7 @@ welcome_screen() { echo '| [___________________________________I__] |' echo '| ####################### (_) (_) | ' echo "|_______________ Shelldio _________________|" - echo "| v2.0.0 |" + echo "| v2.1.0 |" echo "| |" echo "| Ακούστε τους αγαπημένους σας |" echo "| σταθμούς από το τερματικό |" @@ -78,9 +77,8 @@ option_detail() { Αν θέλουμε να ξεκινήσουμε το shelldio με όρισμα τότε αυτό μπορεί να είναι ένα απο τα παρακάτω: -a, --add : Δημιουργεί το αρχείο $my_stations - στο οποίο μεταφέρει τους αγαπημένους σας σταθμούς - -f, --fresh : Κατεβάζει εκ νέου την λίστα των σταθμών - με επικαιροποιημένους ραδιοφωνικούς σταθμούς + στο οποίο μεταφέρει τους αγαπημένους σας σταθμούς + -f, --fresh : Κατεβάζει εκ νέου την λίστα των σταθμών με επικαιροποιημένους ραδιοφωνικούς σταθμούς -h, --help: Εμφανίζει πληροφορίες για την χρήση της εφαρμογής From 4ec018a45a90d5f295094a887e2da386ef98c5ad Mon Sep 17 00:00:00 2001 From: Salih Emin Date: Mon, 21 Sep 2020 14:43:50 +0300 Subject: [PATCH 23/24] =?UTF-8?q?[DOC]=20=CE=B5=CF=80=CE=B5=CE=BE=CE=AE?= =?UTF-8?q?=CE=B3=CE=B7=CF=83=CE=B7=20y/n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shelldio.sh b/shelldio.sh index 784fde2..db7bb41 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -175,14 +175,14 @@ reset_favorites() { fi while true; do - read -rp "Θες σίγουρα να διαγράψεις το αρχείο αγαπημένων;" yn + read -rp "Θες σίγουρα να διαγράψεις το αρχείο αγαπημένων; (y/n)" yn case $yn in [Yy]*) rm -f "$my_stations" break ;; [Nn]*) exit ;; - *) echo "Παρακαλώ απαντήστε με ναί ή όχι (yes/no)" ;; + *) echo "Παρακαλώ απαντήστε με y (ναι) ή n (όχι)" ;; esac done From c45488168f019e464a7da233b2fca7b4fa921d59 Mon Sep 17 00:00:00 2001 From: Salih Emin Date: Mon, 21 Sep 2020 14:49:33 +0300 Subject: [PATCH 24/24] =?UTF-8?q?[FIX]=CE=A0=CF=81=CE=BF=CF=83=CE=B8=CE=AE?= =?UTF-8?q?=CE=BA=CE=B7=20BSD=20check=20=CE=BA=CE=B1=CE=B9=20=20official?= =?UTF-8?q?=20mpv=20link?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shelldio.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/shelldio.sh b/shelldio.sh index db7bb41..c8c70c7 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -163,8 +163,12 @@ mpv_msg() { echo "Τρέξτε 'sudo yum -y install mpv' για να εγκαταστήσετε τον player" elif uname -a | grep Darwin &>/dev/null; then echo "Τρέξτε 'sudo brew install mpv' για να εγκαταστήσετε τον player" + elif uname -a | grep BSD &>/dev/null; then + echo "Τρέξτε 'sudo pkg install mpv' για να εγκαταστήσετε τον player" else - echo "https://github.com/mpv-player/mpv/releases/latest" + echo "Δεν μπορέσαμε να εντοπίσουμε το λειτουργικό σας σύστημα." + echo "Παρακαλούμε επισκεφτείτε τον παρακάτω σύνδεσμο για οδηγίες εγκατάστασης του MPV" + echo "https://mpv.io/installation/" fi }