#!/usr/bin/python

import os
import sys
import shutil

LOCAL_LOG_PATH = os.path.join(os.getcwd(), "logs")

if (__name__ ==  "__main__"):
    if (not os.path.exists(LOCAL_LOG_PATH)):
    os.makedirs(LOCAL_LOG_PATH)

    print("Building native part of OpenCV Manager...")
    HomeDir = os.getcwd()
    os.chdir(os.path.join(HomeDir, "engine"))
    shutil.rmtree(os.path.join(HomeDir, "engine", "libs"), ignore_errors=True)
    shutil.rmtree(os.path.join(HomeDir, "engine", "obj"), ignore_errors=True)
    BuildCommand = "ndk-build V=1 > \"%s\" 2>&1" % os.path.join(LOCAL_LOG_PATH, "build.log")
    #print(BuildCommand)
    res = os.system(BuildCommand)
    if (0 == res):
    print("Build\t[OK]")
    else:
    print("Build\t[FAILED]")
    sys.exit(-1)

    os.chdir(HomeDir)
    ConfFile = open("device.conf", "rt")

    for s in ConfFile.readlines():
    keys = s.split(";")
    if (len(keys) < 2):
        print("Error: invalid config line: \"%s\"" % s)
        continue
    Arch = keys[0]
    Name = keys[1]
    print("testing \"%s\" arch" % Arch)
    print("Pushing to device \"%s\"" % Name)
    PushCommand = "%s \"%s\" \"%s\" 2>&1" % (os.path.join(HomeDir, "push_native.py"), Arch, Name)
    os.system(PushCommand)
    print("Testing on device \"%s\"" % Name)
    TestCommand = "%s \"%s\" \"%s\" 2>&1" % (os.path.join(HomeDir, "test_native.py"), Arch, Name)
    os.system(TestCommand)