py3: make random topic name generation consistent across py2/py3
random.choice() (and others based on random.randint()) changed between
py2 and py3 without a way to get the py2 behavior. However,
random.random() did not change, so we can re-implement random.choice()
based on that.
--- a/hgext3rd/topic/randomname.py Fri Jul 12 17:02:35 2019 -0700
+++ b/hgext3rd/topic/randomname.py Wed Jul 17 11:45:37 2019 -0700
@@ -1005,6 +1005,9 @@
]
def randomtopicname(ui):
+ # Re-implement random.choice() in the way it was written in Python 2.
+ def choice(things):
+ return things[int(len(things) * random.random())]
if ui.configint("devel", "randomseed"):
random.seed(ui.configint("devel", "randomseed"))
- return random.choice(adjectives) + "-" + random.choice(animals)
+ return choice(adjectives) + "-" + choice(animals)