# HG changeset patch # User Martin von Zweigbergk # Date 1563389137 25200 # Node ID 75307f276a79887a205bd1e17af21fafb02d31fa # Parent 87d3955467b4a34c4b7f6d986f9ca22df26d74c4 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. diff -r 87d3955467b4 -r 75307f276a79 hgext3rd/topic/randomname.py --- 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)