From 16541c522e4f88c7d7b66c9d6168f7fb3c36d358 Mon Sep 17 00:00:00 2001 From: mohammed akmal miah Date: Mon, 17 Jan 2022 12:30:07 +0000 Subject: [PATCH 1/2] update csrf token in urlopen_json --- google/refine/refine.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/google/refine/refine.py b/google/refine/refine.py index e943d1f..7e21ea5 100644 --- a/google/refine/refine.py +++ b/google/refine/refine.py @@ -118,6 +118,10 @@ class RefineServer(object): """Open a Refine URL, optionally POST data, and return parsed JSON.""" response = json.loads(self.urlopen(*args, **kwargs).read()) if 'code' in response and response['code'] not in ('ok', 'pending'): + if 'Missing or invalid csrf_token parameter' == response['message']: + self.get_csrf_token() + response = json.loads(self.urlopen(*args, **kwargs).read()) + return response error_message = ('server ' + response['code'] + ': ' + response.get('message', response.get('stack', response))) raise Exception(error_message) From e4d52818fc2d38d520666aa3b1f84b2478312ed7 Mon Sep 17 00:00:00 2001 From: mohammed akmal miah Date: Mon, 17 Jan 2022 12:33:05 +0000 Subject: [PATCH 2/2] remove csrf check in urlopen --- google/refine/refine.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/google/refine/refine.py b/google/refine/refine.py index 7e21ea5..e78da06 100644 --- a/google/refine/refine.py +++ b/google/refine/refine.py @@ -97,12 +97,8 @@ class RefineServer(object): try: response = urllib2.urlopen(req) except urllib2.HTTPError as e: - if 'Missing or invalid csrf_token parameter' == e.msg: - self.get_csrf_token() - params['csrf_token'] = self.token - response = urllib2.urlopen(req) - else: - raise Exception('HTTP %d "%s" for %s\n\t%s' % (e.code, e.msg, e.geturl(), data)) + raise Exception('HTTP %d "%s" for %s\n\t%s' % + (e.code, e.msg, e.geturl(), data)) except urllib2.URLError as e: raise urllib2.URLError( '%s for %s. No Refine server reachable/running; ENV set?' %