Cleanly exit on SIGINT
This commit is contained in:
parent
1e958b397a
commit
1c6a45a1d2
30
main.py
30
main.py
@ -1,4 +1,5 @@
|
|||||||
"""GitMon"""
|
"""GitMon"""
|
||||||
|
import signal
|
||||||
import time
|
import time
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
from gitmon.api import GitHubApi
|
from gitmon.api import GitHubApi
|
||||||
@ -21,21 +22,32 @@ def log_event(event):
|
|||||||
logger.log('CREATE', f'{event_type}:\thttps://github.com/{repo["name"]}, {actor["login"]}')
|
logger.log('CREATE', f'{event_type}:\thttps://github.com/{repo["name"]}, {actor["login"]}')
|
||||||
|
|
||||||
|
|
||||||
|
def sigint_handler(signum, frame):
|
||||||
|
"""Signal handler for Ctrl+C."""
|
||||||
|
raise KeyboardInterrupt
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
"""Main entry point."""
|
"""Main entry point."""
|
||||||
|
# Setup logger and signal handling
|
||||||
setup_logger()
|
setup_logger()
|
||||||
|
signal.signal(signal.SIGINT, sigint_handler)
|
||||||
|
|
||||||
api = GitHubApi(token)
|
api = GitHubApi(token)
|
||||||
|
|
||||||
while True:
|
try:
|
||||||
events = api.get_events()
|
while True:
|
||||||
for event in events:
|
events = api.get_events()
|
||||||
if (
|
for event in events:
|
||||||
isinstance(event, dict)
|
if (
|
||||||
and event.get('type') in ['CreateEvent', 'DeleteEvent']
|
isinstance(event, dict)
|
||||||
):
|
and event.get('type') in ['CreateEvent', 'DeleteEvent']
|
||||||
log_event(event)
|
):
|
||||||
|
log_event(event)
|
||||||
|
|
||||||
time.sleep(5)
|
time.sleep(1)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
logger.info('Program terminating')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
Reference in New Issue
Block a user