Beispiel #1
0
                    if isPound:
                        line = ' '*nspaces + line + comment #[indx:]
                    #if line != codeLine:
                        #print line.rstrip()
                        #print codeLine.rstrip()
                        #adsf
                    
                    lines2.append(line)
            
            if 1:
                #print "len(lines2) = ",len(lines2)
                f = open(fname, 'wb')
                #f = open('bbb.py', 'wb')
                for line in lines2:
                    f.write(line.rstrip('\n\r')+'\n')
                    #print line.rstrip()
                ###
                #sys.exit(fname)
                f.close()

            if 0:
                os.system('autopep8 -i %s > junk.out' %(fname))
                #os.system('python C:\\Python32\\Tools\\Scripts\\2to3.py -p -w %s >> junk.out' %(fname))

        ###
    ###

if __name__ == "__main__":
    (folders,files) = getFoldersFiles('../pyNastran')
    fix_object(files)
def countLines(fnames=[]):
    """
    def f(x):                                        -> code
        '''                                          -> header line
        comment                                      -> header line
        '''                                          -> header line
        return y                                     -> code
                                                     -> blank
    def g(x):                                        -> code
        '''comment'''                                -> header line
        return y                                     -> code
                                                     -> blank
    print f(5)                                       -> code
    if fnames==[]:             # 1st line            -> code + comment line   -> code
        fnames = sys.argv[1:]  ## @todo finish code  -> code + doxygen marker -> code
    ###                                              -> formatting line
                                                     -> blank
    ## standard doxygen                              -> doxygen line
    comment_lines = 0          ## standard doxygen   -> code + doxygen line -> code
    blank_lines = 0                                  -> code
                                                     -> blank
    code_lines = 0                                   -> code
    """
    #if fnames==[]:
    #    fnames = sys.argv[1:]
    import os
    from applyLicense import getFoldersFiles
    folders,fnames = getFoldersFiles(os.path.join('..','pyNastran'))

    total_lines = 0
    comment_lines = 0
    blank_lines = 0
    code_lines = 0
    header_lines = 0
    format_lines = 0
    doxygen_lines = 0
    bad_doxygen_lines = 0
    quote_lines = 0
    doxygen_starter_lines = 0
    
    input_file_list = []

    print
    
    if 0 and len(sys.argv) < 2 and len(fnames)==0:
        try:
            inputs_file = open("inputs.txt", "r")
            for line in inputs_file.readlines():
                if line[-1] == "\n":
                    input_file_list.append(line[:-1])
                else:
                    input_file_list.append(line)
            inputs_file.close()
            if len(input_file_list) == 0:
                print usage
                sys.exit(1)
        except IOError:
            print usage
            sys.exit(1)
    else:
        input_file_list = fnames
        
    print "Input files:"
    
    for input_file_name in input_file_list:
        if not input_file_name.endswith('.py'):
            continue
        print input_file_name

        try:
            current_file = open(input_file_name, "r")
        except IOError:
            print "Error opening \"" + input_file_name + "\", skipping...\n"
            break
        except TypeError:        
            print "Error opening \"" + str(input_file_name) + "\", skipping...\n"
            break
        i = 0
        toggleComment = False
        for line in current_file.readlines():
            #if i==100:
            #    break
            total_lines += 1
            i+=1
            hasPound = False
            if '"""' in line or "'''" in line:
                nQuotes = line.count('"""')+line.count("'''")
                if nQuotes == 2:
                    header_lines += 1  # inline """comment"""
                    continue
                
                if toggleComment: # if already on
                    header_lines += 1
                toggleComment = not(toggleComment)
                
            
            if toggleComment:
                #line2 = line.strip(' \n\t\r').strip('"').strip("'")
                #if not line2:
                header_lines += 1
                #line = line2
                continue
            
            for char in line:
                if char == "\n":
                    blank_lines += 1
                    break
                if char == "#":
                    hasPound = True
                    #comment_lines += 1
                    break
                elif (char not in string.whitespace) and (char != "#"):
                    code_lines += 1
                    break
            if hasPound:
                n  = line.count('#')
                n2 = line.count('##')
                n3 = line.count('###')
                
                if n3==1:
                    format_lines += 1
                    print input_file_name, "###"
                elif n==1 and '@' in line and '<' not in line:
                    bad_doxygen_lines += 1
                    print input_file_name, "****bad****",i
                elif n2==1 and '@' in line:
                    doxygen_starter_lines += 1
                elif n2==1:
                    doxygen_lines += 1
                else:
                    comment_lines += 1
                ###
            ###
            
        current_file.close()
        
    total_lines2 = (blank_lines + comment_lines + code_lines +
                    header_lines + doxygen_lines + format_lines)
    
    print "Total lines:   " + str(total_lines)
    print "Total lines2:  " + str(total_lines2)
    print "Code lines:    " + str(code_lines)
    print "Header lines:  " + str(header_lines)
    print "Comment lines: " + str(comment_lines)
    print "Doxygen start: " + str(doxygen_starter_lines)
    print "Doxygen lines: " + str(doxygen_lines)
    print "Bad Doxy lines " + str(bad_doxygen_lines)
    print "Blank lines:   " + str(blank_lines)
    print "Format lines:  " + str(format_lines)
