#!/usr/bin/env python

import os
import sys

from gpaw.cli import main
from gpaw import is_parallel_environment


n = None
for i, arg in enumerate(sys.argv[1:], 1):
    if arg in ['-P', '--parallel']:
        sys.argv.pop(i)
        n = int(sys.argv.pop(i))
        break
    if arg.startswith('-P'):
        sys.argv.pop(i)
        n = int(arg[2:])
        break
    if arg.startswith('--parallel='):
        sys.argv.pop(i)
        n = int(arg[11:])
        break
        
if n != 1 and (is_parallel_environment() or n is not None):
    # Start again using gpaw-python in parallel:
    args = ['mpiexec', 'gpaw-python'] + sys.argv + ['--parallel=1']
    if n is not None:
        args[1:1] = ['-np', str(n)]
    os.execvp('mpiexec', args)

main()
