import sys
from dreamtools.core.challenge import Challenge


class D8C3(Challenge):
    """A class dedicated to D8C3 challenge


    ::

        from dreamtools import D8C3
        s = D8C3()
        filename = s.download_template() 
        s.score(filename) 

    Data and templates are downloaded from Synapse. You must have a login.

    """
    def __init__(self, verose=True, download=True, **kargs):
        """.. rubric:: constructor

        """
        super(D8C3, self).__init__('D8C3', verbose, download, **kargs)
        self.sub_challenges = []

        msg = "Note that this challenge is not yet part of DREAMTools.\n"
        if '--info' in sys.argv or '--onweb' in sys.argv:
            print(msg)
            return
        else:
            msg += "Please, see https://www.synapse.org/#!Synapse:syn1876068/wiki/232963"
            raise NotImplementedError(msg)

    def score(self, prediction_file):
        raise NotImplementedError

    def download_template(self):
        # should return full path to a template file
        pass
