krateng/maloja

View on GitHub

Showing 154 of 189 total issues

File sqldb.py has 1357 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import sqlalchemy as sql
from sqlalchemy.dialects.sqlite import insert as sqliteinsert
import json
import unicodedata
import math
Severity: Major
Found in maloja/database/sqldb.py - About 3 days to fix

    File native_v1.py has 738 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    import os
    import math
    import traceback
    
    from bottle import response, static_file, FormsDict
    Severity: Major
    Found in maloja/apis/native_v1.py - About 1 day to fix

      File __init__.py has 692 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      # server
      from bottle import request, response, FormsDict
      
      
      # decorator that makes sure this function is only run in normal operation,
      Severity: Major
      Found in maloja/database/__init__.py - About 1 day to fix

        Function image_request has a Cognitive Complexity of 51 (exceeds 5 allowed). Consider refactoring.
        Open

        def image_request(artist_id=None,track_id=None,album_id=None):
        
            # because we use lazyload, we can allow our http requests to take a little while at least
            # not the full backend request, but a few seconds to give us time to fetch some images
            # because 503 retry-after doesn't seem to be honored
        Severity: Minor
        Found in maloja/images.py - About 7 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

        Function parse_spotify has a Cognitive Complexity of 44 (exceeds 5 allowed). Consider refactoring.
        Open

        def parse_spotify(inputf):
            pth = os.path
            # use absolute paths internally for peace of mind. just change representation for console output
            inputf = pth.abspath(inputf)
            inputfolder = pth.dirname(inputf)
        Severity: Minor
        Found in maloja/proccontrol/tasks/import_scrobbles.py - About 6 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

        Function get_performance has a Cognitive Complexity of 43 (exceeds 5 allowed). Consider refactoring.
        Open

        def get_performance(dbconn=None,**keys):
        
            # amountkeys for pulse and performance aren't really necessary
            # since the amount of entries is completely determined by the time keys
            # but lets just include it in case
        Severity: Minor
        Found in maloja/database/__init__.py - About 6 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

        File edit.js has 403 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        // JS for all web interface editing / deletion of scrobble data
        
        // HELPERS
        function selectAll(e) {
            // https://stackoverflow.com/a/6150060/6651341
        Severity: Minor
        Found in maloja/web/static/js/edit.js - About 5 hrs to fix

          File malojatime.py has 392 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          from datetime import timezone, timedelta, date, time, datetime
          from calendar import monthrange
          import math
          from abc import ABC, abstractmethod
          
          
          Severity: Minor
          Found in maloja/malojatime.py - About 5 hrs to fix

            Function uri_to_internal has a Cognitive Complexity of 35 (exceeds 5 allowed). Consider refactoring.
            Open

            def uri_to_internal(keys,accepted_entities=('artist','track','album'),forceTrack=False,forceArtist=False,forceAlbum=False,api=False):
            
                # output:
                # 1    keys that define the filtered object like artist or track
                # 2    keys that define time limits of the whole thing
            Severity: Minor
            Found in maloja/malojauri.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

            Function internal_to_uri has a Cognitive Complexity of 32 (exceeds 5 allowed). Consider refactoring.
            Open

            def internal_to_uri(keys):
                urikeys = FormsDict()
            
                #filter
                if "artist" in keys:
            Severity: Minor
            Found in maloja/malojauri.py - About 4 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

            File import_scrobbles.py has 357 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            import os, datetime, re
            import json, csv
            
            from doreah.io import col, ask, prompt
            
            
            Severity: Minor
            Found in maloja/proccontrol/tasks/import_scrobbles.py - About 4 hrs to fix

              Function import_scrobbles has a Cognitive Complexity of 29 (exceeds 5 allowed). Consider refactoring.
              Open

              def import_scrobbles(inputf):
              
                  from ...database.sqldb import add_scrobbles
              
                  result = {
              Severity: Minor
              Found in maloja/proccontrol/tasks/import_scrobbles.py - About 4 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

              File images.py has 330 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              from .pkg_global.conf import data_dir, malojaconfig
              from . import thirdparty
              from . import database
              
              from doreah.logging import log
              Severity: Minor
              Found in maloja/images.py - About 3 hrs to fix

                Function upgrade_db has a Cognitive Complexity of 27 (exceeds 5 allowed). Consider refactoring.
                Open

                def upgrade_db(callback_add_scrobbles):
                
                    oldfolder = os.path.join(dir_settings['state'],"scrobbles")
                    newfolder = os.path.join(dir_settings['state'],".v2scrobbles")
                    os.makedirs(newfolder,exist_ok=True)
                Severity: Minor
                Found in maloja/upgrade.py - About 3 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

                Function get_all_possible_filenames has a Cognitive Complexity of 27 (exceeds 5 allowed). Consider refactoring.
                Open

                def get_all_possible_filenames(artist=None,track=None,album=None):
                    if track:
                        title, artists = clean(track['title']), [clean(a) for a in track['artists']]
                        superfolder = "tracks/"
                    elif album:
                Severity: Minor
                Found in maloja/images.py - About 3 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

                Function parse_albums has a Cognitive Complexity of 26 (exceeds 5 allowed). Consider refactoring.
                Open

                def parse_albums(strategy=None,prefer_existing=False):
                
                    if strategy not in ("track","none","all","majority","most"):
                        print("""
                Please specify your album parsing strategy:
                Severity: Minor
                Found in maloja/proccontrol/tasks/parse_albums.py - About 3 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

                Function artist_info has a Cognitive Complexity of 25 (exceeds 5 allowed). Consider refactoring.
                Open

                def artist_info(dbconn=None,**keys):
                
                    artist = keys.get('artist')
                    if artist is None: raise exceptions.MissingEntityParameter()
                
                
                Severity: Minor
                Found in maloja/database/__init__.py - About 3 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

                Function parseArtists has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
                Open

                    def parseArtists(self,a):
                
                        if isinstance(a,list) or isinstance(a,tuple):
                            res = [self.parseArtists(art) for art in a]
                            return [a for group in res for a in group]
                Severity: Minor
                Found in maloja/cleanup.py - About 3 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

                Function setup has a Cognitive Complexity of 23 (exceeds 5 allowed). Consider refactoring.
                Open

                def setup():
                
                    copy_initial_local_files()
                    SKIP = malojaconfig["SKIP_SETUP"]
                
                
                Severity: Minor
                Found in maloja/setup.py - About 3 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

                Function guess_albums has a Cognitive Complexity of 23 (exceeds 5 allowed). Consider refactoring.
                Open

                def guess_albums(track_ids=None,replace=False,dbconn=None):
                
                    MIN_NUM_TO_ASSIGN = 1
                
                    jointable = sql.join(
                Severity: Minor
                Found in maloja/database/sqldb.py - About 3 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

                Severity
                Category
                Status
                Source
                Language