| 110 |
fields = {} |
fields = {} |
| 111 |
|
|
| 112 |
_current = None |
_current = None |
| 113 |
|
xml_s = None |
| 114 |
|
|
| 115 |
def __init__(self, xml_s = None): |
def __init__(self, xml_s = None): |
| 116 |
self.parser = xml.parsers.expat.ParserCreate() |
self.parser = xml.parsers.expat.ParserCreate() |
| 124 |
print xml_s |
print xml_s |
| 125 |
if xml_s != None: |
if xml_s != None: |
| 126 |
self.parser.Parse(xml_s) |
self.parser.Parse(xml_s) |
| 127 |
|
self.xml_s = xml_s |
| 128 |
|
|
| 129 |
def startElement(self, name, attrs): |
def startElement(self, name, attrs): |
| 130 |
if name == 'ExpressMailLabelRequest': |
if name == 'ExpressMailLabelRequest': |
| 135 |
self._current = 'dump' |
self._current = 'dump' |
| 136 |
|
|
| 137 |
def characterData(self, content): |
def characterData(self, content): |
| 138 |
|
# Lots of whitespace in there... |
| 139 |
self.fields[self._current] = content.replace(' ', '') |
self.fields[self._current] = content.replace(' ', '') |
| 140 |
|
|
| 141 |
|
def rawXML(self): |
| 142 |
|
return self.xml_s |
| 143 |
|
|
| 144 |
|
|
| 145 |
class USPSExpressMailLabelTool(UniqueObject, SimpleItem): |
class USPSExpressMailLabelTool(UniqueObject, SimpleItem): |
| 146 |
id = 'expressmaillabel_tool' |
id = 'expressmaillabel_tool' |
| 148 |
security = ClassSecurityInfo() |
security = ClassSecurityInfo() |
| 149 |
plone_tool = 1 |
plone_tool = 1 |
| 150 |
|
|
|
#security.declarePublic('testData') |
|
|
def testData(self): |
|
|
self.request = USPSRequest() |
|
|
return self.request.fields |
|
|
|
|
| 151 |
#security.declarePublic('query') |
#security.declarePublic('query') |
| 152 |
def query(self, **kw): |
def query(self, **kw): |
| 153 |
self.request = USPSRequest(**kw) |
request = USPSRequest(**kw) |
| 154 |
self.request.build(self._getUserName(), self._getPassword()) |
request.build(self._getUserName(), self._getPassword()) |
| 155 |
self.result = self.request.execute(self._getServer()) |
result = request.execute(self._getServer()) |
| 156 |
return self.result |
return result |
| 157 |
|
|
| 158 |
#security.declarePrivate('_getServer') |
#security.declarePrivate('_getServer') |
| 159 |
def _getServer(self): |
def _getServer(self): |
| 170 |
prop_tool = self.portal_properties |
prop_tool = self.portal_properties |
| 171 |
return prop_tool.usps_properties.getProperty('password') |
return prop_tool.usps_properties.getProperty('password') |
| 172 |
|
|
| 173 |
|
#security.declarePublic('resultXML') |
| 174 |
|
def resultXML(self, result): |
| 175 |
|
return result.rawXML() |
| 176 |
|
|
| 177 |
|
|
| 178 |
InitializeClass(USPSExpressMailLabelTool) |
InitializeClass(USPSExpressMailLabelTool) |