#!/usr/bin/python
"""
CS 451 Data-Intensive Distributed Computing:
Assignment 6 public check script for the Linux Student CS environment

Sample usage:
$ ./check_assignment6_public_linux.py bigdatateach
"""

import sys
import os
from subprocess import call
import re

def check_a6(u):
    """Run Assignment 6 in the Linux Student CS environment"""
    call(["mvn", "clean", "package"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q1",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-TXT", "--date", "1996-01-01", "--text"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q1",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-PARQUET", "--date", "1996-01-01", "--parquet"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q2",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-TXT", "--date", "1996-01-01", "--text"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q2",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-PARQUET", "--date", "1996-01-01", "--parquet"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q3",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-TXT", "--date", "1996-01-01", "--text"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q3",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-PARQUET", "--date", "1996-01-01", "--parquet"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q4",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-TXT", "--date", "1996-01-01", "--text"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q4",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-PARQUET", "--date", "1996-01-01", "--parquet"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q5",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-TXT", "--text"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q5",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-PARQUET", "--parquet"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q6",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-TXT", "--date", "1996-01-01", "--text"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q6",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-PARQUET", "--date", "1996-01-01", "--parquet"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q7",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-TXT", "--date", "1996-01-01", "--text"])

    call(["spark-submit", "--class", "ca.uwaterloo.cs451.a6.Q7",
          "target/assignments-1.0.jar", "--input", "TPC-H-0.1-PARQUET", "--date", "1996-01-01", "--parquet"])

if __name__ == "__main__":
  try:
    if len(sys.argv) < 2:
        print("usage: "+sys.argv[0]+" [github-username]")
        exit(1)
    check_a6(sys.argv[1])
  except Exception as e:
    print(e)
