From 4c0138e40d6e0ab65f209fb995acfcbaad331898 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 8 Nov 2021 20:30:02 +0530 Subject: [PATCH] Use system random source for picking a random book --- src/calibre/gui2/actions/random.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/actions/random.py b/src/calibre/gui2/actions/random.py index 5584fed6d5..089f14e97f 100644 --- a/src/calibre/gui2/actions/random.py +++ b/src/calibre/gui2/actions/random.py @@ -21,6 +21,10 @@ class PickRandomAction(InterfaceAction): def genesis(self): self.qaction.triggered.connect(self.pick_random) self.recently_picked = {} + try: + self.randint = random.SystemRandom().randint + except Exception: + self.randint = random.randint def location_selected(self, loc): enabled = loc == 'library' @@ -38,7 +42,7 @@ class PickRandomAction(InterfaceAction): n = next(iter(rp)) del rp[n] while True: - pick = random.randint(0, count) + pick = self.randint(0, count) if pick in rp: continue rp[pick] = True