#!/usr/bin/env python3

import os
import os.path
import shutil
import subprocess
import sys

#Version  4/24/98
#Synopsis: patser.py infile matfile outfile

""" ensure that there are enough command line arguments to parse """
if len(sys.argv) < 4:
    print("Usage: patser.py  INFILE  MATFILE  OUTFILE")
    exit();

#Convert arguments to variables
INFILE       = sys.argv[1]
MATFILE      = sys.argv[2]
OUTFILE      = sys.argv[3]

# Remember where we started
STARTDIR = os.getcwd()

# Make a temporary directory to run the program in
TEMPDIR = 'PATSER.' + os.getpid()

if not os.path.exists(TEMPDIR):
    os.makedirs(TEMPDIR, mode)
    shutil.copyfile(INFILE, os.path.join(TEMPDIR, INFILE))
    shutil.copyfile(INFILE + '.alphabet', os.path.join(TEMPDIR, INFILE + '.alphabet'))
    shutil.copyfile(INFILE + '.mat', os.path.join(TEMPDIR, INFILE + '.mat'))
    os.chdir(TEMPDIR)

    #-------- run patser  -----------

    infile = open(INFILE, 'r')
    outfile = open(OUTFILE, 'w')
    subprocess.call(['patser', '-a', INFILE + '.alphabet', '-m', MATFILE], stdin=infile, stdout=outfile)

    shutil.copyfile(OUTFILE, os.path.join(STARTDIR, OUTFILE))
    os.chdir(STARTDIR)

    shutil.rmtree(TEMPDIR)
