def armar_presupuesto(self): """Esta función se encarga de armar todo el presupuesto""" mostrar_texto(ENCABEZADO_MODULO) self.set_cliente() self.seleccionar_plan() self.calcular_iva() self.calcular_neto() self.armar_numero_presupuesto() txt = leer_archivo(self.txt) html = leer_archivo(self.html) # armo un diccionario con todos los datos que utilizo en el template diccionario = dict(nombre=self.encabezado_nombre, web=self.encabezado_web, email=self.encabezado_email, titulo=self.titulo, numero=self.numero_presupuesto, fecha=self.fecha, empresa=self.empresa, cliente=self.cliente, plan=self.plan, servicio=self.servicio, precio=self.importe, iva=self.monto_iva, total=self.neto, limite=self.vencimiento) txt = Template(txt).safe_substitute(diccionario) html = Template(html).safe_substitute(diccionario) self.guardar_presupuesto(txt, html)
def seleccionar_plan(self): texto_a_mostrar = ELEGIR_PLAN codigo_plan = 0 for plan in self.planes: texto_a_mostrar += '(%d)%s ' % (codigo_plan, plan) codigo_plan = codigo_plan + 1 texto_a_mostrar += ": " elegir_plan = raw_input(texto_a_mostrar) # Capturando excepciones (Capítulo 5) try: elegir_plan = int(elegir_plan) self.plan = self.planes[elegir_plan] except (ValueError, IndexError): mostrar_texto(DATO_INCORRECTO) self.seleccionar_plan() else: datos_servicio = self.lista_precios[self.planes[elegir_plan]] self.servicio = datos_servicio[0] importe = datos_servicio[1] self.importe = float(importe)
def guardar_presupuesto(self, txt, html): respuesta = raw_input(GUARDAR_ARCHIVO) # Si el usuario indica "s" if respuesta.lower() == 'n': mostrar_texto(txt) # si en cambio el usuario indica "n" elif respuesta.lower() == 's': filename = 'presupuestos/' + self.numero_presupuesto + '.html' crear_archivo(filename, html) mostrar_texto(CONFIRM_ARCHIVO_GUARDADO) self.mostrar_presupuesto(filename) # sino else: mostrar_texto(OPCION_INCORRECTA) self.guardar_presupuesto(txt, html)