Código Python a la
Velocidad de la Luz:
Automatización para Desarrolladores Exigentes
🚀 Automatizando el desarrollo con Python:
Autocompletado de código
¡Saludos, comunidad de desarrolladores! ✨
Hoy quiero compartir con ustedes una herramienta que
he desarrollado para facilitar el trabajo en la creación de clases y métodos en
Python. Este conjunto de funciones Python te permite generar automáticamente
fragmentos de código relacionados con la conexión a bases de datos, la creación
de clases, la verificación de usuarios y contraseñas, y la escritura en
archivos.
pythonCopy code
[from
pynput.keyboard import Key, Controller
import
pyperclip as pc
import
os
import
io
from
io import open
from
datetime import datetime
from
datetime import date
import
datetime
#completa_conexion(n):TE
AUTOCOMPLETA UNA CLASE CON LA CONEXXION A UNA BBDD PASANDO COMO ARGUMENTO
NOMBRE DE LA CLASE
#completa_interfaz(n):AUTOCOMPLETA
LOS MÉTODOS DE INTERFAZ DE LA VARIABLE PRIVADA QUE PASAS COMO ARGUMENTO
def
autorelleno1(clave):
return f'''
@property
def {clave}(self):
return self._{clave}
@{clave}.setter
def {clave}(self,valor):
self._{clave}=valor
@{clave}.deleter
def {clave}(self):
del self._{clave}'''
def
autorelleno2(clave):
return f'''
#SE REQUIERE IMPORTAR:
#import mysql.connector
#from mysql.connector import Error
class {clave}():
def __init__(self):
try:
self.conexion =
mysql.connector.connect(
host=,
user=,
password=,
db=
)
except Error as ex:
print("Error al intentar
la conexión: {0}".format(ex))'''
def
autorelleno3(n,m):#verifica nobre de usuario
return f'''
#Devuelve
True si el nombre usuario es aceptado y verificado
def
usuario():
usser=input("Introduce un usuario
: ")
if len(usser)<{n} or len(usser)>{m}:
print("El usuario debe tener
entre {n} y {m} caracteres")
usuario()
elif usser.isalnum()==False:
print("Los valores del usurio
deben ser únicamente letras o números")
usuario()
else:
print(True)
'''
def
autorelleno4(n):
return f'''
def
contraseña():
global passw
passw=input("Introduce contraseña:
")
if len(passw)<={n-1}:
print("La contraseña debe tener al
menos {n} caractéres")
contraseña()
elif passw.isalnum()==True:
print ("La contraseña debe tener al
menos un carácter no alfanumérico")
contraseña()
elif passw.lower() == passw:
print("Debe haber por lo menos una
mayúscula")
contraseña()
elif passw.upper()==passw:
print("Debe haber por lo menos una
minúscula")
contraseña()
for i in passw:
if i==" ":
print("La contraseña no debe tener
espacios en blanco")
contraseña()
print(True)
'''
def
autorelleno5():
return f'''
#NO OLVIDES DARLE UNA EXTENSION AL NOMBRE
DEL ARCHIVO DEL PRIMER ARGUMENTO
#SUSTITUYE EN LA LLAMADA A LA FUNCION
escribir(); EL ARCHIVO POR EL NOMBRE DEL ARCHIVO Y DOCUMENTACIÓN POR LO QUE
QUIERAS DENTRO DEL ARCHIVO.
def escribir(archivo,documentacion):
fichero = open(archivo, 'a')
fichero.write(documentacion)
fichero.close()
escribir(archivo,documentacion)
'''
def
completa_conexion(n):#TE AUTOCOMPLETA UNA CLASE CON LA CONEXXION A UNA BBDD
PASANDO COMO ARGUMENTO NOMBRE DE LA CLASE
prueba01=pc.copy(autorelleno2(n))
keyboard = Controller()
with keyboard.pressed(Key.ctrl):
keyboard.press('v')
keyboard.release('v')
def
completa_interfaz(variables):
autorelleno = ""
for variable in variables:
autorelleno += autorelleno1(variable) +
"\n"
pc.copy(autorelleno)
keyboard = Controller()
with keyboard.pressed(Key.ctrl):
keyboard.press('v')
keyboard.release('v')
def
verifica_ususario(n,m):#AUTOCOMPLETA VERIFICACION DE USUARIO; SOLO PUEDEN SER
NÚMEROS O LETRAS Y PASARLE POR ARGUMENTO EL MÍNIMO Y MÁXIMO DE CARACTERES QUE
QUIERES QUE TENGA.
prueba01=pc.copy(autorelleno3(n,m))
keyboard = Controller()
with keyboard.pressed(Key.ctrl):
keyboard.press('v')
keyboard.release('v')
def
verifica_password(n):#AUTOCOMPLETA FUNCION DE VERIFICACION DE PASSWORD PASANDO
COMO ARGUMENTO CANTIDAD MAX DE CARACTERES
prueba01=pc.copy(autorelleno4(n))
keyboard = Controller()
with keyboard.pressed(Key.ctrl):
keyboard.press('v')
keyboard.release('v')
def
guarda_en_archivo():#CREA EL ARCHIVO CON EL NOMBRE DEL PRIMER ARGUMENTO Y
GUARDA LA INFORMACION QUE GUARDAS EN EL SEGUNDO ARGUMENTO QUE DEBES INTRODUCIR
LUEGO.
prueba01=pc.copy(autorelleno5())
keyboard = Controller()
with keyboard.pressed(Key.ctrl):
keyboard.press('v')
keyboard.release('v')]

¿Cómo funciona?
1. Conexión a Base de Datos: completa_conexion('NombreClase') autocompleta la conexión a una base
de datos, generando una clase con los parámetros necesarios.
2. Métodos de Interfaz: completa_interfaz(['variable1', 'variable2']) facilita la creación de métodos de
interfaz para una lista de variables.
3. Verificación de Usuario: verifica_usuario(min_len, max_len) ayuda en la verificación de nombres
de usuario, estableciendo reglas personalizadas.
4. Verificación de Contraseña: verifica_password(max_len) simplifica la validación de
contraseñas con reglas específicas.
5. Guardado en Archivo: guarda_en_archivo() crea un archivo y almacena información relevante.
¿Cómo puede ser útil?
Imagina tener un código con múltiples clases y
variables. En lugar de escribir manualmente los métodos de interfaz para cada
variable, simplemente agrúpalas en una lista y utiliza el autocompletado
proporcionado. ¡Es una forma eficiente y rápida de mejorar la productividad en
el desarrollo!
Colaboración y Mejoras Continuas:
Este código es solo el comienzo. Planeo seguir
mejorándolo y desarrollando nuevas funciones. Puedes encontrar el proyecto
completo en mi cuenta de GitHub, y estoy abierto a sugerencias y
colaboraciones. Juntos podemos hacer que el desarrollo sea más eficiente y
divertido.
¡Espero que encuentren útil este conjunto de
funciones! Estoy emocionado por el camino que se avecina en el mundo del
desarrollo.
¡#Python #Desarrollo #AutomatizaciónDeCódigo! 🚀
Javierfiestasbotella (Javi Fiestas) (github.com)