This commit is contained in:
bskjon 2024-07-14 00:08:44 +02:00
parent 0c210cf48f
commit 94e7aa02b0
3 changed files with 11 additions and 53 deletions

View File

@ -12,9 +12,9 @@ from fuzzywuzzy import fuzz
from algo.AdvancedMatcher import AdvancedMatcher from algo.AdvancedMatcher import AdvancedMatcher
from algo.SimpleMatcher import SimpleMatcher from algo.SimpleMatcher import SimpleMatcher
from algo.PrefixMatcher import PrefixMatcher from algo.PrefixMatcher import PrefixMatcher
from clazz.KafkaMessageSchema import KafkaMessage, MessageDataWrapper
from clazz.Metadata import Metadata from clazz.Metadata import Metadata
from clazz.shared import EventData, EventMetadata, MediaEvent
from sources.anii import Anii from sources.anii import Anii
from sources.imdb import Imdb from sources.imdb import Imdb
from sources.mal import Mal from sources.mal import Mal
@ -46,15 +46,17 @@ class DryRun():
message = f"No result for {combined_titles}" message = f"No result for {combined_titles}"
logger.info(message) logger.info(message)
messageData = MessageDataWrapper( message = MediaEvent(
status = "ERROR" if result is None else "COMPLETED", metadata = EventMetadata(
message = message, referenceId="00000000-0000-0000-0000-000000000000",
data = result, eventId="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
derivedFromEventId = None derivedFromEventId=None,
status= "Failed" if result is None else "Success",
),
data=result
) )
producerMessage = KafkaMessage(referenceId="DryRun..", data=messageData).to_json() logger.info(message)
logger.info(producerMessage)
def __getMetadata(self, titles: List[str]) -> Metadata | None: def __getMetadata(self, titles: List[str]) -> Metadata | None:
mal = Mal(titles=titles) mal = Mal(titles=titles)

View File

@ -15,9 +15,7 @@ from algo.AdvancedMatcher import AdvancedMatcher
from algo.SimpleMatcher import SimpleMatcher from algo.SimpleMatcher import SimpleMatcher
from algo.PrefixMatcher import PrefixMatcher from algo.PrefixMatcher import PrefixMatcher
from clazz.shared import EventMetadata, MediaEvent, event_data_to_json, json_to_media_event from clazz.shared import EventMetadata, MediaEvent, event_data_to_json, json_to_media_event
from clazz.KafkaMessageSchema import KafkaMessage, MessageDataWrapper
from clazz.Metadata import Metadata from clazz.Metadata import Metadata
from kafka import KafkaConsumer, KafkaProducer
from sources.anii import Anii from sources.anii import Anii
from sources.imdb import Imdb from sources.imdb import Imdb
@ -26,11 +24,7 @@ from sources.mal import Mal
# Konfigurer Kafka-forbindelsen # Konfigurer Database
bootstrap_servers = os.environ.get("KAFKA_BOOTSTRAP_SERVER") or "127.0.0.1:9092"
consumer_group = os.environ.get("KAFKA_CONSUMER_ID") or f"MetadataConsumer"
kafka_topic = os.environ.get("KAFKA_TOPIC") or "mediaEvents"
events_server_address = os.environ.get("DATABASE_ADDRESS") or "127.0.0.1" events_server_address = os.environ.get("DATABASE_ADDRESS") or "127.0.0.1"
events_server_port = os.environ.get("DATABASE_PORT") or "3306" events_server_port = os.environ.get("DATABASE_PORT") or "3306"
events_server_database_name = os.environ.get("DATABASE_NAME_E") or "events" events_server_database_name = os.environ.get("DATABASE_NAME_E") or "events"

View File

@ -1,38 +0,0 @@
from dataclasses import asdict, dataclass
import uuid, json
from .Metadata import Metadata
@dataclass
class MessageDataWrapper:
status: str # COMPLETED / ERROR
message: str | None
data: Metadata | None
derivedFromEventId: str | None
def to_dict(self):
return asdict(self)
class KafkaMessage:
referenceId: str
eventId: str = str(uuid.uuid4())
data: MessageDataWrapper
def __init__(self, referenceId: str, data: MessageDataWrapper) -> None:
self.referenceId = referenceId
self.data = data
pass
def to_json(self):
payload = {
'referenceId': self.referenceId,
'eventId': self.eventId,
'data': self.data.to_dict() if self.data else None
}
return json.dumps(payload)