#!/usr/bin/python #James Parks #import sys import os import os.path import wx from stat import * class jpoCleanFilesFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "jpoCleanFiles")#, size=(215, 115)) panel = wx.Panel(self, -1) #sizer = wx.BoxSizer(wx.VERTICAL) sizer = wx.FlexGridSizer(rows=4, cols=3) self.dirStatText = wx.StaticText(panel, -1, "Directory: ")#, pos=(10, 10)) self.directoryText = wx.TextCtrl(panel, -1, os.getcwd())#, pos=(100,10)) self.dirButton = wx.Button(panel, -1, label="...", size=(25,20))#, pos=(205,10)) self.Bind(wx.EVT_BUTTON, self.getDirectory, self.dirButton) self.fileExtStatText = wx.StaticText(panel, -1, "File Extension: ")#, pos=(10, 35)) self.fileExtText = wx.TextCtrl(panel, -1, ".map")#, pos=(100, 35)) self.cleanButton = wx.Button(panel, -1, label="Clean Directory")#, pos=(10, 90)) self.Bind(wx.EVT_BUTTON, self.collectAndExecute, self.cleanButton) #Sizer-ific sizer.Add(self.dirStatText) sizer.Add(self.directoryText) sizer.Add(self.dirButton) sizer.Add(self.fileExtStatText) sizer.Add(self.fileExtText) sizer.Add(wx.StaticText(panel, -1, "")) sizer.Add(self.cleanButton) panel.SetSizer(sizer) sizer.Fit(self) def getDirectory(self, event): self.dirDialog = wx.DirDialog(None, "Choose a Directory", defaultPath="\\\\Nitro\\vol1\\dev\\", style=wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON) if self.dirDialog.ShowModal() == wx.ID_OK: directory = self.dirDialog.GetPath() self.directoryText.SetValue(directory) def collectAndExecute(self, event): directory = self.directoryText.GetValue() fileExt = self.fileExtText.GetValue() if fileExt != ".psd" or fileExt != ".PSD": os.path.walk(directory, self.jpoCleanDotMap, fileExt) if fileExt == ".psd": print "Remove PSDs by hand" if len(badFiles): print "===== BAD FILES: =====" for thisFile in badFiles: print thisFile + "\n" def jpoCleanDotMap(self, data, dirname, filesindir): for texture in filesindir: oldName = dirname + os.sep + texture filename, ext = os.path.splitext(texture) parent, current = os.path.split(dirname) if os.path.exists(oldName) == True: if ext == data: try: os.remove(oldName) print "removed: " + oldName + "\n" except WindowsError: badFiles.append(oldName) if __name__ == '__main__': badFiles = [] app = wx.PySimpleApp() frame = jpoCleanFilesFrame() frame.Show(True) #frame.SetClientSize(frame.panel.GetSize()) app.MainLoop() # print "===== BAD FILES: =====" # for thisFile in badFiles: # print thisFile + "\n" # time.sleep(15)