motom001/DoorPi

View on GitHub
doorpi/sipphone/linphone_lib/CallBacks.py

Summary

Maintainability
C
1 day
Test Coverage

Function call_state_changed_handle has a Cognitive Complexity of 39 (exceeds 5 allowed). Consider refactoring.
Open

    def call_state_changed_handle(self, core, call, call_state, message):
        logger.debug("call_state_changed (%s - %s)", call_state, message)

        remote_uri = call.remote_address.as_string_uri_only()

Severity: Minor
Found in doorpi/sipphone/linphone_lib/CallBacks.py - About 5 hrs 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

LinphoneCallbacks has 28 functions (exceeds 20 allowed). Consider refactoring.
Open

class LinphoneCallbacks:

    @property
    def used_callbacks(self): return {
        #http://www.linphone.org/docs/liblinphone/struct__LinphoneCoreVTable.html
Severity: Minor
Found in doorpi/sipphone/linphone_lib/CallBacks.py - About 3 hrs to fix

    Function __init__ has 28 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def __init__(self):
            logger.debug("__init__")
    
            self._last_number_of_calls = 0
    
    
    Severity: Minor
    Found in doorpi/sipphone/linphone_lib/CallBacks.py - About 1 hr to fix

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

          def is_admin_number(self, remote_uri):
              logger.debug("is_admin_number (%s)",remote_uri)
              for admin_number in self.whitelist:
                  if admin_number == "*":
                      logger.info("admin numbers are deactivated by using '*' as single number")
      Severity: Minor
      Found in doorpi/sipphone/linphone_lib/CallBacks.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

      Avoid too many return statements within this function.
      Open

                      return
      Severity: Major
      Found in doorpi/sipphone/linphone_lib/CallBacks.py - About 30 mins to fix

        Refactor this function to reduce its Cognitive Complexity from 40 to the 15 allowed.
        Open

            def call_state_changed_handle(self, core, call, call_state, message):

        Cognitive Complexity is a measure of how hard the control flow of a function is to understand. Functions with high Cognitive Complexity will be difficult to maintain.

        See

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either merge this branch with the identical one on line "177" or change one of the implementations.
        Open

                    DoorPi().event_handler('OnCallMediaStateChange', __name__)

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either merge this branch with the identical one on line "188" or change one of the implementations.
        Open

                    DoorPi().event_handler('OnCallStateConnect', __name__)
                    DoorPi().event_handler('OnCallMediaStateChange', __name__)

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either merge this branch with the identical one on line "128" or change one of the implementations.
        Open

                    pass

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Either merge this branch with the identical one on line "177" or change one of the implementations.
        Open

                    DoorPi().event_handler('OnCallMediaStateChange', __name__)

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Either remove or fill this block of code.
        Open

                    pass

        Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

        Noncompliant Code Example

        for i in range(3):
            pass
        

        Exceptions

        When a block contains a comment, this block is not considered to be empty.

        Line too long (104 > 79 characters)
        Open

                #'message_received': self.message_received, #a message is received, can be text or external body

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (106 > 79 characters)
        Open

                #'network_reachable': self.network_reachable, #Callback to report IP network status (I.E up/down )

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Expected 1 blank line, found 0
        Open

            def call_state_changed(self, core, call, call_state, message):

        Separate top-level function and class definitions with two blank lines.

        Method definitions inside a class are separated by a single blank
        line.
        
        Extra blank lines may be used (sparingly) to separate groups of
        related functions.  Blank lines may be omitted between a bunch of
        related one-liners (e.g. a set of dummy implementations).
        
        Use blank lines in functions, sparingly, to indicate logical
        sections.
        
        Okay: def a():\n    pass\n\n\ndef b():\n    pass
        Okay: def a():\n    pass\n\n\nasync def b():\n    pass
        Okay: def a():\n    pass\n\n\n# Foo\n# Bar\n\ndef b():\n    pass
        Okay: default = 1\nfoo = 1
        Okay: classify = 1\nfoo = 1
        
        E301: class Foo:\n    b = 0\n    def bar():\n        pass
        E302: def a():\n    pass\n\ndef b(n):\n    pass
        E302: def a():\n    pass\n\nasync def b(n):\n    pass
        E303: def a():\n    pass\n\n\n\ndef b(n):\n    pass
        E303: def a():\n\n\n\n    pass
        E304: @decorator\n\ndef a():\n    pass
        E305: def a():\n    pass\na()
        E306: def a():\n    def b():\n        pass\n    def c():\n        pass

        Missing whitespace after ':'
        Open

                DoorPi().event_handler('OnDTMF', __name__, {'digits':digits})

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Expected 1 blank line, found 0
        Open

            def refer_received(self, core, refer_to): pass

        Separate top-level function and class definitions with two blank lines.

        Method definitions inside a class are separated by a single blank
        line.
        
        Extra blank lines may be used (sparingly) to separate groups of
        related functions.  Blank lines may be omitted between a bunch of
        related one-liners (e.g. a set of dummy implementations).
        
        Use blank lines in functions, sparingly, to indicate logical
        sections.
        
        Okay: def a():\n    pass\n\n\ndef b():\n    pass
        Okay: def a():\n    pass\n\n\nasync def b():\n    pass
        Okay: def a():\n    pass\n\n\n# Foo\n# Bar\n\ndef b():\n    pass
        Okay: default = 1\nfoo = 1
        Okay: classify = 1\nfoo = 1
        
        E301: class Foo:\n    b = 0\n    def bar():\n        pass
        E302: def a():\n    pass\n\ndef b(n):\n    pass
        E302: def a():\n    pass\n\nasync def b(n):\n    pass
        E303: def a():\n    pass\n\n\n\ndef b(n):\n    pass
        E303: def a():\n\n\n\n    pass
        E304: @decorator\n\ndef a():\n    pass
        E305: def a():\n    pass\na()
        E306: def a():\n    def b():\n        pass\n    def c():\n        pass

        Block comment should start with '# '
        Open

                #'subscription_state_changed': self.subscription_state_changed, #Notifies subscription state change

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (94 > 79 characters)
        Open

                        DoorPi().event_handler('OnCallIncoming', __name__, {'remote_uri': remote_uri})

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (81 > 79 characters)
        Open

                #http://www.linphone.org/docs/liblinphone/struct__LinphoneCoreVTable.html

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (114 > 79 characters)
        Open

                #'notify_received': self.notify_received, #Notifies a an event notification, see linphone_core_subscribe()

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Inline comment should start with '# '
        Open

                'dtmf_received': self.dtmf_received, #A dtmf has been received received

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'call_encryption_changed': self.call_encryption_changed, #Notifies on change in the encryption of call streams

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (95 > 79 characters)
        Open

                    if message == "Busy here": DoorPi().event_handler('OnCallStateDismissed', __name__)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Multiple statements on one line (colon)
        Open

                    if message == "Call declined.": DoorPi().event_handler('OnCallStateReject', __name__)

        Compound statements (on the same line) are generally discouraged.

        While sometimes it's okay to put an if/for/while with a small body
        on the same line, never do this for multi-clause statements.
        Also avoid folding such long lines!
        
        Always use a def statement instead of an assignment statement that
        binds a lambda expression directly to a name.
        
        Okay: if foo == 'blah':\n    do_blah_thing()
        Okay: do_one()
        Okay: do_two()
        Okay: do_three()
        
        E701: if foo == 'blah': do_blah_thing()
        E701: for x in lst: total += x
        E701: while t < 10: t = delay()
        E701: if foo == 'blah': do_blah_thing()
        E701: else: do_non_blah_thing()
        E701: try: something()
        E701: finally: cleanup()
        E701: if foo == 'blah': one(); two(); three()
        E702: do_one(); do_two(); do_three()
        E703: do_four();  # useless semicolon
        E704: def f(x): return 2*x
        E731: f = lambda x: 2*x

        Line too long (108 > 79 characters)
        Open

                #'registration_state_changed': self.registration_state_changed, #Notifies registration state changes

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #'call_stats_updated': self.call_stats_updated, #Notifies on refreshing of call's statistics.

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (99 > 79 characters)
        Open

                    if core.current_call and core.current_call.state > linphone.CallState.IncomingReceived:

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (99 > 79 characters)
        Open

                            DoorPi().event_handler('OnCallReconnect', __name__, {'remote_uri': remote_uri})

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (117 > 79 characters)
        Open

                                logger.info("Incoming and current call are different - sending busy signal to incoming call")

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #http://www.linphone.org/docs/liblinphone/struct__LinphoneCoreVTable.html

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'network_reachable': self.network_reachable, #Callback to report IP network status (I.E up/down )

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (91 > 79 characters)
        Open

            def registration_state_changed(self, core, linphone_proxy_config, state, message): pass

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (102 > 79 characters)
        Open

                                DoorPi().event_handler('OnCallIncoming', __name__, {'remote_uri': remote_uri})

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Multiple statements on one line (colon)
        Open

                    if message == "Busy here": DoorPi().event_handler('OnCallStateDismissed', __name__)

        Compound statements (on the same line) are generally discouraged.

        While sometimes it's okay to put an if/for/while with a small body
        on the same line, never do this for multi-clause statements.
        Also avoid folding such long lines!
        
        Always use a def statement instead of an assignment statement that
        binds a lambda expression directly to a name.
        
        Okay: if foo == 'blah':\n    do_blah_thing()
        Okay: do_one()
        Okay: do_two()
        Okay: do_three()
        
        E701: if foo == 'blah': do_blah_thing()
        E701: for x in lst: total += x
        E701: while t < 10: t = delay()
        E701: if foo == 'blah': do_blah_thing()
        E701: else: do_non_blah_thing()
        E701: try: something()
        E701: finally: cleanup()
        E701: if foo == 'blah': one(); two(); three()
        E702: do_one(); do_two(); do_three()
        E703: do_four();  # useless semicolon
        E704: def f(x): return 2*x
        E731: f = lambda x: 2*x

        Expected 2 blank lines, found 1
        Open

        class LinphoneCallbacks:

        Separate top-level function and class definitions with two blank lines.

        Method definitions inside a class are separated by a single blank
        line.
        
        Extra blank lines may be used (sparingly) to separate groups of
        related functions.  Blank lines may be omitted between a bunch of
        related one-liners (e.g. a set of dummy implementations).
        
        Use blank lines in functions, sparingly, to indicate logical
        sections.
        
        Okay: def a():\n    pass\n\n\ndef b():\n    pass
        Okay: def a():\n    pass\n\n\nasync def b():\n    pass
        Okay: def a():\n    pass\n\n\n# Foo\n# Bar\n\ndef b():\n    pass
        Okay: default = 1\nfoo = 1
        Okay: classify = 1\nfoo = 1
        
        E301: class Foo:\n    b = 0\n    def bar():\n        pass
        E302: def a():\n    pass\n\ndef b(n):\n    pass
        E302: def a():\n    pass\n\nasync def b(n):\n    pass
        E303: def a():\n    pass\n\n\n\ndef b(n):\n    pass
        E303: def a():\n\n\n\n    pass
        E304: @decorator\n\ndef a():\n    pass
        E305: def a():\n    pass\na()
        E306: def a():\n    def b():\n        pass\n    def c():\n        pass

        Block comment should start with '# '
        Open

                #'global_state_changed': self.global_state_changed, #Notifies global state changes

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Inline comment should start with '# '
        Open

                'call_state_changed': self.call_state_changed, #Notifies call state changes

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (81 > 79 characters)
        Open

                DoorPi().event_handler.register_action('OnSipPhoneDestroy', self.destroy)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #DoorPi().event_handler.register_event('AfterAccountRegState', __name__)

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (98 > 79 characters)
        Open

                                DoorPi().event_handler('OnCallBusy', __name__, {'remote_uri': remote_uri})

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Module level import not at top of file
        Open

        import linphone

        Place imports at the top of the file.

        Always put imports at the top of the file, just after any module
        comments and docstrings, and before module globals and constants.
        
        Okay: import os
        Okay: # this is a comment\nimport os
        Okay: '''this is a module docstring'''\nimport os
        Okay: r'''this is a module docstring'''\nimport os
        Okay:
        try:\n\timport x\nexcept ImportError:\n\tpass\nelse:\n\tpass\nimport y
        Okay:
        try:\n\timport x\nexcept ImportError:\n\tpass\nfinally:\n\tpass\nimport y
        E402: a=1\nimport os
        E402: 'One string'\n"Two string"\nimport os
        E402: a=1\nfrom sys import x
        
        Okay: if x:\n    import os

        Line too long (110 > 79 characters)
        Open

                #'auth_info_requested': self.auth_info_requested, #Ask the application some authentication information

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (97 > 79 characters)
        Open

                #'call_log_updated': self.call_log_updated, #Notifies that call log list has been updated

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #'notify_presence_received': self.notify_presence_received, #Notify received presence events

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (94 > 79 characters)
        Open

                    DoorPi().event_handler('BeforeCallIncoming', __name__, {'remote_uri': remote_uri})

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Inline comment should start with '# '
        Open

                        core.decline_call(call, linphone.Reason.Forbidden) #Declined

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (83 > 79 characters)
        Open

                'call_state_changed': self.call_state_changed, #Notifies call state changes

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (119 > 79 characters)
        Open

                #'call_encryption_changed': self.call_encryption_changed, #Notifies on change in the encryption of call streams

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (124 > 79 characters)
        Open

                #'log_collection_upload_state_changed': self.log_collection_upload_state_changed, #Callback to upload collected logs

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (153 > 79 characters)
        Open

                #'log_collection_upload_progress_indication': self.log_collection_upload_progress_indication #Callback to indicate log collection upload progress

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        At least two spaces before inline comment
        Open

                'call_state_changed': self.call_state_changed, #Notifies call state changes

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (87 > 79 characters)
        Open

                        if core.current_call.remote_address.as_string_uri_only() == remote_uri:

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (97 > 79 characters)
        Open

                        DoorPi().event_handler('AfterCallIncoming', __name__, {'remote_uri': remote_uri})

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (109 > 79 characters)
        Open

                #'is_composing_received': self.is_composing_received, #An is-composing notification has been received

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (101 > 79 characters)
        Open

                #'call_stats_updated': self.call_stats_updated, #Notifies on refreshing of call's statistics.

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (116 > 79 characters)
        Open

                #'configuring_status': self.configuring_status, #Notifies publish state change (only from LinphoneEvent api)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (80 > 79 characters)
        Open

                #DoorPi().event_handler.register_event('AfterAccountRegState', __name__)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (81 > 79 characters)
        Open

                        core.accept_call_with_params(call, DoorPi().sipphone.base_config)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (82 > 79 characters)
        Open

            def log_collection_upload_progress_indication(self, core, offset, total): pass

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (104 > 79 characters)
        Open

                #'transfer_state_changed': self.transfer_state_changed, #Notifies when a transfer is in progress

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #'refer_received': self.refer_received, #An out of call refer was received

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'notify_received': self.notify_received, #Notifies a an event notification, see linphone_core_subscribe()

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (80 > 79 characters)
        Open

                DoorPi().event_handler.register_event('OnCallStateDisconnect', __name__)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (135 > 79 characters)
        Open

                            logger.info("Current call is incoming call - quitting current and connecting to incoming. Maybe connection reset?")

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (81 > 79 characters)
        Open

            def call_encryption_changed(self, core, call, on, authentication_token): pass

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (107 > 79 characters)
        Open

                #'subscription_state_changed': self.subscription_state_changed, #Notifies subscription state change

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #'new_subscription_requested': self.new_subscription_requested, #Notify about pending presence subscription request

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        At least two spaces before inline comment
        Open

                'dtmf_received': self.dtmf_received, #A dtmf has been received received

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (81 > 79 characters)
        Open

                DoorPi().event_handler.register_event('OnCallMediaStateChange', __name__)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (132 > 79 characters)
        Open

                                logger.info("Incoming and current call are different - incoming is AdminNumber, so hanging up current call")

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (105 > 79 characters)
        Open

                                DoorPi().event_handler('AfterCallIncoming', __name__, {'remote_uri': remote_uri})

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        No newline at end of file
        Open

            __del__ = destroy

        Trailing blank lines are superfluous.

        Okay: spam(1)
        W391: spam(1)\n
        
        However the last line should end with a new line (warning W292).

        Line too long (80 > 79 characters)
        Open

                DoorPi().event_handler.register_event('AfterCallStateConnect', __name__)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (100 > 79 characters)
        Open

                #'notify_presence_received': self.notify_presence_received, #Notify received presence events

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (82 > 79 characters)
        Open

                #'refer_received': self.refer_received, #An out of call refer was received

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #'registration_state_changed': self.registration_state_changed, #Notifies registration state changes

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'configuring_status': self.configuring_status, #Notifies publish state change (only from LinphoneEvent api)

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'log_collection_upload_state_changed': self.log_collection_upload_state_changed, #Callback to upload collected logs

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Missing whitespace after ','
        Open

                logger.debug("is_admin_number (%s)",remote_uri)

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Line too long (90 > 79 characters)
        Open

                        logger.info("admin numbers are deactivated by using '*' as single number")

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (85 > 79 characters)
        Open

                            core.accept_call_with_params(call, DoorPi().sipphone.base_config)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Expected 1 blank line, found 0
        Open

            def dtmf_received(self, core, call, digits):

        Separate top-level function and class definitions with two blank lines.

        Method definitions inside a class are separated by a single blank
        line.
        
        Extra blank lines may be used (sparingly) to separate groups of
        related functions.  Blank lines may be omitted between a bunch of
        related one-liners (e.g. a set of dummy implementations).
        
        Use blank lines in functions, sparingly, to indicate logical
        sections.
        
        Okay: def a():\n    pass\n\n\ndef b():\n    pass
        Okay: def a():\n    pass\n\n\nasync def b():\n    pass
        Okay: def a():\n    pass\n\n\n# Foo\n# Bar\n\ndef b():\n    pass
        Okay: default = 1\nfoo = 1
        Okay: classify = 1\nfoo = 1
        
        E301: class Foo:\n    b = 0\n    def bar():\n        pass
        E302: def a():\n    pass\n\ndef b(n):\n    pass
        E302: def a():\n    pass\n\nasync def b(n):\n    pass
        E303: def a():\n    pass\n\n\n\ndef b(n):\n    pass
        E303: def a():\n\n\n\n    pass
        E304: @decorator\n\ndef a():\n    pass
        E305: def a():\n    pass\na()
        E306: def a():\n    def b():\n        pass\n    def c():\n        pass

        Line too long (97 > 79 characters)
        Open

            def subscription_state_changed(self, core, linphone_event, linphone_subscription_state): pass

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (81 > 79 characters)
        Open

            def configuring_status(self, core, linphone_configuring_state, message): pass

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (123 > 79 characters)
        Open

                #'new_subscription_requested': self.new_subscription_requested, #Notify about pending presence subscription request

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (97 > 79 characters)
        Open

                #'buddy_info_updated': self.buddy_info_updated, #a LinphoneFriend's BuddyInfo has changed

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (99 > 79 characters)
        Open

                #'info_received': self.info_received, #Notifies an incoming informational message received.

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #'call_log_updated': self.call_log_updated, #Notifies that call log list has been updated

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'message_received': self.message_received, #a message is received, can be text or external body

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'transfer_state_changed': self.transfer_state_changed, #Notifies when a transfer is in progress

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'buddy_info_updated': self.buddy_info_updated, #a LinphoneFriend's BuddyInfo has changed

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'log_collection_upload_progress_indication': self.log_collection_upload_progress_indication #Callback to indicate log collection upload progress

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (89 > 79 characters)
        Open

                                core.accept_call_with_params(call, DoorPi().sipphone.base_config)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Module level import not at top of file
        Open

        from time import sleep

        Place imports at the top of the file.

        Always put imports at the top of the file, just after any module
        comments and docstrings, and before module globals and constants.
        
        Okay: import os
        Okay: # this is a comment\nimport os
        Okay: '''this is a module docstring'''\nimport os
        Okay: r'''this is a module docstring'''\nimport os
        Okay:
        try:\n\timport x\nexcept ImportError:\n\tpass\nelse:\n\tpass\nimport y
        Okay:
        try:\n\timport x\nexcept ImportError:\n\tpass\nfinally:\n\tpass\nimport y
        E402: a=1\nimport os
        E402: 'One string'\n"Two string"\nimport os
        E402: a=1\nfrom sys import x
        
        Okay: if x:\n    import os

        Block comment should start with '# '
        Open

                #'auth_info_requested': self.auth_info_requested, #Ask the application some authentication information

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Block comment should start with '# '
        Open

                #'is_composing_received': self.is_composing_received, #An is-composing notification has been received

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Module level import not at top of file
        Open

        from doorpi import DoorPi

        Place imports at the top of the file.

        Always put imports at the top of the file, just after any module
        comments and docstrings, and before module globals and constants.
        
        Okay: import os
        Okay: # this is a comment\nimport os
        Okay: '''this is a module docstring'''\nimport os
        Okay: r'''this is a module docstring'''\nimport os
        Okay:
        try:\n\timport x\nexcept ImportError:\n\tpass\nelse:\n\tpass\nimport y
        Okay:
        try:\n\timport x\nexcept ImportError:\n\tpass\nfinally:\n\tpass\nimport y
        E402: a=1\nimport os
        E402: 'One string'\n"Two string"\nimport os
        E402: a=1\nfrom sys import x
        
        Okay: if x:\n    import os

        Line too long (90 > 79 characters)
        Open

                #'global_state_changed': self.global_state_changed, #Notifies global state changes

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Block comment should start with '# '
        Open

                #'info_received': self.info_received, #Notifies an incoming informational message received.

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (83 > 79 characters)
        Open

                DoorPi().event_handler.register_event('AfterCallStateDisconnect', __name__)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        At least two spaces before inline comment
        Open

                        core.decline_call(call, linphone.Reason.Forbidden) #Declined

        Separate inline comments by at least two spaces.

        An inline comment is a comment on the same line as a statement.
        Inline comments should be separated by at least two spaces from the
        statement. They should start with a # and a single space.
        
        Each line of a block comment starts with a # and a single space
        (unless it is indented text inside the comment).
        
        Okay: x = x + 1  # Increment x
        Okay: x = x + 1    # Increment x
        Okay: # Block comment
        E261: x = x + 1 # Increment x
        E262: x = x + 1  #Increment x
        E262: x = x + 1  #  Increment x
        E265: #Block comment
        E266: ### Block comment

        Line too long (97 > 79 characters)
        Open

                    if message == "Call declined.": DoorPi().event_handler('OnCallStateReject', __name__)

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Expected 1 blank line, found 0
        Open

            def notify_presence_received(self, core, linphone_friend): pass

        Separate top-level function and class definitions with two blank lines.

        Method definitions inside a class are separated by a single blank
        line.
        
        Extra blank lines may be used (sparingly) to separate groups of
        related functions.  Blank lines may be omitted between a bunch of
        related one-liners (e.g. a set of dummy implementations).
        
        Use blank lines in functions, sparingly, to indicate logical
        sections.
        
        Okay: def a():\n    pass\n\n\ndef b():\n    pass
        Okay: def a():\n    pass\n\n\nasync def b():\n    pass
        Okay: def a():\n    pass\n\n\n# Foo\n# Bar\n\ndef b():\n    pass
        Okay: default = 1\nfoo = 1
        Okay: classify = 1\nfoo = 1
        
        E301: class Foo:\n    b = 0\n    def bar():\n        pass
        E302: def a():\n    pass\n\ndef b(n):\n    pass
        E302: def a():\n    pass\n\nasync def b(n):\n    pass
        E303: def a():\n    pass\n\n\n\ndef b(n):\n    pass
        E303: def a():\n\n\n\n    pass
        E304: @decorator\n\ndef a():\n    pass
        E305: def a():\n    pass\na()
        E306: def a():\n    def b():\n        pass\n    def c():\n        pass

        Line too long (80 > 79 characters)
        Open

                            'remote_uri': str(call.remote_address.as_string_uri_only()),

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (101 > 79 characters)
        Open

            def notify_received(self, core, linphone_event, linphone_subscription_state, linphone_body): pass

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (110 > 79 characters)
        Open

            def log_collection_upload_state_changed(self, core, linphone_core_log_collection_upload_state, info): pass

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        There are no issues that match your filters.

        Category
        Status