MetaPhase-Consulting/State-TalentMAP-API

View on GitHub
talentmap_api/fsbid/services/common.py

Summary

Maintainability
F
5 days
Test Coverage
F
32%

File common.py has 906 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import re
import logging
import csv
from datetime import datetime
from copy import deepcopy
Severity: Major
Found in talentmap_api/fsbid/services/common.py - About 2 days to fix

    Function parse_agenda_remarks has a Cognitive Complexity of 30 (exceeds 7 allowed). Consider refactoring.
    Open

    def parse_agenda_remarks(remarks=[]):
        remarks_values = []
        if remarks:
            for remark in remarks:
                remark['remarkRefData'][0]['airaiseqnum'] = remark.get('airaiseqnum')
    Severity: Minor
    Found in talentmap_api/fsbid/services/common.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

    Function get_ap_and_pv_csv has a Cognitive Complexity of 29 (exceeds 7 allowed). Consider refactoring.
    Open

    def get_ap_and_pv_csv(data, filename, ap=False, tandem=False):
        response = HttpResponse(content_type='text/csv')
        response['Content-Disposition'] = f"attachment; filename={filename}_{datetime.now().strftime('%Y_%m_%d_%H%M%S')}.csv"
    
        writer = csv.writer(response, csv.excel)
    Severity: Minor
    Found in talentmap_api/fsbid/services/common.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 archive_favorites has a Cognitive Complexity of 21 (exceeds 7 allowed). Consider refactoring.
    Open

    def archive_favorites(ids, request, isPV=False, favoritesLimit=FAVORITES_LIMIT):
        fav_length = len(ids)
        if fav_length >= favoritesLimit or fav_length == round(favoritesLimit / 2):
            # Pos nums is string to pass correctly to services url
            pos_nums = ','.join(ids)
    Severity: Minor
    Found in talentmap_api/fsbid/services/common.py - About 2 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 convert_to_fsbid_ql has a Cognitive Complexity of 14 (exceeds 7 allowed). Consider refactoring.
    Open

    def convert_to_fsbid_ql(filters):
        formattedFilters = []
    
        for fil in filters:
            if pydash.get(fil, 'col') and pydash.get(fil, 'val'):
    Severity: Minor
    Found in talentmap_api/fsbid/services/common.py - About 1 hr 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_bids_csv has 32 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    def get_bids_csv(data, filename, jwt_token):
        response = HttpResponse(content_type='text/csv')
        response['Content-Disposition'] = f"attachment; filename={filename}_{datetime.now().strftime('%Y_%m_%d_%H%M%S')}.csv"
    
        writer = csv.writer(response, csv.excel)
    Severity: Minor
    Found in talentmap_api/fsbid/services/common.py - About 1 hr to fix

      Function get_ap_and_pv_csv has 32 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      def get_ap_and_pv_csv(data, filename, ap=False, tandem=False):
          response = HttpResponse(content_type='text/csv')
          response['Content-Disposition'] = f"attachment; filename={filename}_{datetime.now().strftime('%Y_%m_%d_%H%M%S')}.csv"
      
          writer = csv.writer(response, csv.excel)
      Severity: Minor
      Found in talentmap_api/fsbid/services/common.py - About 1 hr to fix

        Function send_get_csv_request has 10 arguments (exceeds 5 allowed). Consider refactoring.
        Open

        def send_get_csv_request(uri, query, query_mapping_function, jwt_token, mapping_function, base_url, host=None, ad_id=None, limit=None, use_post=False):
        Severity: Major
        Found in talentmap_api/fsbid/services/common.py - About 1 hr to fix

          Function send_get_request has 10 arguments (exceeds 5 allowed). Consider refactoring.
          Open

          def send_get_request(uri, query, query_mapping_function, jwt_token, mapping_function, count_function, base_url, host=None, api_root=API_ROOT, use_post=False):
          Severity: Major
          Found in talentmap_api/fsbid/services/common.py - About 1 hr to fix

            Function get_bids_csv has a Cognitive Complexity of 12 (exceeds 7 allowed). Consider refactoring.
            Open

            def get_bids_csv(data, filename, jwt_token):
                response = HttpResponse(content_type='text/csv')
                response['Content-Disposition'] = f"attachment; filename={filename}_{datetime.now().strftime('%Y_%m_%d_%H%M%S')}.csv"
            
                writer = csv.writer(response, csv.excel)
            Severity: Minor
            Found in talentmap_api/fsbid/services/common.py - About 1 hr 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_fsbid_results has a Cognitive Complexity of 11 (exceeds 7 allowed). Consider refactoring.
            Open

            def get_fsbid_results(uri, jwt_token, mapping_function, email=None, use_cache=False, api_root=API_ROOT):
                url = f"{api_root}/{uri}"
                # TODO - fix SSL issue with use_cache
                # method = session if use_cache else requests
                method = requests
            Severity: Minor
            Found in talentmap_api/fsbid/services/common.py - About 55 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 send_count_request has 8 arguments (exceeds 5 allowed). Consider refactoring.
            Open

            def send_count_request(uri, query, query_mapping_function, jwt_token, host=None, api_root=API_ROOT, use_post=False, is_template=False):
            Severity: Major
            Found in talentmap_api/fsbid/services/common.py - About 50 mins to fix

              Function sorting_values has a Cognitive Complexity of 10 (exceeds 7 allowed). Consider refactoring.
              Open

              def sorting_values(sort, use_post=False):
                  if sort is not None:
                      results = []
                      for s in sort.split(','):
                          direction = 'asc'
              Severity: Minor
              Found in talentmap_api/fsbid/services/common.py - About 45 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 csv_fsbid_template_to_tm has a Cognitive Complexity of 10 (exceeds 7 allowed). Consider refactoring.
              Open

              def csv_fsbid_template_to_tm(data, mapping):
                  '''
                  Get row for csv ready for write.
                  You'll still need to set up the csv headers outside this function.
                  The return from this mapping can be written to csv with
              Severity: Minor
              Found in talentmap_api/fsbid/services/common.py - About 45 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 get_individual has 7 arguments (exceeds 5 allowed). Consider refactoring.
              Open

              def get_individual(uri, query, query_mapping_function, jwt_token, mapping_function, api_root=API_ROOT, use_post=False):
              Severity: Major
              Found in talentmap_api/fsbid/services/common.py - About 45 mins to fix

                Avoid deeply nested control flow statements.
                Open

                                    if matchText:
                                        refRemarkText = refRemarkText.replace(matchText['riinsertiontext'], insertion['airiinsertiontext'])
                                    else:
                                        continue
                
                
                Severity: Major
                Found in talentmap_api/fsbid/services/common.py - About 45 mins to fix

                  Function get_results has 6 arguments (exceeds 5 allowed). Consider refactoring.
                  Open

                  def get_results(uri, query, query_mapping_function, jwt_token, mapping_function, api_root=API_ROOT):
                  Severity: Minor
                  Found in talentmap_api/fsbid/services/common.py - About 35 mins to fix

                    Function send_post_back_office has 6 arguments (exceeds 5 allowed). Consider refactoring.
                    Open

                    def send_post_back_office(proc_name, package_name, request_body, request_mapping_function, response_mapping_function, jwt_token):
                    Severity: Minor
                    Found in talentmap_api/fsbid/services/common.py - About 35 mins to fix

                      Function send_put_request has 6 arguments (exceeds 5 allowed). Consider refactoring.
                      Open

                      def send_put_request(uri, query, query_mapping_function, jwt_token, mapping_function, api_root=API_ROOT):
                      Severity: Minor
                      Found in talentmap_api/fsbid/services/common.py - About 35 mins to fix

                        Function get_fsbid_results has 6 arguments (exceeds 5 allowed). Consider refactoring.
                        Open

                        def get_fsbid_results(uri, jwt_token, mapping_function, email=None, use_cache=False, api_root=API_ROOT):
                        Severity: Minor
                        Found in talentmap_api/fsbid/services/common.py - About 35 mins to fix

                          Function get_results_with_post has 6 arguments (exceeds 5 allowed). Consider refactoring.
                          Open

                          def get_results_with_post(uri, query, query_mapping_function, jwt_token, mapping_function, api_root=API_ROOT):
                          Severity: Minor
                          Found in talentmap_api/fsbid/services/common.py - About 35 mins to fix

                            Function send_post_request has 6 arguments (exceeds 5 allowed). Consider refactoring.
                            Open

                            def send_post_request(uri, query, query_mapping_function, jwt_token, mapping_function, api_root=API_ROOT):
                            Severity: Minor
                            Found in talentmap_api/fsbid/services/common.py - About 35 mins to fix

                              Function send_get_csv_request has a Cognitive Complexity of 9 (exceeds 7 allowed). Consider refactoring.
                              Open

                              def send_get_csv_request(uri, query, query_mapping_function, jwt_token, mapping_function, base_url, host=None, ad_id=None, limit=None, use_post=False):
                                  '''
                                  Gets items from FSBid
                                  '''
                                  formattedQuery = query
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.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

                              Function send_count_request has a Cognitive Complexity of 9 (exceeds 7 allowed). Consider refactoring.
                              Open

                              def send_count_request(uri, query, query_mapping_function, jwt_token, host=None, api_root=API_ROOT, use_post=False, is_template=False):
                                  '''
                                  Gets the total number of items for a filterset
                                  '''
                                  args = {}
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.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

                              Function get_results has a Cognitive Complexity of 9 (exceeds 7 allowed). Consider refactoring.
                              Open

                              def get_results(uri, query, query_mapping_function, jwt_token, mapping_function, api_root=API_ROOT):
                                  queryClone = query or {}
                                  if query_mapping_function:
                                      url = f"{api_root}/{uri}?{query_mapping_function(queryClone)}"
                                  else:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.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

                              Function get_bidders_csv has a Cognitive Complexity of 8 (exceeds 7 allowed). Consider refactoring.
                              Open

                              def get_bidders_csv(self, pk, data, filename, jwt_token):
                                  response = HttpResponse(content_type='text/csv')
                                  response['Content-Disposition'] = f"attachment; filename={filename}_{datetime.now().strftime('%Y_%m_%d_%H%M%S')}.csv"
                              
                                  writer = csv.writer(response, csv.excel)
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.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 get_aih_csv has a Cognitive Complexity of 8 (exceeds 7 allowed). Consider refactoring.
                              Open

                              def get_aih_csv(data, filename):
                                  filename = re.sub(r'(\_)\1+', r'\1', filename.replace(',', '_').replace(' ', '_').replace("'", '_'))
                                  response = HttpResponse(content_type='text/csv')
                                  response['Content-Disposition'] = f"attachment; filename={filename}_{datetime.now().strftime('%Y_%m_%d_%H%M%S')}.csv"
                              
                              
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.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 map_fsbid_template_to_tm has a Cognitive Complexity of 8 (exceeds 7 allowed). Consider refactoring.
                              Open

                              def map_fsbid_template_to_tm(data, mapping):
                                  mapped_items = {}
                              
                                  for x in mapping.items():
                                      if isinstance(x[1], dict):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.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

                              Invalid escape sequence '\s'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence '-'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Expected 2 blank lines, found 1
                              Open

                              def post_values(query):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Inline comment should start with '# '
                              Open

                                  except:#nosec
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Expected 2 blank lines, found 3
                              Open

                              def send_post_back_office(proc_name, package_name, request_body, request_mapping_function, response_mapping_function, jwt_token):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Invalid escape sequence '\s'
                              Open

                                  nmn_pattern = "\s+nmn(?!\w)"
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence '\d'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence '\s'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Too many blank lines (3)
                              Open

                              # for calls to BackOffice CRUD POST EP
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Invalid escape sequence '+'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Expected 2 blank lines, found 1
                              Open

                              def send_delete_request(uri, query, query_mapping_function, jwt_token, api_root=API_ROOT):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Trailing whitespace
                              Open

                                  # return custom skill if it exists, combined string of skill and grade if not 
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Trailing whitespace is superfluous.

                              The warning returned varies on whether the line itself is blank,
                              for easier filtering for those who want to indent their blank lines.
                              
                              Okay: spam(1)\n#
                              W291: spam(1) \n#
                              W293: class Foo(object):\n    \n    bang = 12

                              Expected 2 blank lines, found 1
                              Open

                              def format_desc_code(desc, code):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Expected 2 blank lines after class or function definition, found 1
                              Open

                              APPROVED_PROP = 'approved'
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Do not use bare 'except'
                              Open

                                          except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Invalid escape sequence '+'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence '-'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence ')'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence '\d'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence '\s'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Expected 2 blank lines, found 1
                              Open

                              def parseLanguagesToArr(data):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Expected 2 blank lines, found 1
                              Open

                              def get_obc_vals():
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Do not use bare 'except'
                              Open

                                  except:#nosec
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Invalid escape sequence '\w'
                              Open

                                  nmn_pattern = "\s+nmn(?!\w)"
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Invalid escape sequence '\s'
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Expected 2 blank lines, found 1
                              Open

                              def send_get_request(uri, query, query_mapping_function, jwt_token, mapping_function, count_function, base_url, host=None, api_root=API_ROOT, use_post=False):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Expected 2 blank lines, found 1
                              Open

                              def get_obc_id(post_id):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Trailing whitespace
                              Open

                                  combined_skills_representation = '-' 
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Trailing whitespace is superfluous.

                              The warning returned varies on whether the line itself is blank,
                              for easier filtering for those who want to indent their blank lines.
                              
                              Okay: spam(1)\n#
                              W291: spam(1) \n#
                              W293: class Foo(object):\n    \n    bang = 12

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Expected 2 blank lines, found 1
                              Open

                              def format_request_data_to_string(request_values, table_key):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Do not use bare 'except'
                              Open

                                  except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Expected 2 blank lines, found 1
                              Open

                              def send_put_request(uri, query, query_mapping_function, jwt_token, mapping_function, api_root=API_ROOT):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              At least two spaces before inline comment
                              Open

                                  except:#nosec
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Expected 2 blank lines, found 1
                              Open

                              def get_skills(data={}):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Expected 2 blank lines, found 1
                              Open

                              def remove_nmn(name):
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              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

                              Ambiguous variable name 'l'
                              Open

                                      for l in lang:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Never use the characters 'l', 'O', or 'I' as variable names.

                              In some fonts, these characters are indistinguishable from the
                              numerals one and zero. When tempted to use 'l', use 'L' instead.
                              
                              Okay: L = 0
                              Okay: o = 123
                              Okay: i = 42
                              E741: l = 0
                              E741: O = 123
                              E741: I = 42
                              
                              Variables can be bound in several other contexts, including class
                              and function definitions, 'global' and 'nonlocal' statements,
                              exception handlers, and 'with' and 'for' statements.
                              In addition, we have a special handling for function parameters.
                              
                              Okay: except AttributeError as o:
                              Okay: with lock as L:
                              Okay: foo(l=12)
                              Okay: for a in foo(l=12):
                              E741: except AttributeError as O:
                              E741: with lock as l:
                              E741: global I
                              E741: nonlocal l
                              E741: def foo(l):
                              E741: def foo(l=12):
                              E741: l = foo(l=12)
                              E741: for l in range(10):
                              E742: class I(object):
                              E743: def l(x):

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Do not use bare 'except'
                              Open

                                          except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Invalid escape sequence '('
                              Open

                              LANG_PATTERN = re.compile("(.*?)(\(.*\))\s*(\d[\s\+\-]*)/(\s*\d[\s\+\-]*)")
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              Invalid escape sequences are deprecated in Python 3.6.

                              Okay: regex = r'\.png$'
                              W605: regex = '\.png$'

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              Do not use bare 'except'
                              Open

                                      except:
                              Severity: Minor
                              Found in talentmap_api/fsbid/services/common.py by pep8

                              When catching exceptions, mention specific exceptions when possible.

                              Okay: except Exception:
                              Okay: except BaseException:
                              E722: except:

                              There are no issues that match your filters.

                              Category
                              Status