ed: otros.sh + mpvPlaylist()

mpvPlaylist:
    Función para administrar 'playlist' y usarla com *mpv*
covStats:
    Reemplazo de *lolcat* por colores
This commit is contained in:
jp.av.dev 2022-05-02 01:22:19 -04:00
parent 06d0b0c950
commit 809c7964b7
2 changed files with 163 additions and 27 deletions

View File

@ -7,6 +7,9 @@ Selección de scripts de autoria propia
- [Funciones Python](#funciones-python) - [Funciones Python](#funciones-python)
- [Consola de Python a color](#interprete-a-color) - [Consola de Python a color](#interprete-a-color)
- [Otros](#otros) - [Otros](#otros)
- [Estadisticas covid Chile](#covstats)
- [Mpv Playlist](#mpvplaylist)
- [Otras funciones](#otras-funciones)
- [Lol laucher y debug](#rito-pls) - [Lol laucher y debug](#rito-pls)
> **NOTA:** Funciones ejecutadas con ***alias*** > **NOTA:** Funciones ejecutadas con ***alias***
@ -228,13 +231,6 @@ Color en la consola de python con módulo **rich**. [pyRichRepl.py](./pyRichRepl
---- ----
# Otros # Otros
| Funcion | Explicación |
| - | - |
|`Caldera()` | Lanza xfce terminal y corre el script [caldera.py](https://gitea.kickto.net/SyDeVoS/Caldera-ino/src/branch/master/scripts#python)|
|`Termo()` | Lanza xfce terminal y corre el script [caldera.sh](https://gitea.kickto.net/SyDeVoS/Caldera-ino/src/branch/master/scripts#bash)|
|`yutu()` | Busca video pasado como argumento, instancia [mpv](https://mpv.io/) con el resultado <br> ej. `./otros.sh yutu <video a buscar>`|
|`Neo()` | 'Envoltorio' para neofetch <br> `./otros.sh Neo -h` lista logos disponibles <br>`./otros.sh Neo <logo>` ejecuta neofetch con el logo especificado.|
### covStats() ### covStats()
@ -252,6 +248,57 @@ Estadisticas covid Chile
Muertes : 57,351 Muertes : 57,351
---------------------------- ----------------------------
``` ```
### MpvPlaylist()
Función para administrar una 'playlist' para ser usada con [mpv](https://mpv.io)
> archivo: `~/.cache/.playlist`
**Uso**
ej. `alias mpvp='./otros.sh pvPlaylist'`
| Orden | Detalle |
| - | - |
|`mpvp` | Modo interactivo |
|`mpvp -h` | Mostrar ayuda |
|`mpvp https://link.video`| Agregar el link a *playlist* |
|`mpvp -r` | Reproducir *playlist* |
|`m̀pvp -s` | Reproducir *playlist* y apagar PC |
**Modo interactivo**
```
Playlist Manager
----------------
1) Ver Lista
2) Añadir link(s)
3) Reproducir lista
4) Reproducir y Apagar PC
5) Borrar lista
6) Editar
s) Salir
Elige una opción :
```
| Opción | Detalle |
| - | - |
|`1`| Muestra el contenido del *playlist* |
|`2`| Agrega uno, o mas links (v) volver, (s) salir |
|`3`| Reproduce lista |
|`4`| Reproduce y apaga el equipo |
|`5`| Borra la lista |
|`6`| Editar lista (neovim) |
|`s`| Salir |
### Otras Funciones
| Funcion | Explicación |
| - | - |
|`Caldera()` | Lanza xfce terminal y corre el script [caldera.py](https://gitea.kickto.net/SyDeVoS/Caldera-ino/src/branch/master/scripts#python)|
|`Termo()` | Lanza xfce terminal y corre el script [caldera.sh](https://gitea.kickto.net/SyDeVoS/Caldera-ino/src/branch/master/scripts#bash)|
|`yutu()` | Busca video pasado como argumento, instancia [mpv](https://mpv.io/) con el resultado <br> ej. `./otros.sh yutu <video a buscar>`|
|`Neo()` | 'Envoltorio' para neofetch <br> `./otros.sh Neo -h` lista logos disponibles <br>`./otros.sh Neo <logo>` ejecuta neofetch con el logo especificado.|
Script [otros.sh](./otros.sh) Script [otros.sh](./otros.sh)
---- ----

129
otros.sh
View File

@ -1,5 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
REd="\e[0;31m"; GRn="\e[0;32m"; ORn="\e[33m";
FND="\e[40m"; RED="\e[1;31m"; GRN="\e[1;32m";
MGNT="\e[1;35m"; BLU="\e[1;34m"; RST="\e[0m";
CYA="\e[1;36m"; CYa="\e[0;36m";
Caldera(){ Caldera(){
xfce4-terminal --geometry 27x22+850+350 --hide-toolbar --hide-borders --hide-menubar \ xfce4-terminal --geometry 27x22+850+350 --hide-toolbar --hide-borders --hide-menubar \
--working-directory $HOME/Arduino/Proyectos/termoRat/scripts/ \ --working-directory $HOME/Arduino/Proyectos/termoRat/scripts/ \
@ -28,7 +33,6 @@ Neo(){
esac esac
} }
yutu(){ yutu(){
local BUSQUEDA="$*" local BUSQUEDA="$*"
local BUSQUEDA="${BUSQUEDA// /+}" local BUSQUEDA="${BUSQUEDA// /+}"
@ -42,9 +46,7 @@ kaltest() {
cal -m -n $pmes -S $mesp cal -m -n $pmes -S $mesp
} }
covStats(){ covStats(){
lolcat <<< $(
# Cache https # Cache https
[ "$(stat -c %y ~/.cache/corona 2>/dev/null | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ] && [ "$(stat -c %y ~/.cache/corona 2>/dev/null | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ] &&
curl -s https://corona-stats.online?source=2 | \ curl -s https://corona-stats.online?source=2 | \
@ -55,30 +57,117 @@ covStats(){
Vars="$(grep "Chile" ~/.cache/corona | Vars="$(grep "Chile" ~/.cache/corona |
sed "s/\s*//g ; s/║//g ; s/│/;/g " | sed "s/\s*//g ; s/║//g ; s/│/;/g " |
sed "s/(CL)//g" | awk -F';' '{print $3" "$7" "$5" "$8}')" sed "s/(CL)//g" | awk -F';' '{print $3" "$7" "$5" "$8}')"
Contag=$(cut -d' ' -f1 <<< ${Vars}) Contag=$(cut -d' ' -f1 <<<${Vars})
Recupe=$(cut -d' ' -f2 <<< ${Vars}) Recupe=$(cut -d' ' -f2 <<<${Vars})
Muerte=$(cut -d' ' -f3 <<< ${Vars}) Muerte=$(cut -d' ' -f3 <<<${Vars})
Activo=$(cut -d' ' -f4 <<< ${Vars}) Activo=$(cut -d' ' -f4 <<<${Vars})
Murtio="${Muerte//,/}" Murtio="${Muerte//,/}"
Conteg="${Contag//,/}" Conteg="${Contag//,/}"
# Población Chile # Población Chile
PoblT=19678310 PoblT=19678310
# Muertes # Muertes
Mtota="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$PoblT))")" Mtota="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$PoblT))")"
Mcont="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$Conteg))")" Mcont="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$Conteg))")"
# Vista # Vista
printf '\n Estadisticas COVID Chile 🇨🇱️ \n' printf '\n %bEstadisticas COVID %bChile 🇨🇱️ %b\n' "${GRN}" "${BLU}" "${RST}"
printf ' ============================\n' printf '%b%s%b\n' "${MGNT}" " ============================" "${RST}"
printf ' Muertes totales :\e[1;36m %s %%\e[0m\n' "$Mtota" printf ' %bMuertes totales :%b %s %b\n' "${RED}" "${CYA}" "$Mtota" "${RST}"
printf ' Muertes contagio:\e[1;32m %s %%\e[0m\n' "$Mcont" printf ' %bMuertes contagio:%b %s %b\n' "${REd}" "${CYa}" "$Mcont" "${RST}"
printf '%s\n' " ----------------------------" printf '%b%s%b\n' "${MGNT}" " ----------------------------" "${RST}"
printf ' Contagios : %s \n Activos : %s \n Recuperados : %s \n Muertes :\e[1;32m %s \e[0m\n' \ printf ' %bContagios : %b%s%b\n' "${GRn}" "${CYa}" "${Contag}" "${RST}"
"${Contag}" "${Activo}" "${Recupe}" "${Muerte}" printf ' %bActivos : %b%s%b\n' "${GRn}" "${CYa}" "${Activo}" "${RST}"
printf '%s\n\n' " ----------------------------" printf ' %bRecuperados : %b%s%b\n' "${GRn}" "${CYa}" "${Recupe}" "${RST}"
) printf ' %bMuertes : %b%s%b\n' "${RED}" "${CYA}" "${Muerte}" "${RST}"
printf '%b%s%b\n' "${MGNT}" " ----------------------------" "${RST}"
}
mpvPlaylist(){
ayuda(){
while read; do
printf '%s\n' "${REPLY}"
done <<-EOF
Uso:
./script mpvPlaylist Ejecuta el script.
./script mpvPlaylist <link> Agrega el link a playlist.
./script mpvPlaylist -r, --play Reproduce playlist.
./script mpvPlaylist -s, --off Reproduce playlist y apaga el equipo.
./script mpvPlaylist -h, --help Muestra el contenido de ayuda.
EOF
exit 0
}
playlist=$HOME/.cache/.playlist
touch $playlist
valid='(https)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
case ${1} in
-h|--help)
ayuda ;;
-r|--play)
printf '\n%bReproduciendo Playlist%b\n' "${GRN}" "${RST}"
mpv --playlist=$playlist --no-terminal & exit 0 ;;
-s|--off)
printf '\n%bEl equipo se apagará al finalizar la reproducción...%b\n' \
"${ORn}" "${RST}"
mpv --playlist=$playlist --no-terminal && shutdown 0 ;;
*)
if [[ -n ${1} ]]; then
[[ ${1} =~ $valid ]] && printf '%s\n' "${1}" >> $playlist ||
printf '%b Link inválido!%b\n' "${REd}" "${RST}"
exit 0
fi ;;
esac
clear
while :; do
printf '\n %bPlaylist Manager\n' "${GRN}"
printf ' %s%b\n\n' "----------------" "${RST}"
printf ' %b1) %bVer Lista%b\n' "${BLU}" "${GRn}" "${RST}"
printf ' %b2) %bAñadir link(s)%b\n' "${BLU}" "${GRn}" "${RST}"
printf ' %b3) %bReproducir lista%b\n' "${BLU}" "${GRn}" "${RST}"
printf ' %b4) %bReproducir y Apagar PC%b\n' "${BLU}" "${GRn}" "${RST}"
printf ' %b5) %bBorrar lista%b\n' "${BLU}" "${GRn}" "${RST}"
printf ' %b6) %bEditar%b\n' "${BLU}" "${GRn}" "${RST}"
printf ' %bs) %bSalir%b\n\n' "${BLU}" "${GRn}" "${RST}"
printf ' %bElige una opción :%b' "${GRN}" "${RST}"
read -p ' '
case ${REPLY} in
1)
clear
bat --style grid,numbers ~/.cache/.playlist 2>/dev/null ;;
2)
clear
printf '%bAñadir link %b(v para volver)%b\n' \
"${GRN}" "${GRn}" "${RST}"
while :; do
printf '%bLink ->%b' "${BLU}" "${RST}"
read -p ' ' LinK
case ${LinK} in
s)
exit 0 ;;
v)
mpvPlaylist ;;
*)
[[ ${LinK} =~ ${valid} ]] && printf '%s\n' "${LinK}" >> $playlist ||
printf '%b Link inválido!%b\n' "${REd}" "${RST}" ;;
esac
done ;;
3)
printf '\n%bReproduciendo Playlist%b\n' "${GRN}" "${RST}"
mpv --playlist=$playlist --no-terminal & exit 0 ;;
4)
printf '\n%bEl equipo se apagará al finalizar la reproducción...%b\n' \
"${ORn}" "${RST}"
mpv --playlist=$playlist --no-terminal && shutdown 0 ;;
5)
printf '' > $playlist && clear ;;
6)
clear; nvim $playlist ;;
s|0)
exit 0 ;;
*)
printf '%b Opción inválida!%b\n' "${REd}" "${RST}"
sleep 1.5 && clear ;;
esac
done
} }
"$@" "$@"