Commit Graph

7 Commits

Author SHA1 Message Date
Rusty Russell
c8be8a11d7 currencyrate: fix what happens when we get an error.
root@ubuntu-s-4vcpu-8gb-nyc3-01:~# l2-cli currencyrates USD
{
   "code": -32600,
   "message": "Error while processing currencyrates: argument of type 'int' is not iterable",
   "traceback": "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.8/dist-packages/pyln/client/plugin.py\", line 621, in _dispatch_request\n    result = self._exec_func(method.func, request)\n  File \"/usr/local/lib/python3.8/dist-packages/pyln/client/plugin.py\", line 603, in _exec_func\n    return func(*ba.args, **ba.kwargs)\n  File \"/root/plugins/currencyrate/currencyrate.py\", line 121, in currencyrates\n    return get_rates(plugin, currency.upper())\n  File \"/usr/local/lib/python3.8/dist-packages/cachetools/decorators.py\", line 22, in wrapper\n    v = func(*args, **kwargs)\n  File \"/root/plugins/currencyrate/currencyrate.py\", line 110, in get_rates\n    r = get_currencyrate(plugin, currency, s.urlformat, s.replymembers)\n  File \"/root/plugins/currencyrate/currencyrate.py\", line 71, in get_currencyrate\n    r = requests_retry_session(retries=5, status_forcelist=(404)).get(url, proxies=plugin.proxies)\n  File \"/usr/lib/python3/dist-packages/requests/sessions.py\", line 543, in get\n    return self.request('GET', url, **kwargs)\n  File \"/usr/lib/python3/dist-packages/requests/sessions.py\", line 530, in request\n    resp = self.send(prep, **send_kwargs)\n  File \"/usr/lib/python3/dist-packages/requests/sessions.py\", line 643, in send\n    r = adapter.send(request, **kwargs)\n  File \"/usr/lib/python3/dist-packages/requests/adapters.py\", line 439, in send\n    resp = conn.urlopen(\n  File \"/usr/lib/python3/dist-packages/urllib3/connectionpool.py\", line 803, in urlopen\n    if retries.is_retry(method, response.status, has_retry_after):\n  File \"/usr/lib/python3/dist-packages/urllib3/util/retry.py\", line 339, in is_retry\n    if self.status_forcelist and status_code in self.status_forcelist:\nTypeError: argument of type 'int' is not iterable\n"
}

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-02-17 07:37:20 +01:00
Rusty Russell
2bee4a0fc2 currencyrate: feedback from Christian and m-schmook.
1. Use requests.packages.urllib3.util.retry for retries.
2. rename get_currencyrate parameters to match Source names.
3. Rename "currencyrate" to "currencyrates".
4. Remove unused packaging package from requirements.txt

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-01-14 18:35:49 +01:00
Rusty Russell
f16b78996f currencyrate: add three new sources, git credit in README.md
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-01-14 18:35:49 +01:00
Rusty Russell
f136e5942b currencyrate: fix default handling for 0.9.3.
We said default was '', which becomes [''].
2021-01-14 18:35:49 +01:00
Rusty Russell
eb31bfdf2e currencyconvert: raise more meaningful exception on unknown currencies.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-01-14 18:35:49 +01:00
Rusty Russell
02287e194d currencyrate: support multiple options for recent lightningd.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-01-14 18:35:49 +01:00
Rusty Russell
db5ca7f64a currencyrate: new plugin to do currency conversions.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-01-14 18:35:49 +01:00