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)
No hay comentarios:
Publicar un comentario