Beispiel #3
0
def countLines(fnames=[]):
    """
    def f(x):                                        -> code
        '''                                          -> header line
        comment                                      -> header line
        '''                                          -> header line
        return y                                     -> code
                                                     -> blank
    def g(x):                                        -> code
        '''comment'''                                -> header line
        return y                                     -> code
                                                     -> blank
    print f(5)                                       -> code
    if fnames==[]:             # 1st line            -> code + comment line   -> code
        fnames = sys.argv[1:]  ## @todo finish code  -> code + doxygen marker -> code
    ###                                              -> formatting line
                                                     -> blank
    ## standard doxygen                              -> doxygen line
    comment_lines = 0          ## standard doxygen   -> code + doxygen line -> code
    blank_lines = 0                                  -> code
                                                     -> blank
    code_lines = 0                                   -> code
    """
    #if fnames==[]:
    #    fnames = sys.argv[1:]
    import os
    from applyLicense import getFoldersFiles
    folders, fnames = getFoldersFiles(os.path.join('..', 'pyNastran'))

    total_lines = 0
    comment_lines = 0
    blank_lines = 0
    code_lines = 0
    header_lines = 0
    format_lines = 0
    doxygen_lines = 0
    bad_doxygen_lines = 0
    quote_lines = 0
    doxygen_starter_lines = 0

    input_file_list = []

    print

    if 0 and len(sys.argv) < 2 and len(fnames) == 0:
        try:
            inputs_file = open("inputs.txt", "r")
            for line in inputs_file.readlines():
                if line[-1] == "\n":
                    input_file_list.append(line[:-1])
                else:
                    input_file_list.append(line)
            inputs_file.close()
            if len(input_file_list) == 0:
                print usage
                sys.exit(1)
        except IOError:
            print usage
            sys.exit(1)
    else:
        input_file_list = fnames

    print "Input files:"

    for input_file_name in input_file_list:
        if not input_file_name.endswith('.py'):
            continue
        print input_file_name

        try:
            current_file = open(input_file_name, "r")
        except IOError:
            print "Error opening \"" + input_file_name + "\", skipping...\n"
            break
        except TypeError:
            print "Error opening \"" + str(
                input_file_name) + "\", skipping...\n"
            break
        i = 0
        toggleComment = False
        for line in current_file.readlines():
            #if i==100:
            #    break
            total_lines += 1
            i += 1
            hasPound = False
            if '"""' in line or "'''" in line:
                nQuotes = line.count('"""') + line.count("'''")
                if nQuotes == 2:
                    header_lines += 1  # inline """comment"""
                    continue

                if toggleComment:  # if already on
                    header_lines += 1
                toggleComment = not (toggleComment)

            if toggleComment:
                #line2 = line.strip(' \n\t\r').strip('"').strip("'")
                #if not line2:
                header_lines += 1
                #line = line2
                continue

            for char in line:
                if char == "\n":
                    blank_lines += 1
                    break
                if char == "#":
                    hasPound = True
                    #comment_lines += 1
                    break
                elif (char not in string.whitespace) and (char != "#"):
                    code_lines += 1
                    break
            if hasPound:
                n = line.count('#')
                n2 = line.count('##')
                n3 = line.count('###')

                if n3 == 1:
                    format_lines += 1
                    print input_file_name, "###"
                elif n == 1 and '@' in line and '<' not in line:
                    bad_doxygen_lines += 1
                    print input_file_name, "****bad****", i
                elif n2 == 1 and '@' in line:
                    doxygen_starter_lines += 1
                elif n2 == 1:
                    doxygen_lines += 1
                else:
                    comment_lines += 1
                ###
            ###

        current_file.close()

    total_lines2 = (blank_lines + comment_lines + code_lines + header_lines +
                    doxygen_lines + format_lines)

    print "Total lines:   " + str(total_lines)
    print "Total lines2:  " + str(total_lines2)
    print "Code lines:    " + str(code_lines)
    print "Header lines:  " + str(header_lines)
    print "Comment lines: " + str(comment_lines)
    print "Doxygen start: " + str(doxygen_starter_lines)
    print "Doxygen lines: " + str(doxygen_lines)
    print "Bad Doxy lines " + str(bad_doxygen_lines)
    print "Blank lines:   " + str(blank_lines)
    print "Format lines:  " + str(format_lines)
Beispiel #4
0
                        line = " " * nspaces + line + comment  # [indx:]
                    # if line != codeLine:
                    # print line.rstrip()
                    # print codeLine.rstrip()
                    # adsf

                    lines2.append(line)

            if 1:
                # print "len(lines2) = ",len(lines2)
                f = open(fname, "wb")
                # f = open('bbb.py', 'wb')
                for line in lines2:
                    f.write(line.rstrip("\n\r") + "\n")
                    # print line.rstrip()
                ###
                # sys.exit(fname)
                f.close()

            if 0:
                os.system("autopep8 -i %s > junk.out" % (fname))
                # os.system('python C:\\Python32\\Tools\\Scripts\\2to3.py -p -w %s >> junk.out' %(fname))

        ###
    ###


if __name__ == "__main__":
    (folders, files) = getFoldersFiles("../pyNastran")
    fix_object(files)