summaryrefslogtreecommitdiff
path: root/boto/handler.py
diff options
context:
space:
mode:
Diffstat (limited to 'boto/handler.py')
-rw-r--r--boto/handler.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/boto/handler.py b/boto/handler.py
index 8f37dff1..df065cca 100644
--- a/boto/handler.py
+++ b/boto/handler.py
@@ -19,6 +19,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
+import StringIO
import xml.sax
class XmlHandler(xml.sax.ContentHandler):
@@ -42,3 +43,14 @@ class XmlHandler(xml.sax.ContentHandler):
def characters(self, content):
self.current_text += content
+
+
+class XmlHandlerWrapper(object):
+ def __init__(self, root_node, connection):
+ self.handler = XmlHandler(root_node, connection)
+ self.parser = xml.sax.make_parser()
+ self.parser.setContentHandler(self.handler)
+ self.parser.setFeature(xml.sax.handler.feature_external_ges, 0)
+
+ def parseString(self, content):
+ return self.parser.parse(StringIO.StringIO(content))