#!/usr/bin/python3

import os
import subprocess

if __name__ == '__main__':
    print('running {}'.format(os.path.basename(__file__)))

    print('Basic setup tests')
    print('-----------------')

    import sys
    import requests
    from packaging.version import parse
    from distutils.version import LooseVersion
    from distutils.spawn import find_executable

    # print python version for debugging purposes
    print('Python version: {}.{}'.format(
        sys.version_info[0], sys.version_info[1]))
    # 0. check if AVC lib is installed
    try:
        import adversarial_vision_challenge
    except ImportError:
        raise ImportError('Please make sure the "adversarial_vision_challenge"'
                          ' package is installed for python3.')

    import sys
    import requests
    from packaging.version import parse
    from distutils.version import LooseVersion
    from distutils.spawn import find_executable

    # print python version for debugging purposes
    print('Python version: {}.{}'.format(
        sys.version_info[0], sys.version_info[1]))
    
    # 1. check if docker is available and running
    try:
        FNULL = open(os.devnull, 'w')
        subprocess.check_call('docker ps', shell=True,
                              stdout=FNULL, close_fds=True)
    except subprocess.CalledProcessError:
        print('Error: Docker is installed on your system but seems not to be running.')
        raise
    except OSError:
        print('Error: Docker is not installed on your system!')
        raise

    print('Docker installed & running: \u2713')

    # 2. TODO: other requirements check...
