cdli-gh/pyoracc

View on GitHub

Showing 107 of 107 total issues

AtfParser has 140 functions (exceeds 20 allowed). Consider refactoring.
Open

class AtfParser(object):
tokens = AtfLexicon.TOKENS
 
def __init__(self, debug=0, log=yacc.NullLogger()):
self.parser = yacc.yacc(module=self, tabmodule='pyoracc.atf.parsetab',
Severity: Major
Found in pyoracc/atf/common/atfyacc.py - About 2 days to fix

    File atfyacc.py has 644 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    '''
    Copyright 2015, 2016 University College London.
     
    This file is part of PyORACC.
     
     
    Severity: Major
    Found in pyoracc/atf/common/atfyacc.py - About 1 day to fix

      Function CheckSurfaceRules has a Cognitive Complexity of 45 (exceeds 5 allowed). Consider refactoring.
      Open

      def CheckSurfaceRules(self):
      surfaceRegex = re.compile("@surface")
      specificSurfaceRegex = re.compile(
      "@(obverse|reverse|top|bottom|left|right)")
      faceSurfaceRegex = re.compile("@face")
      Severity: Minor
      Found in pyoracc/cdlimodel/structure.py - About 6 hrs to fix

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

      if t.type is None:
      formatstring = u"Illegal #STRING '{}'".format(t.value)
      valuestring = t.value
      if _pyversion() == 2:
      formatstring = formatstring.encode('UTF-8')
      Severity: Major
      Found in pyoracc/atf/common/atflex.py and 1 other location - About 6 hrs to fix
      pyoracc/atf/common/atflex.py on lines 159..170

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

      if t.type is None:
      formatstring = u"Illegal @STRING '{}'".format(t.value)
      valuestring = t.value
      if _pyversion() == 2:
      formatstring = formatstring.encode('UTF-8')
      Severity: Major
      Found in pyoracc/atf/common/atflex.py and 1 other location - About 6 hrs to fix
      pyoracc/atf/common/atflex.py on lines 201..212

      Cyclomatic complexity is too high in method CheckSurfaceRules. (29)
      Open

      def CheckSurfaceRules(self):
      surfaceRegex = re.compile("@surface")
      specificSurfaceRegex = re.compile(
      "@(obverse|reverse|top|bottom|left|right)")
      faceSurfaceRegex = re.compile("@face")
      Severity: Minor
      Found in pyoracc/cdlimodel/structure.py by radon

      AtfLexer has 34 functions (exceeds 20 allowed). Consider refactoring.
      Open

      class AtfLexer(object):
       
      def _keyword_dict(self, tokens, extra):
      keywords = {token.lower(): token for token in tokens}
      firstcap = {token.title(): token for token in tokens}
      Severity: Minor
      Found in pyoracc/atf/common/atflex.py - About 4 hrs to fix

        File atflex.py has 340 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        '''
        Copyright 2015, 2016 University College London.
         
        This file is part of PyORACC.
         
         
        Severity: Minor
        Found in pyoracc/atf/common/atflex.py - About 4 hrs to fix

          Cyclomatic complexity is too high in method t_INITIAL_parallel_labeled_ATID. (12)
          Open

          def t_INITIAL_parallel_labeled_ATID(self, t):
          r'^@[a-zA-Z][a-zA-Z0-9\[\]]*\+?'
          t.value = t.value[1:]
          t.lexpos += 1
          t.type = self.resolve_keyword(t.value,
          Severity: Minor
          Found in pyoracc/atf/common/atflex.py by radon

          Cyclomatic complexity is too high in method SetObjectType. (11)
          Open

          def SetObjectType(self, roughType):
          if "@tablet" in roughType:
          self.objectType = "TABLET"
          elif "bulla" in roughType:
          self.objectType = "BULLA"
          Severity: Minor
          Found in pyoracc/cdlimodel/structure.py by radon

          Cyclomatic complexity is too high in method t_INITIAL_parallel_labeled_HASHID. (10)
          Open

          def t_INITIAL_parallel_labeled_HASHID(self, t):
          r'#[a-zA-Z][a-zA-Z0-9\[\]]+:'
          # Note that \:? absorbs a trailing colon in protocol keywords
          t.value = t.value[1:-1]
          t.lexpos += 1
          Severity: Minor
          Found in pyoracc/atf/common/atflex.py by radon

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

          def p_linkreference_label(self, p):
          """link_reference : link_reference ID
          | link_reference COMMA ID
          | link_reference REFERENCE
          | link_reference ID QUERY"""
          Severity: Major
          Found in pyoracc/atf/cdli/atfyacc.py and 2 other locations - About 2 hrs to fix
          pyoracc/atf/common/atfyacc.py on lines 714..718
          pyoracc/atf/common/atfyacc.py on lines 720..724

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

          def p_linelabel(self, p):
          "line_sequence : LINELABEL ID"
          p[0] = Line(p[1])
          p[0].words.append(p[2])
          Severity: Major
          Found in pyoracc/atf/common/atfyacc.py and 1 other location - About 2 hrs to fix
          pyoracc/atf/common/atfyacc.py on lines 308..311

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

          def p_link_range_reference_label(self, p):
          """link_range_reference : link_range_reference ID
          | link_range_reference COMMA ID"""
          p[0] = p[1]
          p[0].rangelabel.append(list(p)[-1])
          Severity: Major
          Found in pyoracc/atf/common/atfyacc.py and 2 other locations - About 2 hrs to fix
          pyoracc/atf/cdli/atfyacc.py on lines 37..43
          pyoracc/atf/common/atfyacc.py on lines 714..718

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

          def p_scorelabel(self, p):
          "line_sequence : SCORELABEL ID"
          p[0] = Line(p[1])
          p[0].words.append(p[2])
          Severity: Major
          Found in pyoracc/atf/common/atfyacc.py and 1 other location - About 2 hrs to fix
          pyoracc/atf/common/atfyacc.py on lines 303..306

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

          def p_linkreference_label(self, p):
          """link_reference : link_reference ID
          | link_reference COMMA ID"""
          p[0] = p[1]
          p[0].label.append(list(p)[-1])
          Severity: Major
          Found in pyoracc/atf/common/atfyacc.py and 2 other locations - About 2 hrs to fix
          pyoracc/atf/cdli/atfyacc.py on lines 37..43
          pyoracc/atf/common/atfyacc.py on lines 720..724

          Cyclomatic complexity is too high in function check_and_process. (8)
          Open

          def check_and_process(pathname, atftype, whole, verbose=False):
          mode = os.stat(pathname)[ST_MODE]
          if S_ISREG(mode) and pathname.lower().endswith('.atf'):
          # It's a file, call the callback function
          if verbose:
          Severity: Minor
          Found in pyoracc/wrapper/cli.py by radon

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

          def p_translation_dollar(self, p):
          "translation : translation dollar"
          p[0] = p[1]
          p[0].children.append(p[2])
          Severity: Major
          Found in pyoracc/atf/common/atfyacc.py and 27 other locations - About 2 hrs to fix
          pyoracc/atf/common/atfyacc.py on lines 133..136
          pyoracc/atf/common/atfyacc.py on lines 143..146
          pyoracc/atf/common/atfyacc.py on lines 185..189
          pyoracc/atf/common/atfyacc.py on lines 239..243
          pyoracc/atf/common/atfyacc.py on lines 297..300
          pyoracc/atf/common/atfyacc.py on lines 313..316
          pyoracc/atf/common/atfyacc.py on lines 318..321
          pyoracc/atf/common/atfyacc.py on lines 336..339
          pyoracc/atf/common/atfyacc.py on lines 354..357
          pyoracc/atf/common/atfyacc.py on lines 386..389
          pyoracc/atf/common/atfyacc.py on lines 391..394
          pyoracc/atf/common/atfyacc.py on lines 409..412
          pyoracc/atf/common/atfyacc.py on lines 414..417
          pyoracc/atf/common/atfyacc.py on lines 499..502
          pyoracc/atf/common/atfyacc.py on lines 647..650
          pyoracc/atf/common/atfyacc.py on lines 652..655
          pyoracc/atf/common/atfyacc.py on lines 677..681
          pyoracc/atf/common/atfyacc.py on lines 687..691
          pyoracc/atf/common/atfyacc.py on lines 693..697
          pyoracc/atf/common/atfyacc.py on lines 699..702
          pyoracc/atf/common/atfyacc.py on lines 704..708
          pyoracc/atf/common/atfyacc.py on lines 751..754
          pyoracc/atf/common/atfyacc.py on lines 756..759
          pyoracc/atf/common/atfyacc.py on lines 761..764
          pyoracc/atf/common/atfyacc.py on lines 766..769
          pyoracc/atf/common/atfyacc.py on lines 771..774
          pyoracc/atf/common/atfyacc.py on lines 776..779

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

          def p_translationlabel_id(self, p):
          """translationlabel : translationlabel ID
          | translationlabel REFERENCE"""
          p[0] = p[1]
          p[0].label.append(p[2])
          Severity: Major
          Found in pyoracc/atf/common/atfyacc.py and 27 other locations - About 2 hrs to fix
          pyoracc/atf/common/atfyacc.py on lines 133..136
          pyoracc/atf/common/atfyacc.py on lines 143..146
          pyoracc/atf/common/atfyacc.py on lines 185..189
          pyoracc/atf/common/atfyacc.py on lines 239..243
          pyoracc/atf/common/atfyacc.py on lines 297..300
          pyoracc/atf/common/atfyacc.py on lines 313..316
          pyoracc/atf/common/atfyacc.py on lines 318..321
          pyoracc/atf/common/atfyacc.py on lines 336..339
          pyoracc/atf/common/atfyacc.py on lines 354..357
          pyoracc/atf/common/atfyacc.py on lines 386..389
          pyoracc/atf/common/atfyacc.py on lines 391..394
          pyoracc/atf/common/atfyacc.py on lines 409..412
          pyoracc/atf/common/atfyacc.py on lines 414..417
          pyoracc/atf/common/atfyacc.py on lines 499..502
          pyoracc/atf/common/atfyacc.py on lines 647..650
          pyoracc/atf/common/atfyacc.py on lines 652..655
          pyoracc/atf/common/atfyacc.py on lines 657..660
          pyoracc/atf/common/atfyacc.py on lines 687..691
          pyoracc/atf/common/atfyacc.py on lines 693..697
          pyoracc/atf/common/atfyacc.py on lines 699..702
          pyoracc/atf/common/atfyacc.py on lines 704..708
          pyoracc/atf/common/atfyacc.py on lines 751..754
          pyoracc/atf/common/atfyacc.py on lines 756..759
          pyoracc/atf/common/atfyacc.py on lines 761..764
          pyoracc/atf/common/atfyacc.py on lines 766..769
          pyoracc/atf/common/atfyacc.py on lines 771..774
          pyoracc/atf/common/atfyacc.py on lines 776..779

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

          def p_line_comment(self, p):
          "line : line comment"
          p[0] = p[1]
          p[0].notes.append(p[2])
          Severity: Major
          Found in pyoracc/atf/common/atfyacc.py and 27 other locations - About 2 hrs to fix
          pyoracc/atf/common/atfyacc.py on lines 133..136
          pyoracc/atf/common/atfyacc.py on lines 143..146
          pyoracc/atf/common/atfyacc.py on lines 185..189
          pyoracc/atf/common/atfyacc.py on lines 239..243
          pyoracc/atf/common/atfyacc.py on lines 297..300
          pyoracc/atf/common/atfyacc.py on lines 313..316
          pyoracc/atf/common/atfyacc.py on lines 318..321
          pyoracc/atf/common/atfyacc.py on lines 336..339
          pyoracc/atf/common/atfyacc.py on lines 354..357
          pyoracc/atf/common/atfyacc.py on lines 386..389
          pyoracc/atf/common/atfyacc.py on lines 391..394
          pyoracc/atf/common/atfyacc.py on lines 409..412
          pyoracc/atf/common/atfyacc.py on lines 414..417
          pyoracc/atf/common/atfyacc.py on lines 499..502
          pyoracc/atf/common/atfyacc.py on lines 647..650
          pyoracc/atf/common/atfyacc.py on lines 652..655
          pyoracc/atf/common/atfyacc.py on lines 657..660
          pyoracc/atf/common/atfyacc.py on lines 677..681
          pyoracc/atf/common/atfyacc.py on lines 687..691
          pyoracc/atf/common/atfyacc.py on lines 693..697
          pyoracc/atf/common/atfyacc.py on lines 699..702
          pyoracc/atf/common/atfyacc.py on lines 704..708
          pyoracc/atf/common/atfyacc.py on lines 751..754
          pyoracc/atf/common/atfyacc.py on lines 756..759
          pyoracc/atf/common/atfyacc.py on lines 761..764
          pyoracc/atf/common/atfyacc.py on lines 766..769
          pyoracc/atf/common/atfyacc.py on lines 776..779
          Severity
          Category
          Status
          Source
          Language