LasLabs/python-helpscout

View on GitHub

Showing 15 of 15 total issues

File conversations.py has 259 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# -*- coding: utf-8 -*-
# Copyright 2017-TODAY LasLabs Inc.
# License MIT (https://opensource.org/licenses/MIT).
 
from .. import BaseApi
Severity: Minor
Found in helpscout/apis/conversations.py - About 2 hrs to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    @classmethod
    def get_members(cls, session, team_or_id):
    """List the members for the team.
     
    Args:
    Severity: Major
    Found in helpscout/apis/teams.py and 1 other location - About 1 hr to fix
    helpscout/apis/mailboxes.py on lines 44..59

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    @classmethod
    def get_folders(cls, session, mailbox_or_id):
    """List the folders for the mailbox.
     
    Args:
    Severity: Major
    Found in helpscout/apis/mailboxes.py and 1 other location - About 1 hr to fix
    helpscout/apis/teams.py on lines 61..76

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

    @classmethod
    def find_customer(cls, session, mailbox, customer):
    """Return conversations for a specific customer in a mailbox.
     
    Args:
    Severity: Major
    Found in helpscout/apis/conversations.py and 2 other locations - About 1 hr to fix
    helpscout/apis/conversations.py on lines 187..202
    helpscout/apis/conversations.py on lines 242..257

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

    @classmethod
    def find_user(cls, session, mailbox, user):
    """Return conversations for a specific user in a mailbox.
     
    Args:
    Severity: Major
    Found in helpscout/apis/conversations.py and 2 other locations - About 1 hr to fix
    helpscout/apis/conversations.py on lines 167..182
    helpscout/apis/conversations.py on lines 242..257

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

    @classmethod
    def list_folder(cls, session, mailbox, folder):
    """Return conversations in a specific folder of a mailbox.
     
    Args:
    Severity: Major
    Found in helpscout/apis/conversations.py and 2 other locations - About 1 hr to fix
    helpscout/apis/conversations.py on lines 167..182
    helpscout/apis/conversations.py on lines 187..202

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

    def __new__(cls, endpoint, data=None,
    Severity: Minor
    Found in helpscout/base_api.py - About 45 mins to fix

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      return cls(
      '/%s/%s.json' % (cls.__endpoint__, record.id),
      data=data,
      request_type=RequestPaginator.PUT,
      Severity: Minor
      Found in helpscout/base_api.py and 1 other location - About 45 mins to fix
      helpscout/apis/conversations.py on lines 299..304

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      return cls(
      '/conversations/%s/threads/%d.json' % (
      conversation.id, thread.id,
      ),
      data=data,
      Severity: Minor
      Found in helpscout/apis/conversations.py and 1 other location - About 45 mins to fix
      helpscout/base_api.py on lines 284..287

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      @classmethod
      def create_thread(cls, session, conversation, thread, imported=False):
      """Create a conversation thread.
       
      Please note that threads cannot be added to conversations with 100
      Severity: Minor
      Found in helpscout/apis/conversations.py and 1 other location - About 40 mins to fix
      helpscout/apis/conversations.py on lines 148..163

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      @classmethod
      def delete_attachment(cls, session, attachment):
      """Delete an attachment.
       
      Args:
      Severity: Minor
      Found in helpscout/apis/conversations.py and 1 other location - About 40 mins to fix
      helpscout/apis/conversations.py on lines 119..144

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

      def create(cls, session, record, endpoint_override=None, out_type=None,
      Severity: Minor
      Found in helpscout/base_api.py - About 35 mins to fix

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

        def list(cls, session, first_name=None, last_name=None, email=None,
        Severity: Minor
        Found in helpscout/apis/customers.py - About 35 mins to fix

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

          def __init__(self, endpoint, data=None, output_type=dict,
          Severity: Minor
          Found in helpscout/request_paginator/__init__.py - About 35 mins to fix

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

            def _call(self, method, *args, **kwargs):
            """Call the remote service and return the response data."""
             
            assert self.session
             
             
            Severity: Minor
            Found in helpscout/request_paginator/__init__.py - About 25 mins to fix
            Severity
            Category
            Status
            Source
            Language