python -m pylint --max-line-length=160 whoisdomain/ | \
awk '/missing/ && /docstring/ { next } \
/C0103/ { next } \
/too-many-lines/ { next } \
{ print}'
************* Module whoisdomain
whoisdomain/__init__.py:64:7: W0718: Catching too general exception Exception (broad-exception-caught)
whoisdomain/__init__.py:61:4: E0401: Unable to import 'redis' (import-error)
whoisdomain/__init__.py:85:7: W0718: Catching too general exception Exception (broad-exception-caught)
whoisdomain/__init__.py:177:0: R0913: Too many arguments (21/5) (too-many-arguments)
whoisdomain/__init__.py:177:0: R0914: Too many local variables (21/15) (too-many-locals)
************* Module whoisdomain.version
************* Module whoisdomain.lastWhois
whoisdomain/lastWhois.py:17:4: W0602: Using global for 'LastWhois' but no assignment is done (global-variable-not-assigned)
whoisdomain/lastWhois.py:28:4: W0603: Using the global statement (global-statement)
whoisdomain/lastWhois.py:34:4: W0602: Using global for 'LastWhois' but no assignment is done (global-variable-not-assigned)
************* Module whoisdomain.doWhoisCommand
whoisdomain/doWhoisCommand.py:58:1: W0511: TODO: future: can we use decorator for caching? (fixme)
whoisdomain/doWhoisCommand.py:25:4: W0603: Using the global statement (global-statement)
whoisdomain/doWhoisCommand.py:35:4: W0603: Using the global statement (global-statement)
whoisdomain/doWhoisCommand.py:33:4: W0613: Unused argument 'dc' (unused-argument)
************* Module whoisdomain.helpers
whoisdomain/helpers.py:23:4: W0602: Using global for 'tldInfo' but no assignment is done (global-variable-not-assigned)
whoisdomain/helpers.py:27:0: W0102: Dangerous default value {} as argument (dangerous-default-value)
whoisdomain/helpers.py:30:4: W0602: Using global for 'tldInfo' but no assignment is done (global-variable-not-assigned)
whoisdomain/helpers.py:35:4: W0602: Using global for 'tldInfo' but no assignment is done (global-variable-not-assigned)
whoisdomain/helpers.py:40:4: W0602: Using global for 'tldInfo' but no assignment is done (global-variable-not-assigned)
************* Module whoisdomain.tldInfo
whoisdomain/tldInfo.py:75:8: W0613: Unused argument 'override' (unused-argument)
whoisdomain/tldInfo.py:96:8: W0613: Unused argument 'domain' (unused-argument)
whoisdomain/tldInfo.py:98:8: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/tldInfo.py:112:4: W0102: Dangerous default value {} as argument (dangerous-default-value)
************* Module whoisdomain.whoisParser
whoisdomain/whoisParser.py:204:9: W0511: TODO: some short responses are actually valid: (fixme)
whoisdomain/whoisParser.py:348:8: W0201: Attribute 'resultDict' defined outside __init__ (attribute-defined-outside-init)
************* Module whoisdomain.exceptions
************* Module whoisdomain.main
whoisdomain/main.py:137:16: R1724: Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it (no-else-continue)
whoisdomain/main.py:145:16: R1724: Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it (no-else-continue)
whoisdomain/main.py:185:11: C1802: Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty (use-implicit-booleaness-not-len)
whoisdomain/main.py:211:4: W0602: Using global for 'IgnoreReturncode' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:212:4: W0602: Using global for 'Verbose' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:213:4: W0602: Using global for 'PrintGetRawWhoisResult' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:214:4: W0602: Using global for 'SIMPLISTIC' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:215:4: W0602: Using global for 'WithRedacted' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:217:4: W0602: Using global for 'TestAllTld' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:218:4: W0602: Using global for 'TestRunOnly' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:219:4: W0602: Using global for 'WithPublicSuffix' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:209:4: W0613: Unused argument 'printgetRawWhoisResult' (unused-argument)
whoisdomain/main.py:330:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
whoisdomain/main.py:331:12: W0612: Unused variable 'index' (unused-variable)
whoisdomain/main.py:361:4: W0602: Using global for 'TestAllTld' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:362:4: W0602: Using global for 'TestRunOnly' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:358:4: W0613: Unused argument 'allRegex' (unused-argument)
whoisdomain/main.py:377:4: W0602: Using global for 'TestAllTld' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:378:4: W0602: Using global for 'TestRunOnly' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:374:4: W0613: Unused argument 'allRegex' (unused-argument)
whoisdomain/main.py:387:4: W0613: Unused argument 'allHaving' (unused-argument)
whoisdomain/main.py:506:4: W0105: String statement has no effect (pointless-string-statement)
whoisdomain/main.py:525:0: R0914: Too many local variables (25/15) (too-many-locals)
whoisdomain/main.py:526:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:527:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:528:4: W0602: Using global for 'IgnoreReturncode' but no assignment is done (global-variable-not-assigned)
whoisdomain/main.py:529:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:530:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:531:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:532:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:533:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:534:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:535:4: W0603: Using the global statement (global-statement)
whoisdomain/main.py:634:12: R1722: Consider using 'sys.exit' instead (consider-using-sys-exit)
whoisdomain/main.py:683:27: C1802: Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty (use-implicit-booleaness-not-len)
whoisdomain/main.py:697:7: C1802: Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty (use-implicit-booleaness-not-len)
whoisdomain/main.py:701:8: C0206: Consider iterating with .items() (consider-using-dict-items)
whoisdomain/main.py:706:7: C1802: Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty (use-implicit-booleaness-not-len)
whoisdomain/main.py:710:8: C0206: Consider iterating with .items() (consider-using-dict-items)
whoisdomain/main.py:715:7: C1802: Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty (use-implicit-booleaness-not-len)
whoisdomain/main.py:525:0: R0912: Too many branches (42/12) (too-many-branches)
whoisdomain/main.py:525:0: R0915: Too many statements (126/50) (too-many-statements)
whoisdomain/main.py:544:14: W0612: Unused variable 'args' (unused-variable)
whoisdomain/main.py:660:12: W0612: Unused variable 'd1' (unused-variable)
whoisdomain/main.py:660:16: W0612: Unused variable 'rDict' (unused-variable)
************* Module whoisdomain.handleDateStrings
whoisdomain/handleDateStrings.py:78:4: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/handleDateStrings.py:7:0: C0411: standard import "from typing import Optional" should be placed before "from .exceptions import UnknownDateFormat" (wrong-import-order)
************* Module whoisdomain.whoisCliInterface
whoisdomain/whoisCliInterface.py:142:20: W0707: Consider explicitly re-raising using 'except Exception as exc' and 'raise WhoisCommandTimeout(msg) from exc' (raise-missing-from)
whoisdomain/whoisCliInterface.py:25:8: W0201: Attribute 'IS_WINDOWS' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/whoisCliInterface.py:26:8: W0201: Attribute 'STDBUF_OFF_CMD' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/whoisCliInterface.py:28:12: W0201: Attribute 'STDBUF_OFF_CMD' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/whoisCliInterface.py:124:13: W0201: Attribute 'processHandle' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/whoisCliInterface.py:130:16: W0201: Attribute 'rawWhoisResultString' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/whoisCliInterface.py:136:16: W0201: Attribute 'rawWhoisResultString' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/whoisCliInterface.py:160:8: W0201: Attribute 'domain' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/whoisCliInterface.py:15:0: C0411: standard import "from typing import List" should be placed before "from .exceptions import WhoisCommandFailed, WhoisCommandTimeout" (wrong-import-order)
************* Module whoisdomain.domain
whoisdomain/domain.py:16:0: W0105: String statement has no effect (pointless-string-statement)
whoisdomain/domain.py:48:0: R0902: Too many instance attributes (20/7) (too-many-instance-attributes)
whoisdomain/domain.py:97:16: R1718: Consider using a set comprehension (consider-using-set-comprehension)
whoisdomain/domain.py:135:20: R1718: Consider using a set comprehension (consider-using-set-comprehension)
whoisdomain/domain.py:72:8: W0201: Attribute 'name_servers' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:84:8: W0201: Attribute 'name_servers' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:90:8: W0201: Attribute 'status' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:95:8: W0201: Attribute 'statuses' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:103:12: W0201: Attribute 'statuses' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:112:12: W0201: Attribute 'owner' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:115:12: W0201: Attribute 'abuse_contact' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:118:12: W0201: Attribute 'reseller' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:122:16: W0201: Attribute 'registrant' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:124:16: W0201: Attribute 'registrant' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:127:12: W0201: Attribute 'admin' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:133:12: W0201: Attribute 'emails' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:141:16: W0201: Attribute 'emails' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:149:8: W0201: Attribute 'registrar' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:150:8: W0201: Attribute 'registrant_country' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:153:8: W0201: Attribute 'creation_date' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:154:8: W0201: Attribute 'expiration_date' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:155:8: W0201: Attribute 'last_updated' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:157:8: W0201: Attribute 'dnssec' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:178:12: W0201: Attribute 'text' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:181:12: W0201: Attribute '_exception' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:192:12: W0201: Attribute 'name' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:196:12: W0201: Attribute 'tld' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:199:12: W0201: Attribute 'public_suffix' defined outside __init__ (attribute-defined-outside-init)
whoisdomain/domain.py:48:0: R0903: Too few public methods (1/2) (too-few-public-methods)
************* Module whoisdomain.processWhoisDomainRequest
whoisdomain/processWhoisDomainRequest.py:28:7: W0718: Catching too general exception Exception (broad-exception-caught)
whoisdomain/processWhoisDomainRequest.py:33:4: R0913: Too many arguments (6/5) (too-many-arguments)
whoisdomain/processWhoisDomainRequest.py:160:15: W0718: Catching too general exception Exception (broad-exception-caught)
whoisdomain/processWhoisDomainRequest.py:200:15: W0718: Catching too general exception Exception (broad-exception-caught)
whoisdomain/processWhoisDomainRequest.py:224:36: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary)
whoisdomain/processWhoisDomainRequest.py:197:4: R0911: Too many return statements (7/6) (too-many-return-statements)
************* Module whoisdomain.cache.dummyCache
whoisdomain/cache/dummyCache.py:17:4: R1711: Useless return at end of function or method (useless-return)
************* Module whoisdomain.cache.dbmCache
************* Module whoisdomain.cache.redisCache
whoisdomain/cache/redisCache.py:13:7: W0718: Catching too general exception Exception (broad-exception-caught)
whoisdomain/cache/redisCache.py:10:4: E0401: Unable to import 'redis' (import-error)
whoisdomain/cache/redisCache.py:15:4: W0107: Unnecessary pass statement (unnecessary-pass)
************* Module whoisdomain.cache.simpleCacheWithFile
whoisdomain/cache/simpleCacheWithFile.py:44:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
whoisdomain/cache/simpleCacheWithFile.py:47:19: W0718: Catching too general exception Exception (broad-exception-caught)
whoisdomain/cache/simpleCacheWithFile.py:59:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
************* Module whoisdomain.cache.simpleCacheBase
************* Module whoisdomain.strings.quotaStrings
************* Module whoisdomain.strings.noneStrings
************* Module whoisdomain.strings.ignoreStrings
************* Module whoisdomain.tldDb
************* Module whoisdomain.tldDb.finders
whoisdomain/tldDb/finders.py:17:8: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/tldDb/finders.py:33:8: W0613: Unused argument 'sData' (unused-argument)
whoisdomain/tldDb/finders.py:34:8: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/tldDb/finders.py:60:8: W0613: Unused argument 'sData' (unused-argument)
whoisdomain/tldDb/finders.py:52:4: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/tldDb/finders.py:90:0: W0105: String statement has no effect (pointless-string-statement)
whoisdomain/tldDb/finders.py:120:0: R0913: Too many arguments (6/5) (too-many-arguments)
whoisdomain/tldDb/finders.py:136:8: W0613: Unused argument 'sData' (unused-argument)
whoisdomain/tldDb/finders.py:126:4: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/tldDb/finders.py:198:8: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/tldDb/finders.py:191:4: W0613: Unused argument 'verbose' (unused-argument)
************* Module whoisdomain.tldDb.groupers
whoisdomain/tldDb/groupers.py:20:18: W0622: Redefining built-in 'list' (redefined-builtin)
whoisdomain/tldDb/groupers.py:22:8: W0613: Unused argument 'whoisStr' (unused-argument)
whoisdomain/tldDb/groupers.py:23:8: W0613: Unused argument 'verbose' (unused-argument)
whoisdomain/tldDb/groupers.py:31:8: W0612: Unused variable 'what' (unused-variable)
whoisdomain/tldDb/groupers.py:20:18: W0613: Unused argument 'list' (unused-argument)
whoisdomain/tldDb/groupers.py:1:0: W0611: Unused import re (unused-import)
whoisdomain/tldDb/groupers.py:2:0: W0611: Unused import sys (unused-import)
************* Module whoisdomain.tldDb.tld_regexpr
************* Module whoisdomain.context.dataContext
whoisdomain/context/dataContext.py:11:0: R0902: Too many instance attributes (12/7) (too-many-instance-attributes)
whoisdomain/context/dataContext.py:11:0: R0903: Too few public methods (0/2) (too-few-public-methods)
************* Module whoisdomain.context.parameterContext
whoisdomain/context/parameterContext.py:183:12: W0719: Raising too general exception: Exception (broad-exception-raised)
whoisdomain/context/parameterContext.py:1:0: R0801: Similar lines in 2 files
==whoisdomain.helpers:[81:92]
==whoisdomain.whoisParser:[283:295]
            if "REDACTED FOR PRIVACY" in line:  # these lines contibute nothing so ignore
                continue

        if "Please query the RDDS service of the Registrar of Record" in line:  # these lines contibute nothing so ignore
            continue

        if line.startswith("Terms of Use:"):  # these lines contibute nothing so ignore
            continue

        tmp2.append(line.strip("\r").rstrip())
 (duplicate-code)
