25 lines
663 B
Python
25 lines
663 B
Python
import logging
|
|
from typing import Annotated
|
|
|
|
from injectable import injectable, Autowired, autowired, inject, injectable_factory
|
|
|
|
from app.events import SimpleEventBus
|
|
from app.model.webhook import WebhookEvent
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@injectable(singleton=True)
|
|
class Woodpecker:
|
|
@autowired
|
|
def __init__(self, event_bus: Annotated[SimpleEventBus, Autowired]):
|
|
logger.info("Woodpecker initialized.")
|
|
event_bus.subscribe(WebhookEvent, self.on_ci_event)
|
|
|
|
def on_ci_event(self, event):
|
|
logger.info(f"Received event: {event}")
|
|
pass
|
|
|
|
|
|
instance = Woodpecker(inject(SimpleEventBus))
|
|
injectable_factory(Woodpecker)(lambda: instance)
|