Browse Source

python 3.10: fix some deprecation warnings and compat with 3.10

patch-4
SomberNight 3 years ago
parent
commit
88a1c1a618
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 2
      electrum/daemon.py
  2. 4
      electrum/gui/qt/qrreader/qtmultimedia/camera_dialog.py
  3. 2
      electrum/gui/qt/qrreader/qtmultimedia/video_overlay.py
  4. 2
      electrum/gui/qt/qrreader/qtmultimedia/video_surface.py
  5. 16
      electrum/gui/qt/util.py
  6. 2
      electrum/plugin.py
  7. 2
      electrum/sql_db.py
  8. 4
      electrum/util.py
  9. 2
      electrum/wallet_db.py

2
electrum/daemon.py

@ -607,7 +607,7 @@ class Daemon(Logger):
self._stopped_event.set()
def run_gui(self, config, plugins):
threading.current_thread().setName('GUI')
threading.current_thread().name = 'GUI'
gui_name = config.get('gui', 'qt')
if gui_name in ['lite', 'classic']:
gui_name = 'qt'

4
electrum/gui/qt/qrreader/qtmultimedia/camera_dialog.py

@ -213,8 +213,8 @@ class QrReaderCameraDialog(Logger, MessageBoxMixin, QDialog):
"""
Returns a QRect that is scan_size x scan_size in the middle of the resolution
"""
scan_pos_x = (resolution.width() - scan_size) / 2
scan_pos_y = (resolution.height() - scan_size) / 2
scan_pos_x = (resolution.width() - scan_size) // 2
scan_pos_y = (resolution.height() - scan_size) // 2
return QRect(scan_pos_x, scan_pos_y, scan_size, scan_size)
@staticmethod

2
electrum/gui/qt/qrreader/qtmultimedia/video_overlay.py

@ -63,7 +63,7 @@ class QrReaderVideoOverlay(QWidget):
self.bg_rect_pen = QPen()
self.bg_rect_pen.setColor(Qt.black)
self.bg_rect_pen.setStyle(Qt.DotLine)
self.bg_rect_fill = QColor(255, 255, 255, 255 * self.BG_RECT_OPACITY)
self.bg_rect_fill = QColor(255, 255, 255, int(255 * self.BG_RECT_OPACITY))
def set_results(self, results: List[QrCodeResult], flip_x: bool,
validator_results: QrReaderValidatorResult):

2
electrum/gui/qt/qrreader/qtmultimedia/video_surface.py

@ -60,7 +60,7 @@ class QrReaderVideoSurface(QAbstractVideoSurface):
return False
try:
img = QImage(frame.bits(), frame.width(), frame.height(), image_format)
img = QImage(int(frame.bits()), frame.width(), frame.height(), image_format)
# Check whether we need to flip the image on any axis
surface_format = self.surfaceFormat()

16
electrum/gui/qt/util.py

@ -1175,8 +1175,8 @@ class FixedAspectRatioLayout(QLayout):
c_aratio = 1
s_aratio = self.aspect_ratio
item_rect = QRect(QPoint(0, 0), QSize(
contents.width() if c_aratio < s_aratio else contents.height() * s_aratio,
contents.height() if c_aratio > s_aratio else contents.width() / s_aratio
contents.width() if c_aratio < s_aratio else int(contents.height() * s_aratio),
contents.height() if c_aratio > s_aratio else int(contents.width() / s_aratio)
))
content_margins = self.contentsMargins()
@ -1187,7 +1187,7 @@ class FixedAspectRatioLayout(QLayout):
if item.alignment() & Qt.AlignRight:
item_rect.moveRight(contents.width() + content_margins.right())
else:
item_rect.moveLeft(content_margins.left() + (free_space.width() / 2))
item_rect.moveLeft(content_margins.left() + (free_space.width() // 2))
else:
item_rect.moveLeft(content_margins.left())
@ -1195,7 +1195,7 @@ class FixedAspectRatioLayout(QLayout):
if item.alignment() & Qt.AlignBottom:
item_rect.moveBottom(contents.height() + content_margins.bottom())
else:
item_rect.moveTop(content_margins.top() + (free_space.height() / 2))
item_rect.moveTop(content_margins.top() + (free_space.height() // 2))
else:
item_rect.moveTop(content_margins.top())
@ -1224,10 +1224,10 @@ def QColorLerp(a: QColor, b: QColor, t: float):
t = max(min(t, 1.0), 0.0)
i_t = 1.0 - t
return QColor(
(a.red() * i_t) + (b.red() * t),
(a.green() * i_t) + (b.green() * t),
(a.blue() * i_t) + (b.blue() * t),
(a.alpha() * i_t) + (b.alpha() * t),
int((a.red() * i_t) + (b.red() * t)),
int((a.green() * i_t) + (b.green() * t)),
int((a.blue() * i_t) + (b.blue() * t)),
int((a.alpha() * i_t) + (b.alpha() * t)),
)

2
electrum/plugin.py

@ -60,7 +60,7 @@ class Plugins(DaemonThread):
@profiler
def __init__(self, config: SimpleConfig, gui_name):
DaemonThread.__init__(self)
self.setName('Plugins')
self.name = 'Plugins' # set name of thread
self.pkgpath = os.path.dirname(plugins.__file__)
self.config = config
self.hw_wallets = {}

2
electrum/sql_db.py

@ -14,7 +14,7 @@ def sql(func):
returns an awaitable asyncio.Future
"""
def wrapper(self: 'SqlDB', *args, **kwargs):
assert threading.currentThread() != self.sql_thread
assert threading.current_thread() != self.sql_thread
f = self.asyncio_loop.create_future()
self.db_requests.put((f, func, args, kwargs))
return f

4
electrum/util.py

@ -340,7 +340,7 @@ class DaemonThread(threading.Thread, Logger):
def __init__(self):
threading.Thread.__init__(self)
Logger.__init__(self)
self.parent_thread = threading.currentThread()
self.parent_thread = threading.current_thread()
self.running = False
self.running_lock = threading.Lock()
self.job_lock = threading.Lock()
@ -1317,7 +1317,7 @@ def create_and_start_event_loop() -> Tuple[asyncio.AbstractEventLoop,
loop = asyncio.get_event_loop()
loop.set_exception_handler(on_exception)
# loop.set_debug(1)
stopping_fut = asyncio.Future()
stopping_fut = loop.create_future()
loop_thread = threading.Thread(target=loop.run_until_complete,
args=(stopping_fut,),
name='EventLoop')

2
electrum/wallet_db.py

@ -1393,7 +1393,7 @@ class WalletDB(JsonDB):
@profiler
def _write(self, storage: 'WalletStorage'):
if threading.currentThread().isDaemon():
if threading.current_thread().daemon:
self.logger.warning('daemon thread cannot write db')
return
if not self.modified():

Loading…
Cancel
Save