v1 classes are taken out of realm.py, into their own files

Signed-off-by: Dipti <dipti.dhond@candelatech.com>
This commit is contained in:
Dipti
2021-03-05 23:38:40 -08:00
parent 8575340eb9
commit 1b87a6926b
5 changed files with 39 additions and 2371 deletions

View File

@@ -490,6 +490,32 @@ class LFCliBase:
logging.warning(mesg) logging.warning(mesg)
elif level == "error": elif level == "error":
logging.error(mesg) logging.error(mesg)
@staticmethod
def parse_time(time_string):
if isinstance(time_string, str):
pattern = re.compile("^(\d+)([dhms]$)")
td = pattern.match(time_string)
if td is not None:
dur_time = int(td.group(1))
dur_measure = str(td.group(2))
if dur_measure == "d":
duration_time = datetime.timedelta(days=dur_time)
elif dur_measure == "h":
duration_time = datetime.timedelta(hours=dur_time)
elif dur_measure == "m":
duration_time = datetime.timedelta(minutes=dur_time)
elif dur_measure == "ms":
duration_time = datetime.timedelta(milliseconds=dur_time)
elif dur_measure == "w":
duration_time = datetime.timedelta(weeks=dur_time)
else:
duration_time = datetime.timedelta(seconds=dur_time)
else:
raise ValueError("Cannot compute time string provided: %s" % time_string)
else:
raise ValueError("time_string must be of type str. Type %s provided" % type(time_string))
return duration_time
# This style of Action subclass for argparse can't do much unless we incorporate # This style of Action subclass for argparse can't do much unless we incorporate
# our argparse as a member of LFCliBase. Then we can do something like automatically # our argparse as a member of LFCliBase. Then we can do something like automatically

View File

@@ -1,6 +1,8 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from LANforge.lfcli_base import LFCliBase from LANforge.lfcli_base import LFCliBase
import port_utils
from port_utils import PortUtils
from pprint import pprint from pprint import pprint
import pprint import pprint
import time import time

View File

@@ -3,9 +3,12 @@
import re import re
from LANforge.lfcli_base import LFCliBase from LANforge.lfcli_base import LFCliBase
from pprint import pprint from pprint import pprint
import requests
import pprint import pprint
import pandas as pd
import time import time
import datetime import datetime
import ast
import csv import csv
import os import os
@@ -158,7 +161,7 @@ class L4CXProfile(LFCliBase):
iterations=0, iterations=0,
debug=False): debug=False):
try: try:
duration_sec = Realm.parse_time(duration_sec).seconds duration_sec = LFCliBase.parse_time(duration_sec).seconds
except: except:
if (duration_sec is None) or (duration_sec <= 1): if (duration_sec is None) or (duration_sec <= 1):
raise ValueError("L4CXProfile::monitor wants duration_sec > 1 second") raise ValueError("L4CXProfile::monitor wants duration_sec > 1 second")

View File

@@ -1,18 +1,15 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import re
import time
import pprint
from LANforge.lfcli_base import LFCliBase from LANforge.lfcli_base import LFCliBase
import csv
import pandas as pd
import os
from pprint import pprint from pprint import pprint
import time import pprint
import random
import string
import datetime
class MULTICASTProfile(LFCliBase): class MULTICASTProfile(LFCliBase):

File diff suppressed because it is too large Load Diff