示例#1
0
    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)
示例#2
0
    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)
示例#3
0
 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)