whoisdomain/context/parameterContext.py:1:0: R0801: Similar lines in 2 files
==whoisdomain.cache.dbmCache:[28:40]
==whoisdomain.cache.redisCache:[42:49]
            if data:
                sdata: str = data.decode("utf-8")
                if self.verbose:
                    print(sdata, file=sys.stderr)
                return sdata
        return None

    def put(
        self,
        keyString: str,
        data: str,
    ) -> str: (duplicate-code)
whoisdomain/context/parameterContext.py:1:0: R0801: Similar lines in 2 files
==whoisdomain.processWhoisDomainRequest:[164:171]
==whoisdomain.whoisParser:[379:386]
            assert self.dom is not None
            self.dom.init(
                pc=self.pc,
                dc=self.dc,
            )
            return self.dom, True
 (duplicate-code)
whoisdomain/context/parameterContext.py:1:0: R0801: Similar lines in 2 files
==whoisdomain.cache.redisCache:[7:14]
==whoisdomain:[58:66]
HAS_REDIS = False
try:
    import redis

    HAS_REDIS = True
except Exception as e:
    _ = e
 (duplicate-code)
whoisdomain/context/parameterContext.py:1:0: R0801: Similar lines in 2 files
==whoisdomain.processWhoisDomainRequest:[252:258]
==whoisdomain.whoisParser:[249:256]
            self.dc.exeptionStr = msg

            assert self.dom is not None
            self.dom.init(
                pc=self.pc,
                dc=self.dc,
            ) (duplicate-code)
whoisdomain/context/parameterContext.py:1:0: R0801: Similar lines in 2 files
==whoisdomain.processWhoisDomainRequest:[238:244]
==whoisdomain.whoisParser:[236:243]
            self.dc.exeptionStr = msg  # was: self.dc.exeptionStr = "UnknownTld"
            assert self.dom is not None
            self.dom.init(
                pc=self.pc,
                dc=self.dc,
            ) (duplicate-code)

------------------------------------------------------------------
Your code has been rated at 7.91/10 (previous run: 7.91/10, +0.00)

