From 97de2ac8f5114bb369c3e01058e7d1fcb306ccbb Mon Sep 17 00:00:00 2001 From: Furkan Kalkan Date: Sun, 25 Sep 2016 17:53:49 +0300 Subject: [PATCH] =?UTF-8?q?Sistemin=20kurulaca=C4=9F=C4=B1=20disk=20b?= =?UTF-8?q?=C3=B6l=C3=BCm=C3=BC=20se=C3=A7imi=20art=C4=B1k=20daha=20ayr?= =?UTF-8?q?=C4=B1nt=C4=B1l=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/miliskur-test.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/bin/miliskur-test.py b/bin/miliskur-test.py index 8362f4505..f0d92197f 100644 --- a/bin/miliskur-test.py +++ b/bin/miliskur-test.py @@ -23,12 +23,11 @@ def greetingDialog(): sys.exit() 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,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)): checkUserPassword(username) else: @@ -59,16 +58,19 @@ def checkUserPassword(username): def chooseDisk(): choice = [] - #Burayı parted kütüphanesi ile yapmayı düşünüyorum. (Partition title, boyut ve dosya türünü de gösterecek) - diskParts = runShellCommand("cat /proc/partitions | awk '{print $NF}'|\ - sed s'/name//g;'/^\s*$/d''| sed '/[0-9]/!d'") - diskParts = diskParts.split('\n') - for partition in diskParts: - choice.append((partition,partition)) + #Şimdilik Parted kütüphanesine gerek kalmadı, lsblk istediğimiz bütün değerleri alıyor. + diskParts = runShellCommand("lsblk -ln -o NAME | awk '{print $1}'").split('\n') + diskSizes = runShellCommand("lsblk -ln -o SIZE | awk '{print $1}'").split('\n') + diskFs = runShellCommand("lsblk -ln -o FSTYPE | awk '{print $1}'").split('\n') + diskMajmin = runShellCommand("lsblk -ln -o MAJ:MIN | awk '{print $1}'").split('\n') + 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) if status == "ok": f.write("{} seçildi !".format(selectedPart)) #burası da düzeltilcek şimdilik böyle commitliyorum :D print("{} seçildi !".format(selectedPart)) - -greetingDialog() +if __name__ == "__main__": + greetingDialog()