/[gnue]/gnue-pos/src/hardware/receiptprinter/plain.py
ViewVC logotype

Diff of /gnue-pos/src/hardware/receiptprinter/plain.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by jcater, Mon Jun 23 03:48:57 2003 UTC revision 1.2 by jcater, Mon Jun 23 05:31:11 2003 UTC
# Line 31  __all__ = ['Driver'] Line 31  __all__ = ['Driver']
31    
32  from gnue.common.events.EventAware import EventAware  from gnue.common.events.EventAware import EventAware
33    
34    dollarFormat = '$%.02f'
35    
36  class Driver(EventAware):  class Driver(EventAware):
37    
38    ##########################################################    ##########################################################
# Line 45  class Driver(EventAware): Line 47  class Driver(EventAware):
47    #    #
48    #    #
49    
50    def __init__(self, instance):    def __init__(self, instance, params):
51      EventAware.__init__(self, instance, params)      EventAware.__init__(self, instance)
52      self.instance = instance      self.instance = instance
53      self.params = params      self.__dict__.update(params)
54        self.output = None
55    
56        self.totalFields = (  ('subtotal',_('Subtotal')),
57                              ('mstax','MS Sales Tax (7%)'),
58                              ('total',_('Total')) )
59    
60        self.receiptColumns = ( ('department',_('Dept'), '%s', 0),
61                                ('sku',_('Code'), '%s', 0),
62                                ('quantity',_('Units'), '%s', 0),
63                                ('description',_('Description'), '%s', 0),
64                                ('each',_('Price/Unit'), dollarFormat, 1),
65                                ('extended',_('Extended'), dollarFormat, 1) )
66    
67        self.totalFieldMapping = {}
68    
69        self.registerEventListeners( {
70          'BeginTicket': self._BeginTicket,
71          'EndTicket': self._EndTicket,
72          'CancelTicket': self._CancelTicket,
73          'AddTicketItem': self._AddTicketItem,
74          'CancelTicketItem': self._CancelTicketItem,
75          'UpdateTotal': self._UpdateTotal } )
76    
77      self.init()      self.init()
78    
79      def _BeginTicket(self, event):
80        self.output = open(self.port,'w')
81        self.totals = {}
82        self.output.write("""
83    ------------------------------
84            Company Header
85            123 N Main St
86          Yourtown, TN 38011
87            (662) 555-1234
88    ------------------------------
89    
90    Receipt # %s
91    %s %s %s
92    
93    """ % (event.serial, '06/23/03','12:13pm','Jason'))
94    
95      def _CancelTicket(self, event):
96        self.output.write('\n**** CANCELED ****\n\n\n')
97        self.output.close()
98        self.output = None
99    
100      def _EndTicket(self, event):
101        self.output.write('\n\n')
102        for field, display in self.totalFields:
103          try:
104            self.output.write(display+':  '+dollarFormat % self.totals[field]+'\n')
105          except KeyError:
106            self.output.write(display+':  '+dollarFormat % 0+'\n')
107        self.output.write('\n\n\n')
108        self.output.close()
109        self.output = None
110    
111      def _AddTicketItem(self, event):
112        # TODO
113        for field, foo, format, bar in self.receiptColumns:
114          try:
115            self.output.write(format % event.__dict__[field]+' ')
116          except KeyError:
117            pass
118        self.output.write("\n")
119    
120    
121      def _CancelTicketItem(self, event):
122        pass
123    
124      def _UpdateTotal(self, event):
125        self.totals[event.field] = event.amount
126    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26