Created
October 2, 2020 19:20
-
-
Save pcroland/e5c4c4bcfb4c195307e8d64738a896e7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
from sys import argv as Args | |
import datetime | |
def main(): | |
filename = Args[3] | |
for i, arg in enumerate(Args): | |
if '/' in arg: | |
try: | |
Args[i] = div_arg(arg.split('/')[0], arg.split('/')[1]) | |
except: | |
pass | |
n = divide(Args[1], Args[2]) | |
data = get_data_from_file(filename) | |
final = moka(data, n) | |
[print(f) for f in final] | |
def divide(fromx, tox): | |
return float(fromx) / float(tox) | |
def div_arg(arg1, arg2): | |
return int(arg1) / int(arg2) | |
def get_data_from_file(filename): | |
try: | |
with open(filename, 'r') as file: | |
return [x.strip('\n') for x in file.readlines()] | |
except: | |
print('No such file') | |
def moka(data, n): | |
for i, dataline in enumerate(data): | |
data[i] = multiply_time(dataline, n) | |
return data | |
def multiply_time(dataline, n): | |
if 'NAME' in dataline: return dataline | |
splitted = dataline.split('=') | |
splitted[1] = str(convert_time(splitted[1], n)) | |
return '='.join(splitted) | |
def get_millisecs(t): | |
hms = t.split(':') | |
millisecs = 0 | |
for i, x in enumerate(hms): | |
if i == 0: | |
millisecs += int(x) * 3600000 | |
elif i == 1: | |
millisecs += int(x) * 60000 | |
elif i == 2: | |
millisecs += int(x.split('.')[0]) * 1000 | |
millisecs += int(x.split('.')[1]) | |
return millisecs | |
def convert_back(final_ms): | |
hours = int(final_ms/3600000) | |
minutes = int((final_ms - (hours * 3600000))/60000) | |
seconds = (final_ms - (hours * 3600000) - (minutes * 60000))/1000 | |
return hours, minutes, seconds | |
def convert_time_back(hours, minutes, seconds): | |
time = '' | |
if len(str(hours)) != 2: | |
time += f'0{hours}:' | |
else: | |
time += f'{hours}:' | |
if len(str(minutes)) != 2: | |
time += f'0{minutes}:' | |
else: | |
time += f'{minutes}:' | |
secs = str(seconds).split('.')[0] | |
if len(str(seconds).split('.')[0]) != 2: | |
time += f'0{secs}.' | |
else: | |
time += f'{secs}.' | |
time += str(seconds).split('.')[1].ljust(3, '0') | |
return time | |
def convert_time(t, n): | |
millisecs = get_millisecs(t) | |
final_ms = millisecs * n | |
hours, minutes, seconds = convert_back(int(final_ms)) | |
readable_time = convert_time_back(hours, minutes, seconds) | |
return readable_time | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment