# -*- 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()