From 021da84433562bb4a1000183c1b563d1db74cc4a Mon Sep 17 00:00:00 2001 From: simon987 Date: Thu, 25 Mar 2021 18:25:46 -0400 Subject: [PATCH] add redis_publish --- hexlib/env.py | 21 +++++++++++++++++++-- setup.py | 2 +- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/hexlib/env.py b/hexlib/env.py index b2c23ab..caf73ed 100644 --- a/hexlib/env.py +++ b/hexlib/env.py @@ -1,11 +1,14 @@ -import redis import os -from fake_useragent import UserAgent +import redis +from fake_useragent import UserAgent from hexlib.log import stdout_logger from hexlib.web import Web +ARC_LISTS = os.environ.get("ARC_LISTS", "arc").split(",") +PUBLISH_CHANNEL = os.environ.get("PUBLISH_CHANNEL", None) + def get_redis(): return redis.Redis( @@ -14,6 +17,20 @@ def get_redis(): ) +def redis_publish(rdb, item, item_source, item_type, item_category="x"): + + item_source = item_source.replace(".", "-") + item_type = item_type.replace(".", "-") + item_category = item_category.replace(".", "-") + + if PUBLISH_CHANNEL is not None: + routing_key = f"{PUBLISH_CHANNEL}.{item_source}.{item_type}.{item_category}" + rdb.publish(routing_key, item) + for arc_list in ARC_LISTS: + routing_key = f"{arc_list}.{item_source}.{item_type}.{item_category}" + rdb.publish(routing_key, item) + + def get_web(): ua = UserAgent() diff --git a/setup.py b/setup.py index 28683ff..8668ae0 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="hexlib", - version="1.31", + version="1.32", description="Misc utility methods", author="simon987", author_email="me@simon987.net",