def test__add__on_purge__removes_first_item(): deduper = dedup.Deduplicator(max_size=2) deduper.add("foo") deduper.add("bar") deduper.add("xyzzy") assert deduper.check("xyzzy") == True assert deduper.check("bar") == True assert deduper.check("foo") == False assert len(deduper) == 2
def test__check__item_in_deduplicator__returns_true_for_duplicate(): deduper = dedup.Deduplicator() deduper.add("foo") assert deduper.check("foo") == True
def test__check__empty_deduplicator__returns_false_for_not_duplicate(): deduper = dedup.Deduplicator() assert deduper.check("foo") == False
def test__add__when_full__item_purged_from_deduplicator(): deduper = dedup.Deduplicator(max_size=1) deduper.add("foo") deduper.add("bar") assert deduper.check("foo") == False assert len(deduper) == 1
parser.add_argument('--quiet', dest='quiet', action='store_const', const=True, default=False, help="Quiet mode, don't print messages to stdout") mqtt_source_topic = os.environ.get("MQTT_SOURCE_TOPIC", "/home/ble") mqtt_target_topic = os.environ.get("MQTT_TARGET_TOPIC", "/home/ble-deduped") args = parser.parse_args() client = MQTTClient() last_activity_timestamp = time.time() dedup_buffers = collections.defaultdict( lambda: collections.defaultdict(lambda: dedup.Deduplicator())) def debug(*args): if os.environ.get("BLE_DEBUG", None) != None: print(*args, file=sys.stdout) async def main(): mqtt_url = os.environ.get("MQTT_URL", "mqtt://localhost/") print("Connecting to", mqtt_url) try: await client.connect(mqtt_url) print("Connected") except Exception as e: print("Connection failed: %s" % e)