def list_library(remaining): parser = argparse.ArgumentParser(prog=sys.argv[0] + ' ls') parser.add_argument('library', help='library file', nargs='?', default='.') args = parser.parse_args(remaining) try: detect.make_importer(args.library).list() except Exception as ex: print >> sys.stderr, str(ex) return 1 return 0
def import_footprint(remaining): parser = argparse.ArgumentParser(prog=sys.argv[0] + ' import') parser.add_argument('library', help='library file') parser.add_argument('footprint', help='footprint name') args = parser.parse_args(remaining) try: importer = detect.make_importer(args.library) except Exception as ex: print >> sys.stderr, str(ex) return 1 names = map(lambda (a,_): a, importer.list_names()) if not args.footprint in names: print >> sys.stderr, "Footprint %s not found in %s." % (args.footprint, args.library) return 1 interim = inter.import_footprint(importer, args.footprint) try: coffee = generatesimple.generate_coffee(interim) except Exception as ex: tb = traceback.format_exc() print >> sys.stderr, "Footprint %s\nerror: %s" % (args.footprint, str(ex) + '\n' + tb) return 1 meta = pycoffee.eval_coffee_meta(coffee) new_file_name = "%s.coffee" % (meta['id']) with open(new_file_name, 'w+') as f: f.write(coffee) print "%s/%s written to %s." % (args.library, args.footprint, new_file_name) return 0
def populate_model(self): self.root.removeRows(0, self.root.rowCount()) self.importer = detect.make_importer(self.filename) name_desc_list = self.importer.list_names() name_desc_list = sorted(name_desc_list, lambda (n1,d1),(n2,d2): cmp(n1,n2)) for (name, desc) in name_desc_list: name_item = QtGui.QStandardItem(name) name_item.setToolTip(desc) name_item.setEditable(False) self.root.appendRow([name_item])
def populate_model(self): self.root.removeRows(0, self.root.rowCount()) self.importer = detect.make_importer(self.filename) name_desc_list = self.importer.list_names() name_desc_list = sorted(name_desc_list, lambda (n1, d1), (n2, d2): cmp(n1, n2)) for (name, desc) in name_desc_list: name_item = QtGui.QStandardItem(name) name_item.setToolTip(desc) name_item.setEditable(False) self.root.appendRow([name_item])
def import_footprint(remaining): parser = argparse.ArgumentParser(prog=sys.argv[0] + ' import') parser.add_argument('library', help='library file') parser.add_argument('footprint', help='footprint name', nargs='?') args = parser.parse_args(remaining) try: importer = detect.make_importer(args.library) except Exception as ex: print >> sys.stderr, str(ex) return 1 names = map(lambda (a, _): a, importer.list_names()) if args.footprint is None: if len(names) == 1: args.footprint = names[0] else: print >> sys.stderr, "Please specify the footprint name as more then one were found in %s." % ( args.library) return 1 elif not args.footprint in names: print >> sys.stderr, "Footprint %s not found in %s." % (args.footprint, args.library) return 1 interim = inter.import_footprint(importer, args.footprint) try: coffee = generatesimple.generate_coffee(interim) except Exception as ex: tb = traceback.format_exc() print >> sys.stderr, "Footprint %s\nerror: %s" % (args.footprint, str(ex) + '\n' + tb) return 1 meta = pycoffee.eval_coffee_meta(coffee) new_file_name = "%s.coffee" % (meta['id']) with open(new_file_name, 'w+') as f: f.write(coffee) print "%s/%s written to %s." % (args.library, args.footprint, new_file_name) return 0