summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/common.py')
-rw-r--r--scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/common.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/common.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/common.py
index 638684c3..0214d7d7 100644
--- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/common.py
+++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/common.py
@@ -27,7 +27,7 @@ def user_input():
return raw_input()
-def random_id_gen(length=8):
+def random_id_gen_unsafe(length=8):
"""
A generator for creating a random chars id of specific length
@@ -47,6 +47,19 @@ def random_id_gen(length=8):
return_id += random.choice(id_chars)
yield return_id
+
+class random_id_gen:
+ """ Thread safe version of random_id_gen_unsafe """
+ def __init__(self, length=8):
+ self.id_chars = string.ascii_lowercase + string.digits
+ self.length = length
+
+ def next(self):
+ return ''.join(random.choice(self.id_chars) for _ in range(self.length))
+
+ __next__ = next
+
+
# try to get number from input, return None in case of fail
def get_number(input):
try: