示例#1
0
文件: cli.py 项目: agschult/madparts
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
示例#2
0
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
示例#3
0
文件: cli.py 项目: agschult/madparts
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
示例#4
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])
示例#5
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])
示例#6
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', 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