37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import logging
|
|
import sys
|
|
|
|
from cool_domain import PKG_NAME, PKG_VERSION
|
|
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 (
|
|
TLDList() 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()
|