from subprocess import PIPE, run

import main


class DistCommand:
    def __init__(self, *args):
        self.dist(*args)

    def dist(
        self, addr, authed, data, obj, spl, success, failure, info, incUsage, length
    ):
        if authed:
            if main.config["Dist"]["Enabled"]:
                rtrn = run([main.config["Dist"]["File"]], shell=True, stdout=PIPE)
                if main.config["Dist"]["SendOutput"]:
                    info("Exit code: %s -- Stdout: %s" % (rtrn.returncode, rtrn.stdout))
                else:
                    info("Exit code: %s" % rtrn.returncode)
            else:
                failure("The dist command is not enabled")
                return
        else:
            incUsage(None)
