diff options
Diffstat (limited to 'sci-calculators/units/files/units_cur-urllib.patch')
-rw-r--r-- | sci-calculators/units/files/units_cur-urllib.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/sci-calculators/units/files/units_cur-urllib.patch b/sci-calculators/units/files/units_cur-urllib.patch new file mode 100644 index 0000000..e77ff96 --- /dev/null +++ b/sci-calculators/units/files/units_cur-urllib.patch @@ -0,0 +1,60 @@ +Only in a: currency.units +diff -ru a/units_cur b/units_cur +--- a/units_cur 2018-09-15 16:30:09.000000000 -0400 ++++ b/units_cur 2021-07-11 18:01:29.030260473 -0400 +@@ -28,8 +28,12 @@ + # + # + +-version = '5.0' ++version = '5.1' + ++# Version 5.1: ++# ++# Switch to urllib to avoid requests dependency. ++# + # Version 5.0: + # + # Rewrite to support multiple different data sources due to disappearance +@@ -54,8 +58,11 @@ + # Python 2 or Python 3. Thanks to Ray Hamel for some help with this update. + + # Normal imports +-import requests + import codecs ++import json ++import urllib.error ++import urllib.parse ++import urllib.request + from argparse import ArgumentParser + from collections import OrderedDict + from datetime import date +@@ -288,11 +295,12 @@ + currency[code][rate_index])) + + def getjson(address,args=None): ++ if args: ++ address = address + "?" + urllib.parse.urlencode(args) + try: +- res = requests.get(address,args) +- res.raise_for_status() +- return(res.json()) +- except requests.exceptions.RequestException as e: ++ res = urllib.request.urlopen(address) ++ return(json.load(res)) ++ except urllib.error.URLError as e: + stderr.write('Error connecting to currency server:\n{}.\n'.format(e)) + exit(1) + +@@ -323,9 +331,8 @@ + stderr.write('European bank uses euro for base currency. Specified base {} ignored.\n'.format(base)) + import xml.etree.ElementTree as ET + try: +- res=requests.get('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') +- res.raise_for_status() +- data = ET.fromstring(res.content)[2][0] ++ res=urllib.request.urlopen('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') ++ data = ET.fromstring(res.read())[2][0] + except requests.exceptions.RequestException as e: + stderr.write('Error connecting to currency server:\n{}.\n'. + format(e)) |