File size: 1,706 Bytes
27b04aa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
'''

File: tools.py

Project: PatternsRecognizer

Author: Milko Videv (milko.videv@thalesgroup.com)

-----

Last Modified: Saturday, 2nd March 2024 10:25:48 am

Modified By: Milko Videv (milko.videv@thalesgroup.com>)

-----

Copyright 2017 - 2024, Thales DIS, MCS SSH

-----

HISTORY:

Date      	By	Comments

----------	---	---------------------------------------------------------

'''
import sys 
import time
import os
import random

def get_yes_no(prompt):
    while True:
        response = input(prompt + " [y]|n: ").strip().lower()
        if response == "" or response in ["yes", "y"]:
            return True
        elif response in ["no", "n"]:
            return False
        else:
            print("\nPlease enter 'yes|y|no|n': ")

def debugger_is_active() -> bool:
    return hasattr(sys, 'gettrace') and sys.gettrace() is not None

def pick_random_file(directory):
    files = [file for file in os.listdir(directory) if os.path.isfile(os.path.join(directory, file))]
    if files:
        return os.path.join(directory, random.choice(files))
    else:
        return None
    
class Stopwatch:
    def __init__(self):
        self.start_time = None
        self.end_time = None

    def start(self):
        self.start_time = time.time()

    def stop(self):
        self.end_time = time.time()

    def elapsed_time(self):
        if self.start_time is None:
            return 0
        if self.end_time is None:
            elapsed = time.time() - self.start_time
        else:
            elapsed = self.end_time - self.start_time
        return elapsed

    def reset(self):
        self.start_time = None
        self.end_time = None