#!/usr/bin/env python
# -*- coding: utf-8
from __future__ import unicode_literals, absolute_import

import os
import sys

import django
from django.conf import settings
from django.test.utils import get_runner


def run_tests(*args, **kwargs):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'tests.settings'
    django.setup()
    TestRunner = get_runner(settings)
    test_runner = TestRunner(**kwargs)
    failures = test_runner.run_tests(args)
    try:
        os.remove('./celerybeat-schedule.bak')
    except Exception:
        pass

    try:
        os.remove('./celerybeat-schedule.dat')
    except Exception:
        pass

    try:
        os.remove('./celerybeat-schedule.dir')
    except Exception:
        pass
        
    sys.exit(bool(failures))


def process_kwargs(kwarg):
    if len(kwarg.split('=')) == 2:
        return (kwarg.split('=')[0], kwarg.split('=')[1])

    else:
        return (kwarg, True)


if __name__ == '__main__':

    args = [a for a in sys.argv[1:] if not a.startswith('--')]
    kwargs = dict(
        process_kwargs(a[2:])
        for a in sys.argv[1:] if a.startswith('--')
    )

    run_tests(*args, **kwargs)