Sistemin kurulacağı disk bölümü seçimi artık daha ayrıntılı

This commit is contained in:
Furkan Kalkan 2016-09-25 17:53:49 +03:00 committed by GitHub
parent 4d9513a556
commit 97de2ac8f5
1 changed files with 13 additions and 11 deletions

View File

@ -23,12 +23,11 @@ def greetingDialog():
sys.exit() sys.exit()
def checkUsername(): def checkUsername():
#NAME_REGEX bkz. man 5 adduser.conf
pattern = re.compile("/^([A-Z][0-9]+)*$/")
#status ok ya da cancel gibi durumları çekiyor. #status ok ya da cancel gibi durumları çekiyor.
status,username = d.inputbox(text="Lütfen kullanıcı adı giriniz") status,username = d.inputbox(text="Lütfen kullanıcı adı giriniz")
#NAME_REGEX bkz. man 5 adduser.conf
if bool(re.compile(r'^[a-z][-a-z0-9]*$').match(username)): if bool(re.compile(r'^[a-z][-a-z0-9]*$').match(username)):
checkUserPassword(username) checkUserPassword(username)
else: else:
@ -59,16 +58,19 @@ def checkUserPassword(username):
def chooseDisk(): def chooseDisk():
choice = [] choice = []
#Burayı parted kütüphanesi ile yapmayı düşünüyorum. (Partition title, boyut ve dosya türünü de gösterecek) #Şimdilik Parted kütüphanesine gerek kalmadı, lsblk istediğimiz bütün değerleri alıyor.
diskParts = runShellCommand("cat /proc/partitions | awk '{print $NF}'|\ diskParts = runShellCommand("lsblk -ln -o NAME | awk '{print $1}'").split('\n')
sed s'/name//g;'/^\s*$/d''| sed '/[0-9]/!d'") diskSizes = runShellCommand("lsblk -ln -o SIZE | awk '{print $1}'").split('\n')
diskParts = diskParts.split('\n') diskFs = runShellCommand("lsblk -ln -o FSTYPE | awk '{print $1}'").split('\n')
for partition in diskParts: diskMajmin = runShellCommand("lsblk -ln -o MAJ:MIN | awk '{print $1}'").split('\n')
choice.append((partition,partition)) diskLabel = runShellCommand("lsblk -ln -o LABEL").split('\n') #Bunda awk yok çünkü arada boşluk olabilir.
for i in range(len(diskParts)-1):
if diskMajmin[i].split(":")[1] != "0": # partition olmayanları ele (sda/sdb seçince grub bozuluyor.)
choice.append((diskParts[i],diskLabel[i]+ "\t" +diskSizes[i]+"\t"+diskFs[i]))
status,selectedPart = d.menu(text="Sistemin kurulacağı diski seçiniz",choices=choice) status,selectedPart = d.menu(text="Sistemin kurulacağı diski seçiniz",choices=choice)
if status == "ok": if status == "ok":
f.write("{} seçildi !".format(selectedPart)) #burası da düzeltilcek şimdilik böyle commitliyorum :D f.write("{} seçildi !".format(selectedPart)) #burası da düzeltilcek şimdilik böyle commitliyorum :D
print("{} seçildi !".format(selectedPart)) print("{} seçildi !".format(selectedPart))
if __name__ == "__main__":
greetingDialog() greetingDialog()