Update of /cvsroot/openrpg/openrpg1
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23728
Added Files:
rollback.py
Log Message:
Added code to support rolling back an update
--- NEW FILE: rollback.py ---
from orpg.orpg_wx import *
import traceback
import md5
import os
from string import *
from os.path import join, getsize
import orpg.dirpath
class myFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Update Rollback Tool", style=wx.FRAME_NO_TASKBAR | wx.STAY_ON_TOP | wx.DEFAULT_FRAME_STYLE)
self.SetBackgroundColour(wx.WHITE)
self.Freeze()
sizer = wx.BoxSizer(wx.VERTICAL)
self.filelist = wx.TextCtrl(self, wx.ID_ANY, size=(300,400), style=wx.TE_MULTILINE | wx.TE_READONLY)
self.rollbackBtn = wx.Button(self, wx.ID_ANY, "Roll Back")
self.Bind(wx.EVT_BUTTON, self.OnRollback, self.rollbackBtn)
sizer.Add(self.filelist, 1, wx.EXPAND)
sizer.Add(self.rollbackBtn, 0, wx.EXPAND)
self.SetSizer(sizer)
self.SetAutoLayout(True)
self.Fit()
self.files = []
self.CheckRollback()
self.Thaw()
def CheckRollback(self):
for root, dirs, files in os.walk(orpg.dirpath.dir_struct["home"]):
for name in files:
if name.find('.rollback') != -1:
wx.Yield()
filename = root + os.sep + name
self.files.append(filename)
self.filelist.Value = name.replace('.rollback', '') + "\n" + self.filelist.Value
def OnRollback(self, evt):
for file in self.files:
os.remove(file.replace('.rollback', ''))
os.rename(file, file.replace('.rollback', ''))
self.Close()
class BlankApp(wx.App):
def OnInit(self):
self.frame = myFrame()
self.frame.Show()
self.SetTopWindow(self.frame)
return True
if __name__ == "__main__":
app = BlankApp(0)
app.MainLoop()
|