QT Domain Pulse

Introducción
Siguiendo con mi aprendizaje de python, le toca el turno a una pequeña y simple utilidad: un verificador de dominios. Lo bauticé como QT Domain Pulse y, como es obvio, la novedad en cuanto al código, es validar que exista conexión a internet y buscar la disponibilidad de algún nombre de dominio que se nos ocurra. El trabajo que hace, es sencillo: realiza la correspondiente validación haciendo uso de la biblioteca 'whois' para buscar el nombre de dominio indicado. La imagen de la derecha, muestra el diseño inicial, tras escribir solamente unas pocas líneas de código. Si bien, esta utilería es simple, cubre dos aspectos importantes que son de mi interés. Por un lado, la validación de la salida a internet desde mi equipo local y, por otro lado, la invocación al navegador web que tengamos por defecto en nuestro equipo de cómputo, llevándolo al proveedor de dominios que elijamos, como veremos más adelante.
Un poco de código
Para validar si existe o no conexión a internet, implementé las siguientes líneas:
Creo que queda bastante claro el funcionamiento. Si google no responde, se generará una excepción en el sistema al crear la conexión. Con posterioridad, al tratar de validar si hay o no disponibilidad del dominio que nos interese, nos mandará el respectivo aviso:
¿Cómo funciona?

En la introducción, ya he explicado cómo funciona esta pequeña aplicación, amén de que las imágenes, son bastante ilustrativas. En este punto, una vez que escribimos el nombre de dominio que nos interesa, la aplicación lo busca y, si no está disponible, nos lo indicará, como se muestra en la primera captura. Sin embargo, si el nombre de dominio está disponible, nos ofrecerá una lista desplegable con cinco proveedores que yo mismo elegí por haberlos utilizado en tiempos pretéritos y presentes. A saber:

Hospedando

Hostinger

Neubox

Namecheap

GoDaddy

En la práctica, seleccionaremos el proveedor que sea de nuestro interés y pulsaremos el botón "Comprar". Al hacer esto, invocaremos al navegador web por defecto que tengamos en nuestro equipo, el cual nos llevará directamente a la página de dicho proveedor. Adquirir o no el dominio, es un tema aparte.

Consideraciones finales y conclusión
Esta sencilla utilidad, me ha servido para conocer cómo interactuar con python en tanto se necesiten factores externos, como es el caso de lo imperativo de disponer de conexión a internet. Del mismo modo, ha sido interesante "trabajar" con las llamadas a las aplicaciones de terceros, en este caso el navegador web. Por lo demás, las únicas novedades a considerar, están en la evolución del diseño, donde incluí un logo genérico, fácilmente sustituible. También deshabilité el botón de "Maximizar" en el form y tampoco se puede readaptar a golpe de ratón. Esto por una cuestión básicamente estética:
self.setWindowFlags(self.windowFlags() & ~Qt.WindowMaximizeButtonHint)
Como conclusión final, diré que esta sencilla App me ha resultado bastante instructiva. Poco a poco voy avanzando con python y cada cosa nueva que aprendo, me hace sentir bien, sobre todo cuando funciona. Como casi todo en el mundillo de la programación, hay cosas susceptibles de mejora. Como dice el dicho popular: "Para gustos, colores". A mi me gusta el diseño final y la funcionalidad que tiene. Me permite de forma sencilla ver la disponibilidad de un nombre de dominio que me interese, incluso para seguimiento de alguno que no esté disponible. En cualquier caso, aunque sea una "chorrada" de aplicación, tengo que defenderla, ¿no?