Author SHA1 Message Date
klemek 0a8775dfc9 chore: 1.3.0
Python Lint CI / ty (push) Successful in 4m5s
Python Lint CI / ruff-format-check (push) Successful in 4m6s
Python Lint CI / ruff (push) Successful in 55s
2026-06-16 00:24:47 +02:00
klemek 015eebd6ed feat: blacklist 2026-06-16 00:24:40 +02:00
8 changed files with 1317 additions and 27 deletions
+11 -8
View File
@@ -1,16 +1,15 @@
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
from . import PKG_NAME, PKG_VERSION
from .cache import Cache
from .constants import LANGS
from .factory import Factory
from .logs import setup_logs
from .params import parse_parameters
from .tld_list import TLDList
def main() -> int:
params = parse_parameters(sys.argv[1:])
@@ -33,3 +32,7 @@ def main() -> int:
else:
logging.getLogger().info(factory.random_domain())
return 0
if __name__ == "__main__":
main()
+1290 -1
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -4,8 +4,8 @@ import shutil
import subprocess
import typing
from .tld_list import TLDList
from .word_list import WordList
from cool_domain.tld_list import TLDList
from cool_domain.word_list import WordList
class FactoryError(Exception):
+1 -1
View File
@@ -2,7 +2,7 @@ import enum
import logging
import typing
from .params import Parameters
from cool_domain.params import Parameters
class TermColor(enum.StrEnum):
+3 -3
View File
@@ -5,8 +5,8 @@ import pathlib
import tempfile
import typing
from . import PKG_NAME
from .constants import LANGS
from cool_domain import PKG_NAME
from cool_domain.constants import LANGS
@dataclasses.dataclass(frozen=True, slots=True)
@@ -19,7 +19,7 @@ class Parameters:
dig: bool = True
lang: str = "english"
cache_file: str = str(pathlib.Path(tempfile.gettempdir()) / ".cool-domain-cache")
tld_list_uri: str = "https://publicsuffix.org/list/public_suffix_list.dat"
tld_list_uri: str = "https://data.iana.org/TLD/tlds-alpha-by-domain.txt"
custom_words: str = "words.txt"
@classmethod
+7 -9
View File
@@ -5,7 +5,8 @@ import typing
import requests
import unidecode
from .cache import Cache
from cool_domain.cache import Cache
from cool_domain.constants import BLACKLIST
class TLDError(Exception):
@@ -29,20 +30,17 @@ class TLDList:
raw_lines = response.content.decode().split("\n")
out_lines = []
for line in raw_lines:
stripped_line = line.strip()
stripped_line = line.strip().lower()
if (
len(stripped_line)
and not stripped_line.startswith("//")
and not stripped_line.startswith("*")
and not stripped_line.startswith("#")
and not stripped_line.startswith("xn--")
and "." not in stripped_line
and unidecode.unidecode(stripped_line) == stripped_line
and stripped_line not in BLACKLIST
):
if "." in stripped_line:
for other in out_lines:
if stripped_line.endswith(other):
break
else:
out_lines += [stripped_line]
else:
out_lines += [stripped_line]
return out_lines
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "cool-domain"
version = "1.2.0"
version = "1.3.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
Generated
+1 -1
View File
@@ -86,7 +86,7 @@ wheels = [
[[package]]
name = "cool-domain"
version = "1.2.0"
version = "1.3.0"
source = { editable = "." }
dependencies = [
{ name = "requests" },