Files
cool-domain/cool_domain/__main__.py
T
2026-06-16 00:24:40 +02:00

39 lines
1.3 KiB
Python

import logging
import sys
from cool_domain import PKG_NAME, PKG_VERSION
from cool_domain.cache import Cache
from cool_domain.constants import LANGS
from cool_domain.factory import Factory
from cool_domain.logs import setup_logs
from cool_domain.params import parse_parameters
from cool_domain.tld_list import TLDList
from cool_domain.word_list import WordList
def main() -> int:
params = parse_parameters(sys.argv[1:])
setup_logs(params)
logging.getLogger().info("%s %s", PKG_NAME, PKG_VERSION)
langs = LANGS
langs["custom"] = WordList("custom", params.custom_words)
with (
Cache(filepath=params.cache_file, no_load=params.cache) as cache,
TLDList(cache=cache, remote_uri=params.tld_list_uri) as tld_list,
langs[params.lang] as word_list,
):
factory = Factory(tld_list=tld_list, word_list=word_list, words=params.words)
logging.getLogger().info(
"Searching %s domain%s", params.count, "s" if params.count > 1 else ""
)
for _ in range(params.count):
if params.dig:
logging.getLogger().info(factory.random_available_domain())
else:
logging.getLogger().info(factory.random_domain())
return 0
if __name__ == "__main__":
main()