#!/usr/bin/env python
import argparse

import meshroom
meshroom.setupEnvironment()

import meshroom.core.graph

parser = argparse.ArgumentParser(description='Submit a Graph of processes on renderfarm.')
parser.add_argument('meshroomFile', metavar='MESHROOMFILE.mg', type=str,
                    help='Filepath to a graph file.')
parser.add_argument('--toNode', metavar='NODE_NAME', type=str,
                    help='Process the node with its dependencies.')
parser.add_argument('--submitter',
                    type=str,
                    default='SimpleFarm',
                    help='Execute job with a specific submitter.')
parser.add_argument("--submitLabel",
                    type=str,
                    default='[Meshroom] {projectName}',
                    help="Label of a node in the submitter")

args = parser.parse_args()

meshroom.core.initPlugins()
meshroom.core.initNodes()
meshroom.core.initSubmitters()

meshroom.core.graph.submit(args.meshroomFile, args.submitter, toNode=args.toNode, submitLabel=args.submitLabel)
