|
5 | 5 |
|
6 | 6 | from . import http, multipart, utils
|
7 | 7 | from .commands import ArgCommand, Command, DownloadCommand, FileCommand
|
8 |
| - |
| 8 | +from .exceptions import ipfsApiError |
9 | 9 |
|
10 | 10 | default_host = 'localhost'
|
11 | 11 | default_port = 5001
|
@@ -432,16 +432,22 @@ def dht_findpeer(self, *args, **kwargs):
|
432 | 432 | """
|
433 | 433 | return self._dht_findpeer.request(self._client, *args, **kwargs)
|
434 | 434 |
|
435 |
| - @utils.return_field('Extra') |
436 | 435 | def dht_get(self, *args, **kwargs):
|
437 | 436 | """
|
438 | 437 | """
|
439 |
| - return self._dht_get.request(self._client, *args, **kwargs) |
| 438 | + res = self._dht_get.request(self._client, *args, **kwargs) |
| 439 | + if isinstance(res, dict) and "Extra" in res: |
| 440 | + return res["Extra"] |
| 441 | + else: |
| 442 | + for r in res: |
| 443 | + if "Extra" in r and len(r["Extra"]) > 0: |
| 444 | + return r["Extra"] |
| 445 | + raise ipfsApiError("empty response from DHT") |
440 | 446 |
|
441 | 447 | def dht_put(self, key, value, **kwargs):
|
442 | 448 | """
|
443 | 449 | """
|
444 |
| - return self._dht_put.request(self._client, [key, value], **kwargs) |
| 450 | + return self._dht_put.request(self._client, key, value, **kwargs) |
445 | 451 |
|
446 | 452 | def ping(self, *args, **kwargs):
|
447 | 453 | """
|
|
0 commit comments