75 lines
2.5 KiB
Python
75 lines
2.5 KiB
Python
# -*- coding: cp1252 -*-
|
|
import Tkinter, tkFileDialog, tkMessageBox, os
|
|
|
|
def getsize(directory):
|
|
total_size = 0
|
|
for dirpath, dirnames, filenames in os.walk(directory):
|
|
for f in filenames:
|
|
fp = os.path.join(dirpath, f)
|
|
total_size += os.path.getsize(fp)
|
|
return total_size
|
|
|
|
def calcChunkCount(chunksizeKB, total_size):
|
|
chunksizeB = chunksizeKB * 1024
|
|
chunkcount = total_size / chunksizeB
|
|
return chunkcount
|
|
|
|
def chunklabel(size, dirsize, parent):
|
|
chunklabel = Tkinter.Label(parent, text=str(size)+"KB: " + str(calcChunkCount(size, dirsize)))
|
|
return chunklabel
|
|
|
|
def choosedir():
|
|
path = tkFileDialog.askdirectory()
|
|
dirsize = getsize(path)
|
|
mainFrame = Tkinter.LabelFrame(window, text=path)
|
|
mainFrame.pack()
|
|
|
|
resultsFrame = Tkinter.Frame(mainFrame)
|
|
resultsFrame.pack()
|
|
|
|
infoFrame = Tkinter.LabelFrame(resultsFrame, text="Infos")
|
|
labPath = Tkinter.Label(infoFrame, text="Verzeichnis: " + path )
|
|
labSize = Tkinter.Label(infoFrame, text="Groesse: " + str(dirsize/1024) + "KB" )
|
|
labPath.pack()
|
|
labSize.pack()
|
|
infoFrame.pack(side="left")
|
|
|
|
chunksizeFrame = Tkinter.LabelFrame(resultsFrame, text="Chunk-Counts")
|
|
chunk64K = chunklabel(64, dirsize, chunksizeFrame)
|
|
chunk64K.pack()
|
|
chunk128K = chunklabel(128, dirsize, chunksizeFrame)
|
|
chunk128K.pack()
|
|
chunk256K = chunklabel(256, dirsize, chunksizeFrame)
|
|
chunk256K.pack()
|
|
chunk512K = chunklabel(512, dirsize, chunksizeFrame)
|
|
chunk512K.pack()
|
|
chunk1024K = chunklabel(1024, dirsize, chunksizeFrame)
|
|
chunk1024K.pack()
|
|
chunk2048K = chunklabel(2048, dirsize, chunksizeFrame)
|
|
chunk2048K.pack()
|
|
chunk4096K = chunklabel(4096, dirsize, chunksizeFrame)
|
|
chunk4096K.pack()
|
|
chunk8192K = chunklabel(8192, dirsize, chunksizeFrame)
|
|
chunk8192K.pack()
|
|
chunksizeFrame.pack(side="right")
|
|
|
|
buttonFrame2 = Tkinter.Frame(mainFrame)
|
|
closeBtn = Tkinter.Button(buttonFrame2, text="schliessen", command=mainFrame.destroy)
|
|
closeBtn.pack()
|
|
buttonFrame2.pack()
|
|
|
|
|
|
window = Tkinter.Tk()
|
|
window.title("Torrent Chunksize Calculator by BSOD")
|
|
window.minsize(width=400, height=200)
|
|
l = Tkinter.Label(window, text="dieses Tool soll euch beim Torrents erstellen helfen :)")
|
|
l.pack()
|
|
|
|
buttonFrame = Tkinter.Frame()
|
|
choosedirBtn = Tkinter.Button(buttonFrame, text="neues Verzeichnis für Berechnung wählen", command=choosedir)
|
|
choosedirBtn.pack(side="left")
|
|
quitBtn = Tkinter.Button(buttonFrame, text="Beenden", command=window.destroy)
|
|
quitBtn.pack(side="right")
|
|
buttonFrame.pack()
|
|
|
|
window.mainloop()
|