Trouble Accessing With Paws Python Code |
By James Murty
Book Price: $49.99 USD
£30.99 GBP
PDF Price: $39.99
Cover | Table of Contents | Forum | Colophon
![]() ![]() |
Trouble Accessing With Paws Python Code |
Jun 11 2008, 04:07 PM
Post
#1
|
|
|
New Member ![]() Group: Members Posts: 1 Joined: 11-June 08 Member No.: 386 |
I'm running Python 2.5.2 with the latest version of lxml.
When I try to connect to AWS with the python PAWS code, I receive the following error. Any idea what I'm doing wrong? I have environment variables set for AWS_ACCESS_KEY and AWS_SECRET_KEY. Thanks in advance for any assistance... >>> import S3 >>> svc = S3.S3() >>> svc.list_buckets() Body: <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>[snipped]</ID> <DisplayName>allan</DisplayName> </Owner> <Buckets/> </ListAllMyBucketsResult> Traceback (most recent call last): File "<stdin>", line 1, in <module> File "S3.py", line 95, in list_buckets for node in self.xpath_list('//ns:Buckets/ns:Bucket', xmldoc): File "AWS.py", line 448, in xpath_list return xml_object.xpath(query, {'ns':self.XML_NAMESPACE}) TypeError: function takes at most 1 positional arguments (2 given) |
|
|
|
Jun 12 2008, 11:57 AM
Post
#2
|
|
|
Active Member ![]() ![]() Group: Members Posts: 13 Joined: 21-March 08 Member No.: 161 |
This error seems to be caused by a change introduced in the lxml library in version 2 (the original code was developed against version 1.3.6).
After updating to latest version of lxml I got the same problem but the fix is fairly simple, you just need to explicitly tell the xpath() method that the second argument is a hash of "namespaces". In the AWS.py file, edit the xpath_list() function from the original: CODE def xpath_list(self, query, xml_object): return xml_object.xpath(query, {'ns':self.XML_NAMESPACE}) and add "namespaces=" before the second argument like so: CODE def xpath_list(self, query, xml_object): return xml_object.xpath(query, namespaces={'ns':self.XML_NAMESPACE}) Hope this helps, James |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 28th August 2008 - 12:52 AM |