Exemplo n.º 1
0
async def run():
    status = True
    while status:
        cfg_domains = Config.domains()
        cldf_entries = await get_cloudflare_entries(Config.zoneid())

        cldf_ipv4_entries = await filter_new_list("A", cldf_entries)
        cldf_ipv6_entries = await filter_new_list("AAAA", cldf_entries)

        ipv4_entries = await filter_new_list("A", cfg_domains)
        ipv6_entries = await filter_new_list("AAAA", cfg_domains)

        new_ipv4_entries = await compare_new_entries(ipv4_entries,
                                                     cldf_ipv4_entries)
        ipv4 = await ipv4_address()
        for cfg_entry in new_ipv4_entries:
            await process_new_entries(ipv4, cfg_entry)
            new_ipv4_entries.remove(cfg_entry)

        ipv4_update_entries = await compare_update_entries(
            ipv4_entries, cldf_ipv4_entries)
        for cfg_entry in ipv4_update_entries:
            await process_update_entries(ipv4, cfg_entry, cldf_ipv4_entries)
        if not IPV6_fail:
            ipv6 = await ipv6_address()
            new_ipv6_entries = await compare_new_entries(
                ipv6_entries, cldf_ipv6_entries)
            for cfg_entry in new_ipv6_entries:
                await process_new_entries(ipv6, cfg_entry)
                new_ipv6_entries.remove(cfg_entry)

            ipv6_update_entries = await compare_update_entries(
                ipv6_entries, cldf_ipv6_entries)
            for cfg_entry in ipv6_update_entries:
                await process_update_entries(ipv6, cfg_entry,
                                             cldf_ipv6_entries)
        await asyncio.sleep(Config.timer())