Updated for progress bar

This commit is contained in:
Dimitris Zlatanidis 2023-05-13 20:50:38 +03:00
parent bb90ab841b
commit 368d9cae89
4 changed files with 38 additions and 21 deletions

View file

@ -143,7 +143,7 @@ class CheckUpdates(Configs):
# Starting multiprocessing # Starting multiprocessing
p1 = Process(target=self.check_for_updates) p1 = Process(target=self.check_for_updates)
p2 = Process(target=self.progress.bar, args=(message, '')) p2 = Process(target=self.progress.progress_bar, args=(message, ''))
p1.start() p1.start()
p2.start() p2.start()

View file

@ -32,7 +32,7 @@ class MultiProcess(Configs):
# Starting multiprocessing # Starting multiprocessing
p1 = Process(target=self.utils.process, args=(command, self.stderr, self.stdout)) p1 = Process(target=self.utils.process, args=(command, self.stderr, self.stdout))
p2 = Process(target=self.progress.bar, args=(f'{progress_message}:', filename)) p2 = Process(target=self.progress.progress_bar, args=(f'{progress_message}:', filename))
p1.start() p1.start()
p2.start() p2.start()

View file

@ -12,17 +12,41 @@ class ProgressBar(Configs):
def __init__(self): def __init__(self):
super(Configs, self).__init__() super(Configs, self).__init__()
self.spinner = PixelSpinner
self.color: str = self.endc
self.spinners: dict = {}
self.spinners_color: dict = {}
def bar(self, message: str, filename: str) -> None: def progress_bar(self, message: str, filename: str) -> None:
""" Creating progress bar. """ """ Creating progress bar. """
spinners: dict = { self.assign_spinners()
self.assign_spinner_colors()
self.set_spinner()
self.set_color()
if self.spinning_bar:
bar_spinner = self.spinner(f'{self.endc}{message} {filename} {self.color}')
# print('\033[F', end='', flush=True)
try:
while True:
time.sleep(0.1)
bar_spinner.next()
except KeyboardInterrupt:
raise SystemExit(1)
else:
print(f'{message} ', end='', flush=True)
def assign_spinners(self):
self.spinners: dict = {
'pixel': PixelSpinner, 'pixel': PixelSpinner,
'line': LineSpinner, 'line': LineSpinner,
'moon': MoonSpinner, 'moon': MoonSpinner,
'pie': PieSpinner, 'pie': PieSpinner,
'spinner': Spinner 'spinner': Spinner
} }
colors: dict = {
def assign_spinner_colors(self):
self.spinners_color: dict = {
'green': self.green, 'green': self.green,
'violet': self.violet, 'violet': self.violet,
'yellow': self.yellow, 'yellow': self.yellow,
@ -33,21 +57,14 @@ class ProgressBar(Configs):
'': self.endc '': self.endc
} }
def set_spinner(self):
try: try:
spinner = spinners[self.progress_spinner] self.spinner = self.spinners[self.progress_spinner]
color: str = colors[self.spinner_color]
except KeyError: except KeyError:
spinner = PixelSpinner self.spinner = PixelSpinner
color: str = self.endc
if self.spinning_bar: def set_color(self):
bar_spinner = spinner(f'{self.endc}{message} {filename} {color}') try:
# print('\033[F', end='', flush=True) self.color: str = self.spinners_color[self.spinner_color]
try: except KeyError:
while True: self.color: str = self.endc
time.sleep(0.1)
bar_spinner.next()
except KeyboardInterrupt:
raise SystemExit(1)
else:
print(f'{message} ', end='', flush=True)

View file

@ -616,7 +616,7 @@ class UpdateRepository(Configs):
# Starting multiprocessing # Starting multiprocessing
p1 = Process(target=self.check_for_updates, args=(queue,)) p1 = Process(target=self.check_for_updates, args=(queue,))
p2 = Process(target=self.progress.bar, args=(message, '')) p2 = Process(target=self.progress.progress_bar, args=(message, ''))
p1.start() p1.start()
p2.start() p2.start()