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)
- [Consola de Python a color](#interprete-a-color)
- [Otros](#otros)
- [Estadisticas covid Chile](#covstats)
- [Mpv Playlist](#mpvplaylist)
- [Otras funciones](#otras-funciones)
- [Lol laucher y debug](#rito-pls)
> **NOTA:** Funciones ejecutadas con ***alias***
@ -228,13 +231,6 @@ Color en la consola de python con módulo **rich**. [pyRichRepl.py](./pyRichRepl
----
# 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()
@ -252,6 +248,57 @@ Estadisticas covid Chile
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)
----

117
otros.sh
View File

@ -1,5 +1,10 @@
#!/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(){
xfce4-terminal --geometry 27x22+850+350 --hide-toolbar --hide-borders --hide-menubar \
--working-directory $HOME/Arduino/Proyectos/termoRat/scripts/ \
@ -28,7 +33,6 @@ Neo(){
esac
}
yutu(){
local BUSQUEDA="$*"
local BUSQUEDA="${BUSQUEDA// /+}"
@ -42,9 +46,7 @@ kaltest() {
cal -m -n $pmes -S $mesp
}
covStats(){
lolcat <<< $(
# Cache https
[ "$(stat -c %y ~/.cache/corona 2>/dev/null | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ] &&
curl -s https://corona-stats.online?source=2 | \
@ -64,21 +66,108 @@ covStats(){
# Población Chile
PoblT=19678310
# Muertes
Mtota="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$PoblT))")"
Mcont="$(python3 -c "print('{:.2f}'.format(100*$Murtio/$Conteg))")"
# Vista
printf '\n Estadisticas COVID Chile 🇨🇱️ \n'
printf ' ============================\n'
printf ' Muertes totales :\e[1;36m %s %%\e[0m\n' "$Mtota"
printf ' Muertes contagio:\e[1;32m %s %%\e[0m\n' "$Mcont"
printf '%s\n' " ----------------------------"
printf ' Contagios : %s \n Activos : %s \n Recuperados : %s \n Muertes :\e[1;32m %s \e[0m\n' \
"${Contag}" "${Activo}" "${Recupe}" "${Muerte}"
printf '%s\n\n' " ----------------------------"
)
printf '\n %bEstadisticas COVID %bChile 🇨🇱️ %b\n' "${GRN}" "${BLU}" "${RST}"
printf '%b%s%b\n' "${MGNT}" " ============================" "${RST}"
printf ' %bMuertes totales :%b %s %b\n' "${RED}" "${CYA}" "$Mtota" "${RST}"
printf ' %bMuertes contagio:%b %s %b\n' "${REd}" "${CYa}" "$Mcont" "${RST}"
printf '%b%s%b\n' "${MGNT}" " ----------------------------" "${RST}"
printf ' %bContagios : %b%s%b\n' "${GRn}" "${CYa}" "${Contag}" "${RST}"
printf ' %bActivos : %b%s%b\n' "${GRn}" "${CYa}" "${Activo}" "${RST}"
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
}
"$@"