Follow By Email

martes, 30 de marzo de 2010

Presupuesto - Python

 1 # -*- coding: utf-8 -*-
 2 class ModeloDePresupuesto:
 3     # Datos comerciales
 4     titulo = "PRESUPUESTO"
 5     encabezado_nombre = "Eugenia Bahit"
 6     encabezado_web = "www.eugeniabahit.com.ar"
 7     encabezado_email = "mail@mail.com"
 8 
 9     # Datos impositivos
10     alicuota_iva = 21
11 
12     # Propiedades relativas al formato
13     divline = "="*80
14 
15     # Setear los datos del cliente
16     def set_cliente(self):
17         self.empresa = raw_input('\tEmpresa: ')
18         self.cliente = raw_input('\tNombre del cliente: ')
19 
20     # Setear los datos básicos del presupuesto
21     def set_datos_basicos(self):
22         self.fecha = raw_input('\tFecha: ')
23         self.servicio = raw_input('\tDescripción del servicio: ')
24         importe = raw_input('\tImporte bruto: $')
25         self.importe = float(importe)
26         self.vencimiento = raw_input('\tFecha de caducidad: ')
27 
28     # Calcular IVA
29     def calcular_iva(self):
30         self.monto_iva = self.importe*self.alicuota_iva/100
31 
32     # Calcula el monto total del presupuesto
33     def calcular_neto(self):
34         self.neto = self.importe+self.monto_iva
35 
36     # Armar el presupuesto
37     def armar_presupuesto(self):
38         """
39             Esta función se encarga de armar todo el presupuesto
40         """
41         txt = '\n'+self.divline+'\n'
42         txt += '\t'+self.encabezado_nombre+'\n'
43         txt += '\tWeb Site: '+self.encabezado_web+' | '
44         txt += 'E-mail: '+self.encabezado_email+'\n'
45         txt += self.divline+'\n'
46         txt += '\t'+self.titulo+'\n'
47         txt += self.divline+'\n\n'
48         txt += '\tFecha: '+self.fecha+'\n'
49         txt += '\tEmpresa: '+self.empresa+'\n'
50         txt += '\tCliente: '+self.cliente+'\n'
51         txt += self.divline+'\n\n'
52         txt += '\tDetalle del servicio:\n'
53         txt += '\t'+self.servicio+'\n\n'
54         txt += '\tImporte: $%0.2f | IVA: $%0.2f\n' % (
55                                   self.importe, self.monto_iva)
56         txt += '-'*80
57         txt += '\n\tMONTO TOTAL: $%0.2f\n' % (self.neto)
58         txt += self.divline+'\n'
59         print txt 
60 
61     # Método constructor
62     def __init__(self):
63         print self.divline
64         print "\tGENERACIÓN DEL PRESUPUESTO"
65         print self.divline
66         self.set_cliente()
67         self.set_datos_basicos()
68         self.calcular_iva()
69         self.calcular_neto()
70         self.armar_presupuesto()
71 
72 # Instanciar clase
73 presupuesto = ModeloDePresupuesto()

No hay comentarios:

Publicar un comentario