41 lines
1.2 KiB
Python
Executable File
41 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import datetime
|
|
import subprocess
|
|
import time
|
|
|
|
def waiter(seconds = 1):
|
|
prefix = ''
|
|
idx = 0
|
|
anims = ('|', '/', '-', '\\', 'O', '*', '\'', '^', '-', 'v', '_', '-')
|
|
max = len(anims) - 1
|
|
global is_done
|
|
print('Beginning dhparam gen...')
|
|
# This is just an example commant that takes a looong time.
|
|
c = subprocess.Popen(['openssl', 'dhparam', '-out', '/tmp/dhpem', '4096'],
|
|
#c = subprocess.Popen(['openssl', 'genrsa', '-out', '/tmp/dhpem', '4096'],
|
|
stdout = subprocess.PIPE,
|
|
stderr = subprocess.PIPE)
|
|
print('dhparam gen started.')
|
|
while c.poll() is None:
|
|
#print('.', end = '', flush = True)
|
|
try:
|
|
char = anims[idx]
|
|
except IndexError:
|
|
exit()
|
|
print('{0} => {1}'.format(prefix, char), end = '', flush = True)
|
|
idx = (idx + 1 if idx < max else 0)
|
|
prefix += '.'
|
|
if seconds:
|
|
time.sleep(seconds)
|
|
#print('\b', end = '')
|
|
print('\033[F')
|
|
with open('/tmp/dhpem.out', 'w') as f:
|
|
f.write(c.stdout.read().decode('utf-8'))
|
|
f.write(c.stderr.read().decode('utf-8'))
|
|
print('\nDone.')
|
|
is_done = True
|
|
|
|
if __name__ == '__main__':
|
|
waiter(1)
|