diff --git a/kontor-scripts/add_link.py b/kontor-scripts/add_link.py index e68c1d8..d5c2747 100644 --- a/kontor-scripts/add_link.py +++ b/kontor-scripts/add_link.py @@ -4,12 +4,13 @@ read file with URLs and store in DB import json import logging.config +from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser from pathlib import Path -from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter + import requests import yaml from platformdirs import PlatformDirs -from proton import Message, Event +from proton import Event, Message from proton.handlers import MessagingHandler from proton.reactor import Container @@ -53,7 +54,7 @@ class AddLinkMessage(MessagingHandler): super(AddLinkMessage, self).__init__() log.info("create AddLinkMessage") self.server = server - self.address = "add_link_media" + self.address = "media.link.add" self.message = message self.log = log diff --git a/kontor-scripts/add_link_stomp.py b/kontor-scripts/add_link_stomp.py index f49ad5b..025093f 100644 --- a/kontor-scripts/add_link_stomp.py +++ b/kontor-scripts/add_link_stomp.py @@ -2,51 +2,37 @@ read file with URLs and store in DB """ -import json -import logging.config -from pathlib import Path -from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter -import yaml +from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser + +import msgspec import stomp -from platformdirs import PlatformDirs + +from log import get_logger parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter) parser.add_argument("-u", "--url", help="link") parser.add_argument("--config", "-c", default="kontor-docker") parser.add_argument("--verbose", "-v", action="count", default=0) parser.add_argument("--server", "-s", default="127.0.0.1") +parser.add_argument("--port", "-p", default="61616") +parser.add_argument("--destination", "-d", default="media.link.add") args = parser.parse_args() -def get_logger(level: int, config: str): - """ - create Logger with configuration from config file - """ - dirs = PlatformDirs(config) - logging_config = Path(dirs.user_config_dir, "logging-config.yaml") - with open(logging_config, "rt", encoding="UTF-8") as f: - config_dict = yaml.safe_load(f.read()) - logging.config.dictConfig(config_dict) - log = logging.getLogger("development") - if level is not None: - match level: - case 0: - log.setLevel(logging.INFO) - case 1: - log.setLevel(logging.DEBUG) - case _: - log.setLevel(logging.CRITICAL) - return log +class Link(msgspec.Struct): + url: str if __name__ == "__main__": logger = get_logger(args.verbose, args.config) logger.info("kontor.add_link_stomp started") - link: str = args.url - data = {"url": link} - server_url = [(args.server,61613)] + + server_url = [(args.server, args.port)] conn = stomp.Connection(host_and_ports=server_url) - conn.connect('artemis', 'artemis', wait=True, headers={'client-id': 'wsl'}) - conn.send(body=json.dumps(data), destination="update_title") - #Container(AddLinkMessage(server=server_url, message=data, log=logger)).run() + conn.connect(username="artemis", passcode="artemis", wait=True) + + link: Link = Link(url=args.url) + json_bytes = msgspec.json.encode(link) + conn.send(body=json_bytes, destination=args.destination) + logger.info("kontor.add_link finished") diff --git a/kontor-scripts/log.py b/kontor-scripts/log.py index 74510c1..81bdd65 100644 --- a/kontor-scripts/log.py +++ b/kontor-scripts/log.py @@ -39,6 +39,7 @@ def get_logger(level: int, name: str) -> logging.Logger: case 1: logging.getLogger("requests").setLevel(logging.INFO) logging.getLogger("urllib3").setLevel(logging.INFO) + logging.getLogger("stomp").setLevel(logging.INFO) logger.setLevel(logging.INFO) case 2: logger.setLevel(logging.DEBUG) diff --git a/kontor-spring/src/main/java/de/thpeetz/kontor/integration/routes/QueueMediaLoFiAdd.java b/kontor-spring/src/main/java/de/thpeetz/kontor/integration/routes/QueueMediaLoFiAdd.java new file mode 100644 index 0000000..3ea86ac --- /dev/null +++ b/kontor-spring/src/main/java/de/thpeetz/kontor/integration/routes/QueueMediaLoFiAdd.java @@ -0,0 +1,26 @@ +package de.thpeetz.kontor.integration.routes; + +import org.apache.camel.builder.RouteBuilder; +import de.thpeetz.kontor.media.services.MediaFileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class QueueMediaLoFiAdd extends RouteBuilder { + + @Autowired + private final MediaFileService mediaFileService; + + @Autowired + public QueueMediaLoFiAdd(MediaFileService mediaFileService) { + this.mediaFileService = mediaFileService; + } + + @Override + public void configure() throws Exception { + from("jms:queue:media.lofi.add") + .routeId("read-queue-media-lofi-add") + .log("${body}") + .to("jms:queue:media.lofi.add.processed"); + } +} diff --git a/kontor-spring/src/main/java/de/thpeetz/kontor/integration/routes/QueueMediaVideoAdd.java b/kontor-spring/src/main/java/de/thpeetz/kontor/integration/routes/QueueMediaVideoAdd.java new file mode 100644 index 0000000..8e104d7 --- /dev/null +++ b/kontor-spring/src/main/java/de/thpeetz/kontor/integration/routes/QueueMediaVideoAdd.java @@ -0,0 +1,26 @@ +package de.thpeetz.kontor.integration.routes; + +import org.apache.camel.builder.RouteBuilder; +import de.thpeetz.kontor.media.services.MediaFileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class QueueMediaVideoAdd extends RouteBuilder { + + @Autowired + private final MediaFileService mediaFileService; + + @Autowired + public QueueMediaVideoAdd(MediaFileService mediaFileService) { + this.mediaFileService = mediaFileService; + } + + @Override + public void configure() throws Exception { + from("jms:queue:media.video.add") + .routeId("read-queue-media-video-add") + .log("${body}") + .to("jms:queue:media.video.add.processed"); + } +}