/[pac]/USPSWebUtilities/USPSExpressMailLabelTool.py
ViewVC logotype

Diff of /USPSWebUtilities/USPSExpressMailLabelTool.py

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

revision 1.2 by tvon, Fri Oct 3 06:51:14 2003 UTC revision 1.3 by tvon, Thu Oct 9 22:27:30 2003 UTC
# Line 21  from zLOG import LOG, INFO, WARNING Line 21  from zLOG import LOG, INFO, WARNING
21    
22  def log(summary='', text='', log_level=INFO):  def log(summary='', text='', log_level=INFO):
23      LOG('USPSWebTool Debug', log_level, summary, text)      LOG('USPSWebTool Debug', log_level, summary, text)
24    
25  legal_fields = (  legal_fields = (
26      'Option',      'Option',
27      'EMCAAccount',      'EMCAAccount',
# Line 52  legal_fields = ( Line 53  legal_fields = (
53      'NoHoliday',      'NoHoliday',
54      'POZipCode',      'POZipCode',
55      'ImageType',      'ImageType',
56        'CustomerRefNo',
57      )      )
58    
59  # Simple USPS request  # Simple USPS request
# Line 79  class USPSRequest: Line 81  class USPSRequest:
81          return self.fields[field]          return self.fields[field]
82    
83      def build(self, username, password):      def build(self, username, password):
84          self.xml += '<ExpressMailLabelRequest USERID="%s" PASSWORD="%s">' % (username, password)          self.xml += '<ExpressMailLabelCertifyRequest USERID="%s" PASSWORD="%s">' % (username, password)
85    
86          # legal_fields has the proper order, so use it as a guide          # legal_fields has the proper order, so use it as a guide
87          for f in legal_fields:          for f in legal_fields:
# Line 89  class USPSRequest: Line 91  class USPSRequest:
91                  else:                  else:
92                      self.xml += '<%s>%s</%s>' % (f, self.fields[f], f)                      self.xml += '<%s>%s</%s>' % (f, self.fields[f], f)
93    
94          self.xml += """</ExpressMailLabelRequest>"""          self.xml += """</ExpressMailLabelCertifyRequest>"""
95    
96      def execute(self, servername):      def execute(self, servername):
97          #print self.xml          #print self.xml
98          res = urllib.urlopen("%s?API=ExpressMailLabel&%s" % (servername, urllib.urlencode({'XML' : self.xml})))          log(text=self.xml)
99            res = urllib.urlopen("%s?API=ExpressMailLabelCertify&%s" % (servername, urllib.urlencode({'XML' : self.xml})))
100    
101          return USPSResult(res.read())          return USPSResult(res.read())
102    
# Line 121  class USPSResult: Line 124  class USPSResult:
124          for field in legal_fields:          for field in legal_fields:
125              self.fields[field] = ''              self.fields[field] = ''
126    
127          print xml_s          log(text=xml_s)
128          if xml_s != None:          if xml_s != None:
129              self.parser.Parse(xml_s)              self.parser.Parse(xml_s)
130              self.xml_s = xml_s              self.xml_s = xml_s
131    
132      def startElement(self, name, attrs):      def startElement(self, name, attrs):
133          if name == 'ExpressMailLabelRequest':          if name == 'ExpressMailLabelCertifyRequest':
134              return              return
135          self._current = name          self._current = name
136    
# Line 174  class USPSExpressMailLabelTool(UniqueObj Line 177  class USPSExpressMailLabelTool(UniqueObj
177      def resultXML(self, result):      def resultXML(self, result):
178          return result.rawXML()          return result.rawXML()
179    
180        #security.declarePublic('getResultByKey')
181        def getResultByKey(self, result, key):
182            # Catching the exception here is a bad plan, but what should we do with
183            # it?  Log it or let the page choke?
184            return result.fields[key]
185    
186        # <ExpressMailLabelCertifyResponse>
187        #     <ToFirstName>Tom</ToFirstName>
188        #     <ToLastName>von Schwerdtner</ToLastName>
189        #     <ToFirm></ToFirm>
190        #     <ToAddress1>Apt 2r</ToAddress1>
191        #     <ToAddress2>1210 BOLTON ST</ToAddress2>
192        #     <ToCity>BALTIMORE</ToCity>
193        #     <ToState>MD</ToState>
194        #     <ToZip5>21217</ToZip5>
195        #     <ToZip4>4111</ToZip4>
196        #     <Postage>13.65</Postage>
197        #     <EMConfirmationNumber>EO999995693US</EMConfirmationNumber>
198        # </ExpressMailLabelCertifyResponse>
199    
200  InitializeClass(USPSExpressMailLabelTool)  InitializeClass(USPSExpressMailLabelTool)

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

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