Disk partition & format ve takas alanı oluşturma eklendi

This commit is contained in:
Furkan Kalkan 2016-09-28 16:47:31 +03:00 committed by GitHub
parent d4affbcbf9
commit 82e3ccf276
1 changed files with 48 additions and 11 deletions

View File

@ -1,3 +1,5 @@
#!/usr/bin/python3
# Milis Linux Konsol / Grafik Kurulum Betiği # Milis Linux Konsol / Grafik Kurulum Betiği
# Not: Bu betik henüz tamamlanmış değil. # Not: Bu betik henüz tamamlanmış değil.
# Commit tarihi: 25.09.2016 # Commit tarihi: 25.09.2016
@ -5,7 +7,7 @@
from dialog import Dialog from dialog import Dialog
import re,sys,subprocess import os,sys,re,subprocess,time
d = Dialog(dialog="dialog") d = Dialog(dialog="dialog")
f = open("/tmp/log.txt","w") f = open("/tmp/log.txt","w")
@ -50,27 +52,62 @@ def checkUserPassword(username):
checkUsername() checkUsername()
else: else:
chooseDisk() chooseDisk()
else: else:
status=d.msgbox(text="Şifreniz boş olamaz") status=d.msgbox(text="Şifreniz boş olamaz")
checkUserPassword(username) checkUserPassword(username)
def chooseDisk(): 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. #Ş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') diskParts = runShellCommand("lsblk -ln -o NAME | awk '{print $1}'").split('\n')
diskSizes = runShellCommand("lsblk -ln -o SIZE | awk '{print $1}'").split('\n') partSizes = runShellCommand("lsblk -ln -o SIZE | awk '{print $1}'").split('\n')
diskFs = runShellCommand("lsblk -ln -o FSTYPE | awk '{print $1}'").split('\n') partFs = runShellCommand("lsblk -ln -o FSTYPE | awk '{print $1}'").split('\n')
diskMajmin = runShellCommand("lsblk -ln -o MAJ:MIN | awk '{print $1}'").split('\n') partMajmin = 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. partLabel = runShellCommand("lsblk -ln -o LABEL").split('\n') #Bunda awk yok çünkü arada boşluk olabilir.
for i in range(len(diskParts)-1): for i in range(len(diskParts)-1):
if diskMajmin[i].split(":")[1] != "0": # partition olmayanları ele (sda/sdb seçince grub bozuluyor.) if partMajmin[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])) partChoice.append((diskParts[i],partLabel[i]+ "\t" +partSizes[i]+"\t"+partFs[i]))
status,selectedPart = d.menu(text="Sistemin kurulacağı diski seçiniz",choices=choice) status,selectedPart = d.menu(text="Sistemin kurulacağı diski seçiniz",choices=partChoice)
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))
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__": if __name__ == "__main__":
greetingDialog() greetingDialog()