renemarc/countdoom

View on GitHub

Showing 128 of 128 total issues

File client.py has 264 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# -*- coding: utf-8 -*-

"""
Client module.

Severity: Minor
Found in countdoom/client.py - About 2 hrs to fix

    Function sentence_to_countdown has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
    Open

        def sentence_to_countdown(cls, sentence: str) -> float:
            """
            Convert Doomsday Clock sentence to a number of seconds to midnight.
    
            :param sentence: Doomsday Clock sentence
    Severity: Minor
    Found in countdoom/client.py - About 55 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function linkcode_resolve has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

    def linkcode_resolve(domain, info):
        """
        Resolve function for the linkcode extension.
    
        based on https://github.com/Lasagne/Lasagne/blob/master/docs/conf.py
    Severity: Minor
    Found in docs/conf.py - About 45 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function print_results has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
    Open

    def print_results(data: dict, args: Dict[str, Any]) -> None:
        """
        Display command results in a variety of formats.
    
        :param data: command results
    Severity: Minor
    Found in countdoom/cli.py - About 35 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Headers should be surrounded by blank lines
    Open

    ## Test Plan (if any)

    MD022 - Headers should be surrounded by blank lines

    Tags: headers, blank_lines

    Aliases: blanks-around-headers

    This rule is triggered when headers (any style) are either not preceded or not followed by a blank line:

    # Header 1
    Some text
    
    Some more text
    ## Header 2

    To fix this, ensure that all headers have a blank line both before and after (except where the header is at the beginning or end of the document):

    # Header 1
    
    Some text
    
    Some more text
    
    ## Header 2

    Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse headers that don't have a blank line before, and will parse them as regular text.

    Consider starting bulleted lists at the beginning of the line
    Open

      - The [Bulletin of the Atomic
    Severity: Info
    Found in README.md by markdownlint

    MD006 - Consider starting bulleted lists at the beginning of the line

    Tags: bullet, ul, indentation

    Aliases: ul-start-left

    This rule is triggered when top level lists don't start at the beginning of a line:

    Some text
    
      * List item
      * List item

    To fix, ensure that top level list items are not indented:

    Some test
    
    * List item
    * List item

    Rationale: Starting lists at the beginning of the line means that nested list items can all be indented by the same amount when an editor's indent function or the tab key is used to indent. Starting a list 1 space in means that the indent of the first nested list is less than the indent of the second level (3 characters if you use 4 space tabs, or 1 character if you use 2 space tabs).

    Multiple consecutive blank lines
    Open

    
    
    Severity: Info
    Found in README.md by markdownlint

    MD012 - Multiple consecutive blank lines

    Tags: whitespace, blank_lines

    Aliases: no-multiple-blanks

    This rule is triggered when there are multiple consecutive blank lines in the document:

    Some text here
    
    
    Some more text here

    To fix this, delete the offending lines:

    Some text here
    
    Some more text here

    Note: this rule will not be triggered if there are multiple consecutive blank lines inside code blocks.

    Inline HTML
    Open

    <p align="right"><a href="#top" title="Back to top">🔝</a></p>
    Severity: Info
    Found in README.md by markdownlint

    MD033 - Inline HTML

    Tags: html

    Aliases: no-inline-html

    This rule is triggered whenever raw HTML is used in a markdown document:

    Inline HTML header

    To fix this, use 'pure' markdown instead of including raw HTML:

    # Markdown header

    Rationale: Raw HTML is allowed in markdown, but this rule is included for those who want their documents to only include "pure" markdown, or for those who are rendering markdown documents in something other than HTML.

    Inline HTML
    Open

    <p align="center"><strong>Don't forget to <a href="#" title="star">⭐️</a> or <a href="#" title="fork">🔱</a> this repo! 😃<br/><sub>Built with <b title="love">❤️</b> in Montréal.</sub></strong></p>
    Severity: Info
    Found in README.md by markdownlint

    MD033 - Inline HTML

    Tags: html

    Aliases: no-inline-html

    This rule is triggered whenever raw HTML is used in a markdown document:

    Inline HTML header

    To fix this, use 'pure' markdown instead of including raw HTML:

    # Markdown header

    Rationale: Raw HTML is allowed in markdown, but this rule is included for those who want their documents to only include "pure" markdown, or for those who are rendering markdown documents in something other than HTML.

    Headers should be surrounded by blank lines
    Open

    ## Additional Details (if any)

    MD022 - Headers should be surrounded by blank lines

    Tags: headers, blank_lines

    Aliases: blanks-around-headers

    This rule is triggered when headers (any style) are either not preceded or not followed by a blank line:

    # Header 1
    Some text
    
    Some more text
    ## Header 2

    To fix this, ensure that all headers have a blank line both before and after (except where the header is at the beginning or end of the document):

    # Header 1
    
    Some text
    
    Some more text
    
    ## Header 2

    Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse headers that don't have a blank line before, and will parse them as regular text.

    Headers should be surrounded by blank lines
    Open

    ## Steps to Reproduce (unless obvious)

    MD022 - Headers should be surrounded by blank lines

    Tags: headers, blank_lines

    Aliases: blanks-around-headers

    This rule is triggered when headers (any style) are either not preceded or not followed by a blank line:

    # Header 1
    Some text
    
    Some more text
    ## Header 2

    To fix this, ensure that all headers have a blank line both before and after (except where the header is at the beginning or end of the document):

    # Header 1
    
    Some text
    
    Some more text
    
    ## Header 2

    Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse headers that don't have a blank line before, and will parse them as regular text.

    Inline HTML
    Open

    <p align="center"><strong>Don't forget to <a href="#" title="star">⭐️</a> or <a href="#" title="fork">🔱</a> this repo! 😃<br/><sub>Built with <b title="love">❤️</b> in Montréal.</sub></strong></p>
    Severity: Info
    Found in README.md by markdownlint

    MD033 - Inline HTML

    Tags: html

    Aliases: no-inline-html

    This rule is triggered whenever raw HTML is used in a markdown document:

    Inline HTML header

    To fix this, use 'pure' markdown instead of including raw HTML:

    # Markdown header

    Rationale: Raw HTML is allowed in markdown, but this rule is included for those who want their documents to only include "pure" markdown, or for those who are rendering markdown documents in something other than HTML.

    Inline HTML
    Open

    <p align="center"><strong>Don't forget to <a href="#" title="star">⭐️</a> or <a href="#" title="fork">🔱</a> this repo! 😃<br/><sub>Built with <b title="love">❤️</b> in Montréal.</sub></strong></p>
    Severity: Info
    Found in README.md by markdownlint

    MD033 - Inline HTML

    Tags: html

    Aliases: no-inline-html

    This rule is triggered whenever raw HTML is used in a markdown document:

    Inline HTML header

    To fix this, use 'pure' markdown instead of including raw HTML:

    # Markdown header

    Rationale: Raw HTML is allowed in markdown, but this rule is included for those who want their documents to only include "pure" markdown, or for those who are rendering markdown documents in something other than HTML.

    Inline HTML
    Open

      <tr>
    Severity: Info
    Found in AUTHORS.md by markdownlint

    MD033 - Inline HTML

    Tags: html

    Aliases: no-inline-html

    This rule is triggered whenever raw HTML is used in a markdown document:

    Inline HTML header

    To fix this, use 'pure' markdown instead of including raw HTML:

    # Markdown header

    Rationale: Raw HTML is allowed in markdown, but this rule is included for those who want their documents to only include "pure" markdown, or for those who are rendering markdown documents in something other than HTML.

    Inline HTML
    Open

        <td align="center"><a href="https://renemarc.com/"><img src="https://avatars3.githubusercontent.com/u/13276793?v=4" width="100px;" alt=""/><br /><sub><b>René-Marc Simard</b></sub></a><br /><a href="https://github.com/renemarc/countdoom/commits?author=renemarc" title="Code">💻</a> <a href="https://github.com/renemarc/countdoom/commits?author=renemarc" title="Documentation">📖</a> <a href="https://github.com/renemarc/countdoom/commits?author=renemarc" title="Tests">⚠️</a></td>
    Severity: Info
    Found in AUTHORS.md by markdownlint

    MD033 - Inline HTML

    Tags: html

    Aliases: no-inline-html

    This rule is triggered whenever raw HTML is used in a markdown document:

    Inline HTML header

    To fix this, use 'pure' markdown instead of including raw HTML:

    # Markdown header

    Rationale: Raw HTML is allowed in markdown, but this rule is included for those who want their documents to only include "pure" markdown, or for those who are rendering markdown documents in something other than HTML.

    Headers should be surrounded by blank lines
    Open

    # User Story

    MD022 - Headers should be surrounded by blank lines

    Tags: headers, blank_lines

    Aliases: blanks-around-headers

    This rule is triggered when headers (any style) are either not preceded or not followed by a blank line:

    # Header 1
    Some text
    
    Some more text
    ## Header 2

    To fix this, ensure that all headers have a blank line both before and after (except where the header is at the beginning or end of the document):

    # Header 1
    
    Some text
    
    Some more text
    
    ## Header 2

    Rationale: Aside from aesthetic reasons, some parsers, including kramdown, will not parse headers that don't have a blank line before, and will parse them as regular text.

    Multiple consecutive blank lines
    Open

    
    
    Severity: Info
    Found in README.md by markdownlint

    MD012 - Multiple consecutive blank lines

    Tags: whitespace, blank_lines

    Aliases: no-multiple-blanks

    This rule is triggered when there are multiple consecutive blank lines in the document:

    Some text here
    
    
    Some more text here

    To fix this, delete the offending lines:

    Some text here
    
    Some more text here

    Note: this rule will not be triggered if there are multiple consecutive blank lines inside code blocks.

    Line length
    Open

    ## Features [![CodeCov coverage][badge-codecov]][link-codecov] [![Code Climate maintainability][badge-codeclimate-maintainability]][link-codeclimate-maintainability] [![CodeFactor rating][badge-codefactor]][link-codeclimate-maintainability] [![Code style: black][badge-black]][link-black]
    Severity: Info
    Found in README.md by markdownlint

    MD013 - Line length

    Tags: line_length

    Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

    This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

    This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

    You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

    Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

    Line length
    Open

      - [Doomsday Clock sensor](https://github.com/renemarc/home-assistant-doomsday-clock): a [Home Assistant](https://www.home-assistant.io/) custom component for the [Community Store](https://hacs.xyz/).
    Severity: Info
    Found in README.md by markdownlint

    MD013 - Line length

    Tags: line_length

    Aliases: line-length Parameters: linelength, codeblocks, tables (number; default 80, boolean; default true)

    This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.

    This rule has an exception where there is no whitespace beyond the configured line length. This allows you to still include items such as long URLs without being forced to break them in the middle.

    You also have the option to exclude this rule for code blocks and tables. To do this, set the code_blocks and/or tables parameters to false.

    Code blocks are included in this rule by default since it is often a requirement for document readability, and tentatively compatible with code rules. Still, some languages do not lend themselves to short lines.

    Inline HTML
    Open

        <figure>
    Severity: Info
    Found in README.md by markdownlint

    MD033 - Inline HTML

    Tags: html

    Aliases: no-inline-html

    This rule is triggered whenever raw HTML is used in a markdown document:

    Inline HTML header

    To fix this, use 'pure' markdown instead of including raw HTML:

    # Markdown header

    Rationale: Raw HTML is allowed in markdown, but this rule is included for those who want their documents to only include "pure" markdown, or for those who are rendering markdown documents in something other than HTML.

    Severity
    Category
    Status
    Source
    Language