radical-api/core/wrapper.py
riley f5e0ac8cac API Security, Logging, & Restructure
- Added a .gitignore
- Implemented security.py (apikeys.py from server-api)
- Implemented wrapper.py (wrapper from radicalbot
- Added proper logging using log.conf
- Split tracker API endpoints into a router
- Renamed Target classes to Tracker
2021-08-23 02:14:40 -04:00

29 lines
852 B
Python

"""Wrapper Class to handle reboots"""
import subprocess
import sys
class Wrapper:
def __init__(self, args, stdout):
"""
Wraps another program and helps with restarting should the program request.
:param args: Arguments used to run program
:param stdout: The stdout stream to send output to
"""
self._args = args
self.process = None
self._stdout = stdout
def start(self):
"""
Start the wrapper.
:return: None
"""
self.process = subprocess.Popen(self._args, stdout=self._stdout)
while True:
while self.process.poll() is None:
pass
if self.process.returncode == 26:
self.process = subprocess.Popen(self._args, stdout=self._stdout)
else:
sys.exit()