This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
+26
@@ -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");
|
||||
}
|
||||
}
|
||||
+26
@@ -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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user