This file is indexed.

/usr/share/fritzing/parts/scripts/checkcase.py is in fritzing-parts 0.9.3b-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
import sys, os, os.path, re, xml.dom.minidom, xml.dom,  optparse
    
def usage():
        print """
usage:
    checkcase.py -f [fzp folder] -s [svg folder]
    ensure all fzp files case-sensitively match svg file names
"""
    
        
           
def main():
    parser = optparse.OptionParser()
    parser.add_option('-f', '--fzp', dest="fzpdir" )
    parser.add_option('-s', '--svg', dest="svgdir" )
    (options, args) = parser.parse_args()
        
    if not options.fzpdir:
        usage()
        parser.error("fzp dir argument not given")
        return       
            
    if not options.svgdir:
        usage()
        parser.error("svg dir argument not given")
        return   

    allsvgs = []
    lowersvgs = {}
    for root, dirs, files in os.walk(options.svgdir, topdown=False):
        for filename in files:
            if not filename.endswith(".svg"): 
                continue
            path = os.path.join(root, filename)
            allsvgs.append(path)
            lowersvgs[path.lower()] = filename
            
    for root, dirs, files in os.walk(options.fzpdir, topdown=False):
        for filename in files:
            if not filename.endswith(".fzp"): 
                continue
                
            fzpFilename = os.path.join(root, filename)
            try:
                dom = xml.dom.minidom.parse(fzpFilename)
            except xml.parsers.expat.ExpatError, err:
                print str(err), fzpFilename
                continue
             
            doUpdate = False
            fzp = dom.documentElement
            layerss = fzp.getElementsByTagName("layers")
            for layers in layerss:
                image = layers.getAttribute("image").replace("/", "\\")
                if ("dip_" in image) and ("mil_" in image):
                    continue
                if ("sip_" in image) and ("mil_" in image):
                    continue
                if ("jumper_" in image) and ("mil_" in image):
                    continue
                if ("screw_terminal_" in image):
                    continue
                if ("jumper" in image):
                    continue
                if ("mystery_" in image):
                    continue
                if ("LED-" in image):
                    continue
                if ("axial_lay" in image):
                    continue
                if ("resistor_" in image):
                    continue
                if ("generic" in image) and ("header" in image):
                    continue
                path1 = os.path.join(options.svgdir, "core", image)
                path2 = os.path.join(options.svgdir, "contrib", image)
                path3 = os.path.join(options.svgdir, "obsolete", image)
                if os.path.isfile(path1) or os.path.isfile(path2) or os.path.isfile(path3):
                    for path in [path1, path2, path3]:
                        try:
                            handle = open(path)
                            if not path in allsvgs:
                                print "mismatch", fzpFilename
                                print "\t", path
                                print
                                thing = layers.getAttribute("image").split("/")
                                thing[1] = lowersvgs[path.lower()]
                                layers.setAttribute("image", "/".join(thing))
                                doUpdate = True
                                
                        except:
                            pass
                else:
                    print "missing", fzpFilename, image
                
            
            if doUpdate:
                outfile = open(fzpFilename, 'wb')
                s = dom.toxml("UTF-8")
                outfile.write(s)
                outfile.close()                    
                

if __name__ == "__main__":
        main()