예제 #1
0
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
예제 #2
0
def test__check__item_in_deduplicator__returns_true_for_duplicate():
    deduper = dedup.Deduplicator()
    deduper.add("foo")
    assert deduper.check("foo") == True
예제 #3
0
def test__check__empty_deduplicator__returns_false_for_not_duplicate():
    deduper = dedup.Deduplicator()
    assert deduper.check("foo") == False
예제 #4
0
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
예제 #5
0
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)