Source code for uw.local.print_.bin.submit_test_requisition

"""Test job submission program entry point.

Python process to submit a print job from a dev instance to the production
instance and thereby send it to NMS for real.
"""

import argparse
import sys

from uw.sql.wrap import open_psycopg2_db_service_cursor

from ..db.nms_requisition import nms_requisition

[docs]def main (): parser = argparse.ArgumentParser () parser.add_argument ('--service', required=True, metavar='service', help='The Postgres service name for the dev instance') parser.add_argument ('--job', required=True, type=int, metavar='job_id', help='The job_id of the job to submit to production') args = parser.parse_args () prod_cursor = open_psycopg2_db_service_cursor () dev_cursor = open_psycopg2_db_service_cursor (service=args.service) dev_job = dev_cursor.execute_required_tuple ("select * from nms_requisition where job_id = %(job_id)s", job_id=args.job) if dev_job.job_cancelled is not None: sys.exit ('Job is already cancelled.') if dev_job.job_submitted is not None: sys.exit ('Job is already submitted.') if dev_job.job_ready is None: sys.exit ('Job is not ready.') values = dev_cursor.execute_tuples ("select * from nms_requisition_form_value where job_id = %(job_id)s", job_id=dev_job.job_id) files = dev_cursor.execute_tuples ("select * from nms_requisition_file where job_id = %(job_id)s", job_id=dev_job.job_id) dev_cursor.callproc_none ("nms_requisition_submitted", dev_job.job_id) dev_cursor.connection.commit () prod_job = nms_requisition (prod_cursor) print('New job %d created.' % prod_job.job_id) for value in values: if value.field_code == 'jobtitle': field_value = 'Test - %s - DO NOT PRINT' % value.field_value else: field_value = value.field_value prod_job.set_value (value.field_code, field_value) for file in files: prod_job.attach_file (file.file_code, file.file_contents) prod_cursor.connection.commit ()