commands: add "version_info" cmd
example:
```
$ ./run_electrum -o version_info
{
"aiohttp.version": "3.8.1",
"aiorpcx.version": "0.22.1",
"certifi.version": "2021.10.08",
"cryptodome.version": null,
"cryptography.path": "/home/user/.local/lib/python3.8/site-packages/cryptography",
"cryptography.version": "3.4.6",
"dnspython.version": "2.2.0",
"electrum.path": "/home/user/wspace/electrum/electrum",
"electrum.version": "4.2.1",
"hidapi.version": "0.11.0.post2",
"libsecp256k1.path": "/home/user/wspace/electrum/electrum/libsecp256k1.so.0",
"libusb.path": "libusb-1.0.so",
"libusb.version": "1.0.23.11397",
"libzbar.path": "/home/user/wspace/electrum/electrum/libzbar.so.0",
"pyaes.version": "1.3.0",
"pyqt.path": "/usr/lib/python3/dist-packages/PyQt5",
"pyqt.version": "5.14.1",
"qt.version": "5.12.8"
}
```
This commit is contained in:
@@ -29,7 +29,7 @@ import time
|
||||
import threading
|
||||
import sys
|
||||
from typing import (NamedTuple, Any, Union, TYPE_CHECKING, Optional, Tuple,
|
||||
Dict, Iterable, List, Sequence, Callable, TypeVar)
|
||||
Dict, Iterable, List, Sequence, Callable, TypeVar, Mapping)
|
||||
import concurrent
|
||||
from concurrent import futures
|
||||
from functools import wraps, partial
|
||||
@@ -749,3 +749,25 @@ class DeviceMgr(ThreadJob):
|
||||
client.handler.update_status(False)
|
||||
|
||||
return devices
|
||||
|
||||
@classmethod
|
||||
def version_info(cls) -> Mapping[str, Optional[str]]:
|
||||
ret = {}
|
||||
# add libusb
|
||||
try:
|
||||
import usb1
|
||||
except Exception as e:
|
||||
ret["libusb.version"] = None
|
||||
else:
|
||||
ret["libusb.version"] = ".".join(map(str, usb1.getVersion()[:4]))
|
||||
try:
|
||||
ret["libusb.path"] = usb1.libusb1.libusb._name
|
||||
except AttributeError:
|
||||
ret["libusb.path"] = None
|
||||
# add hidapi
|
||||
from importlib.metadata import version
|
||||
try:
|
||||
ret["hidapi.version"] = version("hidapi")
|
||||
except ImportError:
|
||||
ret["hidapi.version"] = None
|
||||
return ret
|
||||
|
||||
Reference in New Issue
Block a user