コード例 #1
0
ファイル: build_model.py プロジェクト: benjdezi/mongo-orm
    model_file = sys.argv[sys.argv.index('-m') + 1]
    class_path = sys.argv[sys.argv.index('-p') + 1]
    
    over_write = "--force" in sys.argv
    if over_write:
        print "WARNING: override enabled"
    
    # Build model from config
    start_time = time.time()
    
    model = ConfigParser().parse(model_file).get()
    print "Building model"
    
    filenames = dict()
    for cls_name in model.keys():
        file_name = build_model_class(class_path, cls_name, model.get(cls_name), over_write)
        filenames[file_name] = True
        
    # Clean old file
    print "Cleaning up"
    for filename in os.listdir(class_path):
        if filename.find("__") < 0 and not filenames.has_key(filename):
            os.remove(os.path.join(class_path, filename))
            print "Deleted %s" % filename
            
    # Ensure indexes
    Database.build_indexes(model)
        
    print "Built model in %.3f seconds" % (time.time() - start_time)