Skip to content

Commit 10cbb7f

Browse files
committed
Change: switch to requests in URL query runner
1 parent c88dafa commit 10cbb7f

1 file changed

Lines changed: 7 additions & 10 deletions

File tree

redash/query_runner/url.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import sys
2-
import urllib2
3-
4-
from redash.query_runner import *
1+
import requests
2+
from redash.query_runner import BaseQueryRunner, register
53

64

75
class Url(BaseQueryRunner):
@@ -40,20 +38,19 @@ def run_query(self, query, user):
4038

4139
url = base_url + query
4240

43-
json_data = urllib2.urlopen(url).read().strip()
41+
response = requests.get(url)
42+
response.raise_for_status()
43+
json_data = response.content.strip()
4444

4545
if not json_data:
46-
error = "Error reading data from '%s'" % url
46+
error = "Got empty response from '{}'.".format(url)
4747

4848
return json_data, error
49-
50-
except urllib2.URLError as e:
49+
except requests.RequestException as e:
5150
return None, str(e)
5251
except KeyboardInterrupt:
5352
error = "Query cancelled by user."
5453
json_data = None
55-
except Exception as e:
56-
raise sys.exc_info()[1], None, sys.exc_info()[2]
5754

5855
return json_data, error
5956

0 commit comments

Comments
 (0)