Herramienta cli MV

B

Buenas tardes de domingo!

Me he puesto a desarrollar una herramienta cli para navegar por aqui. Por el momento solo listo subforos, hilos y comentarios de la primera página. Me gustaría pedir consejo antes de seguir ya que no tengo experiencia desarrollando este tipo de programas. Conocéis alguna librería en Go que facilite el tratado de la información por consola para que sea legible (como less o more)? Únicamente se me ocurre hacerlo manualmente, pero si lo puedo evitar mejor.

Sobra decir, que al ser open source podéis contribuir todos los que os apetezca.

PD: Entiendo que esto puede no hacer mucha gracia a los mods ya que les quito tráfico para los anuncios. En caso de ser así, que me lo diga.

Edito: soy tan retarded que se me ha olvidado el enlace a github. Ahora sí

https://github.com/llinaresvicent/mv_cli

12
HeXaN

Muy wapens. Buen trabajo.

1
B

La mejor librería que he encontrado por el momento para tratar el buffer de salida de la terminal es esta:
https://godoc.org/github.com/nsf/termbox-go

Edit: Mejor esta https://github.com/gdamore/tcell
Que la otra parece que está deprecada :sweat_smile:

Wei-Yu

Estás scrapeando no? en cuanto toquen algo del diseño te empieza a cascar por algún lado y es una lata arreglarlo. Para aprender es una idea guay pero a mí en cuanto me pasó eso no lo volví a tocar xd.

Respecto a lo de less, es bastante común que para según qué cosas se externalice a la propia herramienta, imagino que funciona como un pipe por stdin pero cada lib te dará una api distinta. No te puedo decir más porque ni idea de go, pero ánimo!

1 2 respuestas
HeXaN
#4Wei-Yu:

en cuanto toquen algo del diseño te empieza a cascar por algún lado y es una lata arreglarlo.

Yo tengo unos cuantos scripts rulando y no tuve que tocar nada con el cambio de diseño. El Pollo fue bastante considerado al dejar todos los nombres de clases y demás iguales entre versiones.

1 respuesta
B

#4 sí, estoy scrapeando. Anoche hice unas pruebas y me monté un paginador genérico con la librería que puse en el comentario. Es un poco coñazo porque no tiene la típica función "println" y hay que pintar los carácteres uno a uno. Una vez te montas la función que hace eso ya no es tan doloroso xD

Estoy subiéndolo todo a github pero de todas formas, para quien le interese, voy a ir posteando por aquí las novedades o cambios mas importantes :D

1 respuesta
B

#6 te falta poner los banner de publicidad para que paguemos MV Premium

2
Wei-Yu

#5 pues igual ni lo miré, recuerdo enfurruñarme por que me cayese el rediseño teniendo la historia a medias y poco más.

No era la primera vez que me pasaba algo asi; igual me puso salty de más.

1
B

Hola!

He cambiado la forma en la que se muestran los datos por pantalla, como dije, ahora renderizo la info con esta librería:
https://github.com/gdamore/tcell

Por el momento sigue bastante "cutre" pero era necesario invertir tiempo en el cambio de librería para mostrar los listados paginados sin depender de una librería tan rígida como era la anterior. Se pueden hacer auténticas barbaridades en modo texto con esta librería por lo que confio en que no va a ser necesario volver a cambiar esta implementación.

Ahora me pongo como pendiente a corto plazo mejorar gráficamente (añadir colores coorporativos de MV xD), mejorar accesibilidad ya que no hay ninguna leyenda de cómo moverse por el programa y obtener información paginada de la web tales como los subforos, los hilos y los comentarios.

Otro punto en el que me tengo que centrar es poder definir un flujo dentro del programa ya que por el momento no se puede hacer mas a parte de seleccionar subforo -> thread -> ver comments -> salir.

Añado un pequeño gif de cómo va actualmente:

4

Usuarios habituales