Showing 11 of 11 total issues

Display has 41 functions (exceeds 20 allowed). Consider refactoring.
Open

class Display:
    """The user-facing display.

    This class is used to handle all user-interaction. It creates and handles
    all aspects of the application's interface, including windows and menus. It
Severity: Minor
Found in castero/display.py - About 5 hrs to fix

    Queue has 24 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class Queue:
        """A FIFO ordered queue of Player instances.
    
        This class is also the display class' main interface for accessing
        information about the current player.
    Severity: Minor
    Found in castero/queue.py - About 2 hrs to fix

      Menu has 23 functions (exceeds 20 allowed). Consider refactoring.
      Open

      class Menu(ABC):
          """A navigable menu in the display.
      
          This class is used to display interactable menus. It displays a list of
          items to its window and allows the user to cycle through them.
      Severity: Minor
      Found in castero/menu.py - About 2 hrs to fix

        Episode has 23 functions (exceeds 20 allowed). Consider refactoring.
        Open

        class Episode:
            """A single episode from a podcast feed."""
        
            PROGRESS_INDICATOR = "*"
        
        
        Severity: Minor
        Found in castero/episode.py - About 2 hrs to fix

          Database has 22 functions (exceeds 20 allowed). Consider refactoring.
          Open

          class Database:
              """The user's database.
          
              This class provides an API for storing and retrieving data from an sqlite
              database file.
          Severity: Minor
          Found in castero/database.py - About 2 hrs to fix

            Player has 21 functions (exceeds 20 allowed). Consider refactoring.
            Open

            class Player:
                """Extendable class for media players.
            
                This class is extended by players -- classes which offer methods to handle
                media operations for a specific external player (i.e. VLC, mpv).
            Severity: Minor
            Found in castero/player.py - About 2 hrs to fix

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

                  def __init__(
              Severity: Major
              Found in castero/episode.py - About 1 hr to fix

                Avoid deeply nested control flow statements.
                Open

                                        if key in self.data:
                                            raise ConfigDuplicateError("Variable defined multiple times, key: " + key)
                
                
                Severity: Major
                Found in castero/config.py - About 45 mins to fix

                  Avoid deeply nested control flow statements.
                  Open

                                          if key in conf_dict:
                                              lines[lines.index(line)] = "%s = %s\n" % (line.split(" =")[0], conf_dict[key])
                  
                  
                  Severity: Major
                  Found in castero/config.py - About 45 mins to fix

                    Avoid deeply nested control flow statements.
                    Open

                                            if display is not None:
                                                display.change_status("Successfully deleted the downloaded episode")
                    
                                    # if there are no more files in the feed directory, delete it
                                    if len(os.listdir(feed_directory)) == 0:
                    Severity: Major
                    Found in castero/episode.py - About 45 mins to fix

                      Avoid deeply nested control flow statements.
                      Open

                                              if scroll_x > 0:
                                                  scroll_x -= 1
                                      else:
                      Severity: Major
                      Found in castero/display.py - About 45 mins to fix
                        Severity
                        Category
                        Status
                        Source
                        Language