Warning, /frameworks/kdesu/autotests/sudo is written in an unsupported language. File is not indexed.
0001 #!/usr/bin/env python3
0002
0003 import sys
0004 import getpass
0005 from enum import Enum, unique
0006 from subprocess import call
0007
0008
0009 @unique
0010 class State(Enum):
0011 NEW = 1
0012 SECOND = 2
0013 THIRD = 3
0014 GOOD = 4
0015 FAIL = 5
0016
0017 class Sudo:
0018
0019 def __init__(self):
0020 self.state = State.NEW
0021 self.read = None
0022 self.password = 'ilovekde'
0023
0024 def process(self):
0025 if self.state == State.NEW:
0026 self.read = getpass.getpass('[sudo] password for jr: ')
0027 if self.read == self.password:
0028 self.state = State.GOOD
0029 call([sys.argv[3]])
0030 exit(0)
0031 else:
0032 self.state = State.SECOND
0033 elif self.state == State.SECOND:
0034 print('Sorry, try again.')
0035 self.read = getpass.getpass('[sudo] password for jr: ')
0036 if self.read == self.password:
0037 self.state = State.GOOD
0038 exit(0)
0039 else:
0040 self.state = State.THIRD
0041 elif self.state == State.THIRD:
0042 print('Sorry, try again.')
0043 self.read = getpass.getpass('[sudo] password for jr: ')
0044 if self.read == self.password:
0045 self.state = State.GOOD
0046 exit(0)
0047 else:
0048 print("sudo: 3 incorrect password attempts")
0049 self.state = State.FAIL
0050 exit(1)
0051
0052 sudo = Sudo()
0053 while True:
0054 sudo.process()