Muterra/py_golix

View on GitHub

Showing 18 of 23 total issues

File cipher.py has 1050 lines of code (exceeds 250 allowed). Consider refactoring.
Open

'''
LICENSING
-------------------------------------------------

golix: A python library for Golix protocol object manipulation.
Severity: Major
Found in golix/cipher.py - About 2 days to fix

    File _getlow.py has 791 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    '''
    Low-level Golix network objects. Not intended for general usage.
    
    LICENSING
    -------------------------------------------------
    Severity: Major
    Found in golix/_getlow.py - About 1 day to fix

      _FirstPartyBase has 31 functions (exceeds 20 allowed). Consider refactoring.
      Open

      class _FirstPartyBase(_ObjectHandlerBase, metaclass=abc.ABCMeta):
          DEFAULT_ADDRESS_ALGO = DEFAULT_ADDRESSER
          
          def __init__(self, keys=None, ghid=None, address_algo='default', *args,
                       **kwargs):
      Severity: Minor
      Found in golix/cipher.py - About 3 hrs to fix

        File _spec.py has 312 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        '''
        Spec-based definition of Golix objects. It sure ain't beautiful, but it's
        getting the job done for now.
        
        LICENSING
        Severity: Minor
        Found in golix/_spec.py - About 3 hrs to fix

          File crypto_utils.py has 303 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          '''
          Cross-library utilities excluded from core.py or cipher.py to avoid
          circular imports.
          
          LICENSING
          Severity: Minor
          Found in golix/crypto_utils.py - About 3 hrs to fix

            Function __init__ has 7 arguments (exceeds 4 allowed). Consider refactoring.
            Open

                def __init__(self, binder=None, counter=None, target_vector=None,
            Severity: Major
            Found in golix/_getlow.py - About 50 mins to fix

              Function __init__ has 6 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  def __init__(self, signature_key=None, encryption_key=None,
              Severity: Minor
              Found in golix/_getlow.py - About 45 mins to fix

                Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                Open

                    def __init__(self, binder=None, target=None, _control=None, *args,
                Severity: Minor
                Found in golix/_getlow.py - About 35 mins to fix

                  Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                      def __init__(self, target=None, status=0, _control=None, *args, **kwargs):
                  Severity: Minor
                  Found in golix/_getlow.py - About 35 mins to fix

                    Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                    Open

                        def __init__(self, debinder=None, target=None, _control=None, *args,
                    Severity: Minor
                    Found in golix/_getlow.py - About 35 mins to fix

                      Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                      Open

                          def __init__(self, keys=None, ghid=None, address_algo='default', *args,
                      Severity: Minor
                      Found in golix/cipher.py - About 35 mins to fix

                        Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                        Open

                            def __init__(self, author=None, payload=None, _control=None, *args,
                        Severity: Minor
                        Found in golix/_getlow.py - About 35 mins to fix

                          Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                          Open

                              def __init__(self, target=None, secret=None, _control=None, *args,
                          Severity: Minor
                          Found in golix/_getlow.py - About 35 mins to fix

                            Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                            Open

                                def __init__(self, ghid, version, cipher, body, etc):
                            Severity: Minor
                            Found in golix/__init__.py - About 35 mins to fix

                              Function __init__ has 5 arguments (exceeds 4 allowed). Consider refactoring.
                              Open

                                  def __init__(self, recipient=None, payload=None, _control=None, *args,
                              Severity: Minor
                              Found in golix/_getlow.py - About 35 mins to fix

                                Function pack has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                Open

                                    def pack(self, address_algo, cipher):
                                        ''' Overwrite super() to support dynamic address generation.
                                        Awkward, largely violates Don'tRepeatYourself, but quickest way
                                        to work around SmartyParse's current limitations.
                                        '''
                                Severity: Minor
                                Found in golix/_getlow.py - About 25 mins to fix

                                Cognitive Complexity

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

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

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

                                Further reading

                                Function unpack_request has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                Open

                                    def unpack_request(self, packed):
                                        garq = GARQ.unpack(packed)
                                        plaintext = self._decrypt_asym(garq.payload)
                                        
                                        # Could do this with a loop, but it gets awkward when trying to
                                Severity: Minor
                                Found in golix/cipher.py - About 25 mins to fix

                                Cognitive Complexity

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

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

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

                                Further reading

                                Function __init__ has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                Open

                                    def __init__(self, cipher, key, seed=None, version='latest'):
                                        # Most of these checks should probably be moved into property
                                        # setters.
                                        if seed is None:
                                            seed = b''
                                Severity: Minor
                                Found in golix/crypto_utils.py - About 25 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

                                Severity
                                Category
                                Status
                                Source
                                Language