mirror of
https://git.juggalol.com/agatha/gitmon.git
synced 2024-11-22 15:36:43 +00:00
Compare commits
No commits in common. "75ae245d40e69641ddcaaffc110dc3ade00b991b" and "bf34654a4668d788acc94e6462e6f0ef53af99ea" have entirely different histories.
75ae245d40
...
bf34654a46
Binary file not shown.
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 88 KiB |
@ -72,12 +72,9 @@ class GitHubApi:
|
|||||||
headers (dict): The response headers from the GitHub API.
|
headers (dict): The response headers from the GitHub API.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
try:
|
|
||||||
self.rate_reset = datetime.fromtimestamp(int(headers['x-ratelimit-reset']))
|
self.rate_reset = datetime.fromtimestamp(int(headers['x-ratelimit-reset']))
|
||||||
self.rate_remaining = int(headers['x-ratelimit-remaining'])
|
self.rate_remaining = int(headers['x-ratelimit-remaining'])
|
||||||
logger.info(f'{self.rate_remaining} calls remaining until {self.rate_reset} ({self.rate_reset - datetime.now()})')
|
logger.info(f'{self.rate_remaining} calls remaining until {self.rate_reset} ({self.rate_reset - datetime.now()})')
|
||||||
except KeyError as e:
|
|
||||||
logger.warning(f'Could not parse headers: {str(e)}')
|
|
||||||
|
|
||||||
def get_events(self, page=None):
|
def get_events(self, page=None):
|
||||||
"""Fetch GitHub events.
|
"""Fetch GitHub events.
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
import sys
|
import sys
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
logger.level('CREATE', no=34, color='<green>')
|
|
||||||
logger.level('DELETE', no=35, color='<red>')
|
|
||||||
|
|
||||||
|
|
||||||
def setup_logger():
|
def setup_logger():
|
||||||
logger.remove()
|
logger.remove()
|
||||||
|
21
main.py
21
main.py
@ -1,5 +1,4 @@
|
|||||||
"""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
|
||||||
@ -17,37 +16,23 @@ def log_event(event):
|
|||||||
actor = event.get('actor')
|
actor = event.get('actor')
|
||||||
|
|
||||||
if event_type == 'DeleteEvent':
|
if event_type == 'DeleteEvent':
|
||||||
logger.log('DELETE', f'{event_type}:\thttps://github.com/{repo["name"]}, {actor["login"]}')
|
logger.error(f'{event_type}:\thttps://github.com/{repo["name"]}, {actor["login"]}')
|
||||||
else:
|
else:
|
||||||
logger.log('CREATE', f'{event_type}:\thttps://github.com/{repo["name"]}, {actor["login"]}')
|
logger.info(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)
|
||||||
|
|
||||||
try:
|
|
||||||
while True:
|
while True:
|
||||||
events = api.get_events()
|
events = api.get_events()
|
||||||
for event in events:
|
for event in events:
|
||||||
if (
|
if event['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(5)
|
||||||
except KeyboardInterrupt:
|
|
||||||
logger.info('Program terminating')
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
Reference in New Issue
Block a user