Guest User

Untitled

a guest
Oct 20th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. import win32serviceutil
  2.  
  3. class StopStartService:
  4. STARTED, STOPPED = 4, 1
  5.  
  6. def __init__(self, service_name, timeout=5):
  7. self.service_name = service_name
  8. self.timeout = timeout
  9.  
  10. def __enter__(self):
  11. self._enter_if_not(win32serviceutil.StopService, StopStartService.STOPPED)
  12.  
  13. def __exit__(self, exc_type, exc_val, exc_tb):
  14. self._enter_if_not(win32serviceutil.StartService, StopStartService.STARTED)
  15.  
  16. def _enter_if_not(self, f, status):
  17. if win32serviceutil.QueryServiceStatus(self.service_name)[1] != status:
  18. f(self.service_name)
  19. win32serviceutil.WaitForServiceStatus(storis_service_name, status, self.timeout)
Add Comment
Please, Sign In to add comment