#!/usr/bin/env python2.7

import sys
import os
dev_path = os.path.abspath(
            os.path.join(os.path.dirname(__file__), '..', '..', '..'))

sys.path.insert(0, dev_path)

import logging
import argparse

import mr.config.log
import mr.config.handler
import mr.models.kv.workflow
import mr.handlers.sync

_logger = logging.getLogger(__name__)

description = "Create a step entity"

parser = argparse.ArgumentParser(description=description)

parser.add_argument(
    'workflow_name', 
    help='Workflow name')

parser.add_argument(
    'path', 
    help="Path of source-code and meta-files")

parser.add_argument(
    '-s', '--simulate_only', 
    action='store_true', 
    help="Just simulate")

parser.add_argument(
    '-f', '--force_update', 
    action='store_true', 
    help="Update even if unchanged")

args = parser.parse_args()

workflow = mr.models.kv.workflow.get(args.workflow_name)

root_path = args.path.rstrip('/')
simulate_only = args.simulate_only
force_update = args.force_update

hs = mr.handlers.sync.HandlerSync(
        workflow, 
        root_path, 
        simulate_only, 
        force_update)

hs.run()
