#!/usr/bin/env python

"""linkpred main script"""

import os
import sys

# LIBDIR trick start (marker for removal on platforms that don't need it)
# This trick is inspired by Nikola
# <https://github.com/getnikola/nikola/blob/master/scripts/nikola>.
# It allows running from a direct checkout as well as a 'properly' installed
# package.
libdir = '@LIBDIR@'

# Two cases:
if libdir != '@' 'LIBDIR' '@':
    # Changed by our distutils hook, then use the given path.

    if not os.path.isabs(libdir):
        libdir = os.path.join(os.path.dirname(
            os.path.realpath(__file__)), libdir)
        libdir = os.path.abspath(libdir)
else:
    # Unchanged, running from checkout,
    # use the parent directory, the linkpred package ought be there.
    libdir = os.path.join(os.path.dirname(__file__), "..")

sys.path.insert(0, libdir)

if "PYTHONPATH" not in os.environ:
    os.environ["PYTHONPATH"] = libdir
else:
    os.environ["PYTHONPATH"] = os.environ["PYTHONPATH"] + ":" + libdir

# LIBDIR trick end (marker for removal on platforms that don't need it)

from linkpred.cli import get_config, setup_logger
from linkpred.linkpred import LinkPred


def main():
    config = get_config()
    setup_logger()
    linkpred = LinkPred(config)
    linkpred.preprocess()
    linkpred.predict_all()
    linkpred.setup_output()
    linkpred.process_predictions()


if __name__ == "__main__":
    main()
