Compare commits

...

3 Commits
master ... dev

Author SHA1 Message Date
OriolFilter
b03233fa6c fixed progress bar color darkening 2022-03-10 08:43:55 +01:00
ofilter
e8f1b35b1d Bar now uses RGB 2022-03-10 06:36:52 +01:00
ofilter
f04040c1f6 Rename host files to hostlist, fix 2022-03-06 22:46:11 +01:00
3 changed files with 89 additions and 13 deletions

50
main.py
View File

@ -18,6 +18,13 @@ Date 06/03/2021
version = '0.9'
@dataclass
class RGB:
r: int = 0
g: int = 0
b: int = 0
def sent_message(filename: str, sent: bool) -> None:
print(f'\t[{filename}] ==> [{(fg(10), fg(9))[sent]}{("Sent", "ERROR")[sent]}{attr("reset")}]')
@ -27,26 +34,43 @@ class LOADING:
def sending_file_progress(filename: bytes, size: int, sent: int) -> None:
# float(sent) / float(size) * 100
green_scale = [28, 34, 40, 76, 82, 118]
def return_diff_color(c1: RGB, c2: RGB, percent: int) -> RGB:
def return_diff(n1, n2, percent=100) -> int:
if n1 > n2:
return n1 - int((n1 - n2) * (percent / 100))
elif n1 < n2:
return n1 + int((n2 - n1) * (percent / 100))
return n1
new_rgb = RGB(r=return_diff(c1.r, c2.r, percent), g=return_diff(c1.g, c2.g, percent),
b=return_diff(c1.b, c2.b, percent))
return new_rgb
def color_to_hex(color: RGB) -> str:
def return_hex_number(n: int):
hnum = hex(int(n))
return f'{str(hnum).replace("0x", "").zfill(2)}'
r: str = return_hex_number(color.r)
g: str = return_hex_number(color.g)
b: str = return_hex_number(color.b)
return f"{r}{g}{b}"
base_color= RGB(r=68, g=121, b=84)
end_color= RGB(r=0, g=255, b=68)
loading_chars = "|/-\\"
_filename = filename.decode()
screen_size = get_terminal_size()
cols = int(screen_size.columns / 100 * 50)
available_colums = int(screen_size.columns / 100 * 50)
percent = int(float(sent) / float(size) * 100)
_n = percent % len(loading_chars)
_color: int
_color_picker = int((percent / 10) * (len(green_scale) / 10))
space_filling = " " * int((available_colums / 100) * (100 - percent))
load_bar = "=" * int((available_colums / 100) * percent) + '=>'
space_filling = " " * int(100 - percent / (100 * cols)) + " "
load_bar = f'{"=" * int(percent / 100 * cols)}=>'
if int(percent) >= 100:
_color = green_scale[len(green_scale) - 1]
else:
_color = green_scale[_color_picker]
_color = f'#{color_to_hex(return_diff_color(base_color,end_color,percent))}'
print(
f'\t[{loading_chars[_n]}] {fg(_color)}{load_bar}{attr("reset")} [{percent}%] {space_filling} [{(_filename[:75] + "..") if len(_filename) > 75 else _filename}]',
end='\r')
@ -310,7 +334,7 @@ def main():
if args.version:
print(f'Connection tester: v{version}')
else:
args_dic = {"files_to_send": args.file, "host_list": args.hosts_lists,
args_dic = {"files_to_send": args.file, "host_lists": args.hosts_lists,
"credentials_files": args.credentials_file}
conf = CONFIG(**args_dic)
manager = MANAGER(config=conf)

46
t5.py Normal file
View File

@ -0,0 +1,46 @@
from dataclasses import dataclass
@dataclass
class RGB:
r: int = 0
g: int = 0
b: int = 0
def return_diff_color(c1: RGB, c2: RGB, percent: int) -> RGB:
def return_diff(n1, n2, percent=100) -> int:
if n1 > n2:
return n1 - int((n1 - n2) * (percent / 100))
elif n2 > n1:
return n2 - int((n2 - n1) * (percent / 100))
return n1
new_rgb = RGB(r=return_diff(c1.r, c2.r,percent), g=return_diff(c1.g, c2.g,percent), b=return_diff(c1.b, c2.b,percent))
return new_rgb
def color_to_hex(color: RGB) -> str:
def return_hex_number(n: int):
hnum=hex(int(n))
return f'{str(hnum).replace("0x", "").zfill(2)}'
r: str = return_hex_number(color.r)
g: str = return_hex_number(color.g)
b: str = return_hex_number(color.b)
return f"{r}{g}{b}"
base_color = RGB(r=68, g=121, b=84)
end_color = RGB(r=0, g=255, b=68)
print(base_color)
print(end_color)
print(return_diff_color(base_color,end_color,50))
for x in range(1, 101,20):
# _color=return_diff_color(c1=base_color,c2=end_color,percent=x)
_color = f'#{color_to_hex(return_diff_color(base_color, end_color, x))}'
print(_color)
# print(return_diff(0,100,50))

6
test_barr.py Normal file
View File

@ -0,0 +1,6 @@
from main import sending_file_progress
from time import sleep
for x in range(1, 100):
sending_file_progress(filename=b"file", size=100, sent=x)
sleep(0.05)