def validateArguments( options, args ):
    if options.verbose:
        rootCMSYAAT = Logging.getLogger('CMSYAAT')
        rootCMSYAAT.setLevel( DEBUG ) 
    return True
#!/usr/bin/env python2.6

import os
import sys
import pwd
import json

from CMSYAAT.RequestManager import RequestManager
from CMSYAAT.Utilities import Logging
Logging.initLogging()
from CMSYAAT.Utilities import CommandLineHandler

# TODO: Get some common options parsing
commonArgs = ['endpoint']
parser = CommandLineHandler.getParser(commonArgs)

(options, args) = parser.parse_args()
CommandLineHandler.validateArguments(options, args)

reqmgr = RequestManager( endpoint = options.endpoint )
for request in args:
    requestDict = json.loads( open( request, 'r' ).read() )
    newRequest = reqmgr.newRequest()
    newRequest.setRequestDict( requestDict )
    reqmgr.submitRequest( newRequest )
    print newRequest.getWorkflowName()

sys.exit( 0 )
"""
Internal helpers to talk to the request manager
"""

import json
import httplib
import urllib
import datetime
from httplib import HTTPException
from CMSYAAT.Utilities.Proxy import requireProxy
from CMSYAAT.Utilities import Logging
logging = Logging.getLogger('CMSYAAT.ReqMgrImpl')

from WMCore.Services.Requests import Requests, JSONRequests

class RequestManagerImpl:
    """
    Not a public interface, this is gross for now
    """
    def __init__(self):
        self.headers = {'User-agent':                                        
                            "CMSYAAT 1.0 github.com/PerilousApricot/CMSYAAT"}
        pass

    def checkStatusOrComplain( self, wantedStatus, retval, status, reason ):
        if status != wantedStatus:
            raise RuntimeError, ("Got HTTP code %s, expected %s \n" +
                                 "reason: %s \n" +
                                 "data: %s \n") % (status, wantedStatus,
                                                    reason, retval )