def config_de_la_colección_de_manos_al_contexto(self): @artefacto def miartefacto(c): assert c.mi_clave == "valor" c = Coleccion(miartefacto) c.configurar({"mi_clave": "valor"}) Ejecutor(coleccion=c).ejecutar("miartefacto")
def config_de_subcoleccion_funciona_con_artefactos_pordefecto(self): @artefacto(default=True) def miartefacto(c): assert c.mi_clave == "valor" # Configura un artefacto "conocido como" sub.artefacto que puede # ser llamado simplemente 'sub' debido a que es predeterminado. sub = Coleccion("sub", miartefacto=miartefacto) sub.configurar({"mi_clave": "valor"}) principal = Coleccion(sub=sub) # Ejecutar a través de coleccion nombre por defecto 'artefacto'. Ejecutor(coleccion=principal).ejecutar("sub")
def artefacto_de_la_mano_con_config_especifica_al_contexto(self): @artefacto def miartefacto(c): assert c.mi_clave == "valor" @artefacto def otroartefacto(c): assert c.mi_clave == "otrovalor" interior1 = Coleccion("interior1", miartefacto) interior1.configurar({"mi_clave": "valor"}) interios2 = Coleccion("interios2", otroartefacto) interios2.configurar({"mi_clave": "otrovalor"}) c = Coleccion(interior1, interios2) e = Ejecutor(coleccion=c) e.ejecutar("interior1.miartefacto", "interios2.otroartefacto")
from dued import cartefacto, Coleccion @cartefacto def go(c): c.correr("false") # Ensures a kaboom if mocking fails hng = Coleccion(go) hng.configurar({"correr": {"echo": True}})
hng.configurar({ "blacken": { # Sáltate el directorio de vendor y la venv alternativa # (sólo para Travis) cuando te blackeneas. # TODO: esto hace que parezca que realmente quiero un explícito # arg/conf-opt en el blacken artefacto para "rutas excluidos"...ha "find_opts": "-and -not \( -ruta './dued/vendor*' -or -ruta './alt_entorno*' -or -ruta './fabricar*' \)" # noqa }, "pruebas": { "logformat": LOG_FORMAT, "paquete": "dued" }, "travis": { "sudo": { "usuario": "sudouser", "password": "******" }, "black": { "version": "18.6b4" }, }, "packaging": { "sign": True, "wheel": True, "checar_desc": True, # Because of PyYAML's dual source nonsense =/ "dual_wheels": True, "changelog_file": os.path.join(www.configuracion()["sphinx"]["source"], "changelog.rst"), }, })