Created
May 5, 2012 15:02
-
-
Save anonymous/2603120 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/gspread/client.py b/gspread/client.py | |
index c7ac0ff..1746684 100644 | |
--- a/gspread/client.py | |
+++ b/gspread/client.py | |
@@ -85,7 +85,7 @@ class Client(object): | |
auth_header = "GoogleLogin auth=%s" % token | |
self.session.add_header('Authorization', auth_header) | |
- except HTTPError as ex: | |
+ except HTTPError, ex: | |
if ex.code == 403: | |
content = ex.read().decode() | |
if content.strip() == 'Error=BadAuthentication': | |
@@ -230,7 +230,7 @@ class Client(object): | |
try: | |
r = self.session.put(url, data, headers=headers) | |
- except HTTPError as ex: | |
+ except HTTPError, ex: | |
if ex.code == 403: | |
message = ex.read().decode() | |
raise UpdateCellError(message) | |
@@ -245,7 +245,7 @@ class Client(object): | |
try: | |
r = self.session.post(url, data, headers=headers) | |
- except HTTPError as ex: | |
+ except HTTPError, ex: | |
message = ex.read().decode() | |
raise RequestError(message) | |
diff --git a/gspread/httpsession.py b/gspread/httpsession.py | |
index 8793099..e403d79 100644 | |
--- a/gspread/httpsession.py | |
+++ b/gspread/httpsession.py | |
@@ -55,7 +55,7 @@ class HTTPSession(object): | |
try: | |
return request.urlopen(req) | |
- except HTTPError as e: | |
+ except HTTPError, e: | |
raise e | |
def get(self, url, **kwargs): | |
diff --git a/gspread/models.py b/gspread/models.py | |
index bf6396e..b1a8a35 100644 | |
--- a/gspread/models.py | |
+++ b/gspread/models.py | |
@@ -352,7 +352,8 @@ class Worksheet(object): | |
<Cell R1C1 "I'm cell A1"> | |
""" | |
- return self.update_cell(*(self.get_int_addr(label)), val=val) | |
+ [one,two] = self.get_int_addr(label) | |
+ return self.update_cell(one, two, val=val) | |
def update_cell(self, row, col, val): | |
"""Sets the new value to a cell. | |
diff --git a/gspread/urls.py b/gspread/urls.py | |
index 967f869..737f42c 100644 | |
--- a/gspread/urls.py | |
+++ b/gspread/urls.py | |
@@ -42,6 +42,25 @@ _fields_cache = {} | |
_field_re = re.compile(r'{(\w+)}') | |
+ | |
+def format(txt, dic): | |
+ '''spreadsheets/{visibility}/{projection} | |
+ spreadsheets/, [visibility, /], [projection] | |
+ tx = 'spreadsheets/{visibility}/{projection}' | |
+ params = {'projection': 'full', 'visibility': 'private'} | |
+ ''' | |
+ | |
+ tx = [x.split('}') for x in txt.split('{')] | |
+ | |
+ if len(tx) > 1: | |
+ tx_final = ["".join(tx[0])] | |
+ for i in range(1,len(tx)): | |
+ [key, endtxt] = tx[i] | |
+ if key in dic.keys(): | |
+ key = dic[key] | |
+ tx_final.append(key+endtxt) | |
+ return "".join(tx_final) | |
+ | |
def _extract_fields(patternstr): | |
return _field_re.findall(patternstr) | |
@@ -60,7 +79,7 @@ def construct_url(feedtype=None, | |
if fields is None: | |
fields = _extract_fields(urlpattern) | |
_fields_cache[feedtype] = fields | |
- except KeyError as e: | |
+ except KeyError, e: | |
raise UnsupportedFeedTypeError(e) | |
obj_fields = obj.get_id_fields() if obj is not None else {} | |
@@ -77,6 +96,6 @@ def construct_url(feedtype=None, | |
try: | |
return '%s%s' % (SPREADSHEETS_FEED_URL, | |
- urlpattern.format(**params)) | |
- except KeyError as e: | |
+ format(urlpattern, params)) | |
+ except KeyError, e: | |
raise UrlParameterMissing(e) | |
diff --git a/gspread/utils.py b/gspread/utils.py | |
index b2aa90b..56a5343 100644 | |
--- a/gspread/utils.py | |
+++ b/gspread/utils.py | |
@@ -10,6 +10,9 @@ This module contains utility functions. | |
from xml.etree import ElementTree | |
+try: next | |
+except NameError: | |
+ def next (obj): return obj.next() | |
def finditem(func, seq): | |
"""Finds and returns first item in iterable for which func(item) is True. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment