#!/usr/bin/env python

def exec_statement(stat):
    """Executes a Python statement in an externally spawned interpreter, and
    returns anything that was emitted in the standard output as a single string.
    """

    import os, tempfile, sys

    fnm = tempfile.mktemp()
    exe = sys.executable

    # Using "echo on" as a workaround for a bug in NT4 shell
    if os.name == "nt":
        cmd = '"echo on && "%s" -c "%s" > "%s""' % (exe, stat, fnm)
    else:
        cmd = '"%s" -c "%s" > "%s"' % (exe, stat, fnm)
    os.system(cmd)

    txt = open(fnm, 'r').read()[:-1]
    os.remove(fnm)
    return txt

def qt4_plugins_dir():
    return exec_statement("from PyQt4.QtCore import QLibraryInfo; print QLibraryInfo.location(QLibraryInfo.PluginsPath)")
def mpl_data_dir():
    return exec_statement("import matplotlib; print matplotlib._get_data_path()")

