#!/usr/bin/python3

import sys
import getpass
from enum import Enum, unique
from subprocess import call


@unique
class State(Enum):
     NEW = 1
     SECOND = 2
     THIRD = 3
     GOOD = 4
     FAIL = 5

class Su:

    def __init__(self):
        self.state = State.NEW
        self.read = None
        self.password = 'ilovekde'

    def process(self):
        if self.state == State.NEW:
            self.read = getpass.getpass('Password: ')
            if self.read == self.password:
                self.state = State.GOOD
                call([sys.argv[3]])
                exit(0)
            else:
                self.state = State.FAIL
                print("su: Authentication failure")
                exit(1)

su = Su()
while True:
    su.process()
