From 82e3ccf2765f4869772917e86d0fcde6646d407b Mon Sep 17 00:00:00 2001 From: Furkan Kalkan Date: Wed, 28 Sep 2016 16:47:31 +0300 Subject: [PATCH] =?UTF-8?q?Disk=20partition=20&=20format=20ve=20takas=20al?= =?UTF-8?q?an=C4=B1=20olu=C5=9Fturma=20eklendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/miliskur-test.py | 59 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 11 deletions(-) diff --git a/bin/miliskur-test.py b/bin/miliskur-test.py index f0d92197f..af2b116da 100644 --- a/bin/miliskur-test.py +++ b/bin/miliskur-test.py @@ -1,3 +1,5 @@ +#!/usr/bin/python3 + # Milis Linux Konsol / Grafik Kurulum Betiği # Not: Bu betik henüz tamamlanmış değil. # Commit tarihi: 25.09.2016 @@ -5,7 +7,7 @@ from dialog import Dialog -import re,sys,subprocess +import os,sys,re,subprocess,time d = Dialog(dialog="dialog") f = open("/tmp/log.txt","w") @@ -50,27 +52,62 @@ def checkUserPassword(username): checkUsername() else: chooseDisk() - - else: status=d.msgbox(text="Şifreniz boş olamaz") checkUserPassword(username) def chooseDisk(): - choice = [] + diskChoice = [] + diskNames = runShellCommand("lsblk -nS -o NAME").split('\n') + diskModels = runShellCommand("lsblk -nS -o MODEL").split('\n') + for i in range(len(diskNames)): + diskChoice.append((diskNames[i],diskModels[i])) + status,selectedDisk = d.menu(text="Lütfen bölümleme yapmak istediğiniz diski seçiniz:",choices=diskChoice) + os.system("cfdisk /dev/" + selectedDisk) + choosePart() + +def choosePart(): + partChoice = [] #Ş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. + partSizes = runShellCommand("lsblk -ln -o SIZE | awk '{print $1}'").split('\n') + partFs = runShellCommand("lsblk -ln -o FSTYPE | awk '{print $1}'").split('\n') + partMajmin = runShellCommand("lsblk -ln -o MAJ:MIN | awk '{print $1}'").split('\n') + partLabel = 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 partMajmin[i].split(":")[1] != "0": # partition olmayanları ele (sda/sdb seçince grub bozuluyor.) + partChoice.append((diskParts[i],partLabel[i]+ "\t" +partSizes[i]+"\t"+partFs[i])) + status,selectedPart = d.menu(text="Sistemin kurulacağı diski seçiniz",choices=partChoice) if status == "ok": f.write("{} seçildi !".format(selectedPart)) #burası da düzeltilcek şimdilik böyle commitliyorum :D print("{} seçildi !".format(selectedPart)) + formatDialog(selectedPart) +def formatDialog(part): + status = d.yesno(title="Uyarı !", + text="/dev/{} bölümü ext4 türünde formatlanacak. Emin misiniz ?".format(part)) + if status == "ok": + d.infobox(text="Formatlanıyor... Lütfen bekleyiniz...") + time.sleep(5) + chooseSwap() + #formatPart(part) + else: + choosePart() +def chooseSwap(): + swapChoice = [] + #Ş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') + partSizes = runShellCommand("lsblk -ln -o SIZE | awk '{print $1}'").split('\n') + partFs = runShellCommand("lsblk -ln -o FSTYPE | awk '{print $1}'").split('\n') + partMajmin = runShellCommand("lsblk -ln -o MAJ:MIN | awk '{print $1}'").split('\n') + partLabel = runShellCommand("lsblk -ln -o LABEL").split('\n') #Bunda awk yok çünkü arada boşluk olabilir. + for i in range(len(diskParts)-1): + if partMajmin[i].split(":")[1] != "0": # partition olmayanları ele (sda/sdb seçince grub bozuluyor.) + swapChoice.append((diskParts[i],partLabel[i]+ "\t" +partSizes[i]+"\t"+partFs[i])) + status,selectedPart = d.menu(text="Takas alanının yer alacağı disk bölümünü seçiniz",choices=swapChoice) + if status == "ok": + f.write("{} seçildi !".format(selectedPart)) #burası da düzeltilcek şimdilik böyle commitliyorum :D + print("{} seçildi !".format(selectedPart)) + #setSwap(selectedPart) if __name__ == "__main__": greetingDialog()