| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import getopt, sys, os, re
-
- def usage():
- print """
- usage:
- schemmatch.py -f <fritzing parts folder>
-
- looks for all svgs in fritzing parts/whatever and tries to find a matching obsolete/0.3.schem. file
- ignore the ones that start with sparkfun-
- """
-
-
- def main():
- try:
- opts, args = getopt.getopt(sys.argv[1:], "f:", ["fritzing"])
- except getopt.GetoptError, err:
- # print help information and exit:
- print str(err) # will print something like "option -a not recognized"
- usage()
- return
-
- fritzingDir = None
-
- for o, a in opts:
- #print o
- #print a
- if o in ("-f", "--fritzing"):
- fritzingDir = a
- else:
- print "unhandled option", o
- usage()
- return
-
- if not fritzingDir:
- usage()
- return
-
- for root, dirs, files in os.walk(fritzingDir, topdown=False):
- for name in files:
- if not name.endswith("svg"):
- continue
- if name.startswith("sparkfun-"):
- continue
-
- fullname = os.path.join(root, name)
- pathlist = fullname.split(os.sep)
- if pathlist[-4] != "svg":
- continue
-
- if pathlist[-3] == "obsolete":
- continue
-
- if pathlist[-2] != "schematic":
- continue
-
- pathlist[-3] = "obsolete"
- pathlist[-1] = "0.3.schem." + pathlist[-1]
-
- try:
- with open(os.sep.join(pathlist)):
- pass
- except IOError:
- print "no 0.3.schem for", fullname
-
- if __name__ == "__main__":
- main()
|