blob: 69ad14b2dd3c507a2622c6de785750665d466f2f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
#!/router/bin/python
import sys
import site
import string
import random
import os
try:
import pwd
except ImportError:
import getpass
pwd = None
using_python_3 = True if sys.version_info.major == 3 else False
def user_input():
if using_python_3:
return input()
else:
# using python version 2
return raw_input()
def get_current_user():
if pwd:
return pwd.getpwuid(os.geteuid()).pw_name
else:
return getpass.getuser()
def import_module_list_by_path (modules_list):
assert(isinstance(modules_list, list))
for full_path in modules_list:
site.addsitedir(full_path)
def find_path_to_pardir (pardir, base_path = os.getcwd() ):
"""
Finds the absolute path for some parent dir `pardir`, starting from base_path
The request is only valid if the stop initiator is the same client as the TRex run initiator.
:parameters:
pardir : str
name of an upper-level directory to which we want to find an absolute path for
base_path : str
a full (usually nested) path from which we want to find a parent folder.
default value : **current working dir**
:return:
string representation of the full path to
"""
components = base_path.split(os.sep)
return str.join(os.sep, components[:components.index(pardir)+1])
def random_id_gen(length=8):
"""
A generator for creating a random chars id of specific length
:parameters:
length : int
the desired length of the generated id
default: 8
:return:
a random id with each next() request.
"""
id_chars = string.ascii_lowercase + string.digits
while True:
return_id = ''
for i in range(length):
return_id += random.choice(id_chars)
yield return_id
def id_count_gen():
"""
A generator for creating an increasing id for objects, starting from 0
:parameters:
None
:return:
an id (unsigned int) with each next() request.
"""
return_id = 0
while True:
yield return_id
return_id += 1
if __name__ == "__main__":
pass
|