comparison upmana/updatemana.py @ 74:fdcca00696ea ornery-dev

Continuing the code refinement.
author sirebral
date Fri, 21 Aug 2009 21:40:22 -0500
parents 8bc955faf819
children f518bc709fd1
comparison
equal deleted inserted replaced
73:7b752c9d0c28 74:fdcca00696ea
1 import wx 1 import wx
2 import manifest 2 import manifest
3 from orpg.orpgCore import *
4 #import tempfile
5 import shutil 3 import shutil
6 4 from orpg.orpgCore import component
7 from orpg.dirpath import dir_struct 5 from orpg.dirpath import dir_struct
8 from orpg.tools.orpg_log import logger 6 from orpg.tools.orpg_log import logger
9 from orpg.tools.decorators import debugging 7 from orpg.tools.decorators import debugging
10 from upmana.validate import validate 8 from upmana.validate import validate
9 from orpg.dirpath import dir_struct
11 from mercurial import ui, hg, commands, repo, revlog, cmdutil, util 10 from mercurial import ui, hg, commands, repo, revlog, cmdutil, util
12 11
13 12
14 class Updater(wx.Panel): 13 class Updater(wx.Panel):
15 @debugging 14 @debugging
20 self.ui = ui.ui() 19 self.ui = ui.ui()
21 self.repo = hg.repository(self.ui, ".") 20 self.repo = hg.repository(self.ui, ".")
22 self.c = self.repo.changectx('tip') 21 self.c = self.repo.changectx('tip')
23 self.manifest = manifest 22 self.manifest = manifest
24 self.parent = parent 23 self.parent = parent
25 #logger.debug("Enter updaterFrame") #Need to set logging level 24 logger.debug("Enter updaterFrame")
26 self.SetBackgroundColour(wx.WHITE) 25 self.SetBackgroundColour(wx.WHITE)
27 self.sizer = wx.GridBagSizer(hgap=1, vgap=1) 26 self.sizer = wx.GridBagSizer(hgap=1, vgap=1)
28 self.changelog = wx.TextCtrl(self, wx.ID_ANY, size=(325, -1), style=wx.TE_MULTILINE | wx.TE_READONLY) 27 self.changelog = wx.TextCtrl(self, wx.ID_ANY, size=(325, -1), style=wx.TE_MULTILINE | wx.TE_READONLY)
29 self.filelist = wx.TextCtrl(self, wx.ID_ANY, size=(275, 300), style=wx.TE_MULTILINE | wx.TE_READONLY) 28 self.filelist = wx.TextCtrl(self, wx.ID_ANY, size=(275, 300), style=wx.TE_MULTILINE | wx.TE_READONLY)
30 self.buttons = {} 29 self.buttons = {}
92 self.c = self.repo.changectx('tip') 91 self.c = self.repo.changectx('tip')
93 filename = 'ignorelist.txt' 92 filename = 'ignorelist.txt'
94 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename 93 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename
95 component.get('validate').config_file(filename, "default_ignorelist.txt") 94 component.get('validate').config_file(filename, "default_ignorelist.txt")
96 self.mana = self.LoadDoc() 95 self.mana = self.LoadDoc()
96 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep
97 for ignore in self.ignorelist: 97 for ignore in self.ignorelist:
98 shutil.copy(ignore, dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep +ignore.split('/')[len(ignore.split('/')) - 1]) 98 shutil.copy(ignore, temp + ignore.split('/')[len(ignore.split('/')) - 1])
99 hg.clean(self.repo, self.current) 99 hg.clean(self.repo, self.current)
100 for ignore in self.ignorelist: 100 for ignore in self.ignorelist:
101 shutil.copyfile(dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep + ignore.split('/')[len(ignore.split('/')) - 1], ignore) 101 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore)
102 os.remove(dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep + ignore.split('/')[len(ignore.split('/')) - 1]) 102 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1])
103 103
104 def LoadDoc(self): 104 def LoadDoc(self):
105 ignore = open(self.filename) 105 ignore = open(self.filename)
106 self.ignorelist = [] 106 self.ignorelist = []
107 for i in ignore: self.ignorelist.append(str(i [:len(i)-1])) 107 for i in ignore: self.ignorelist.append(str(i [:len(i)-1]))
368 self.manifestlist = self.c.manifest().keys() 368 self.manifestlist = self.c.manifest().keys()
369 for mana in self.manifestlist: mana = os.sep + 'orpg' + os.sep + mana 369 for mana in self.manifestlist: mana = os.sep + 'orpg' + os.sep + mana
370 self.manifestlist.sort() 370 self.manifestlist.sort()
371 self.SetBackgroundColour(wx.WHITE) 371 self.SetBackgroundColour(wx.WHITE)
372 self.sizer = wx.GridBagSizer(hgap=1, vgap=1) 372 self.sizer = wx.GridBagSizer(hgap=1, vgap=1)
373 self.manifestlog = wx.CheckListBox( self, -1, wx.DefaultPosition, wx.DefaultSize, self.manifestlist, 373 self.manifestlog = wx.CheckListBox( self, -1, wx.DefaultPosition, wx.DefaultSize,
374 wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES) 374 self.manifestlist, wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES)
375 filename = 'ignorelist.txt' 375 filename = 'ignorelist.txt'
376 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename 376 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename
377 component.get('validate').config_file(filename, "default_ignorelist.txt") 377 component.get('validate').config_file(filename, "default_ignorelist.txt")
378 self.mana = self.LoadDoc() 378 self.mana = self.LoadDoc()
379 self.manifestlog.Bind(wx.EVT_CHECKLISTBOX, self.GetChecked) 379 self.manifestlog.Bind(wx.EVT_CHECKLISTBOX, self.GetChecked)
443 self.branches = wx.Choice(branchcp, wx.ID_ANY, size=(125, 25), choices=self.package_list) 443 self.branches = wx.Choice(branchcp, wx.ID_ANY, size=(125, 25), choices=self.package_list)
444 self.branch_txt = wx.StaticText(branchcp, wx.ID_ANY, "Branches") 444 self.branch_txt = wx.StaticText(branchcp, wx.ID_ANY, "Branches")
445 445
446 revlistcp = wx.Panel(self) 446 revlistcp = wx.Panel(self)
447 self.revlistcp = wx.GridBagSizer(hgap=1, vgap=1) 447 self.revlistcp = wx.GridBagSizer(hgap=1, vgap=1)
448 self.revlist1 = wx.ListCtrl(revlistcp, -1, wx.DefaultPosition, size=(290, 240), style=wx.LC_REPORT|wx.SUNKEN_BORDER|wx.LC_HRULES) 448 self.revlist1 = wx.ListCtrl(revlistcp, -1, wx.DefaultPosition, size=(290, 240),
449 style=wx.LC_REPORT|wx.SUNKEN_BORDER|wx.LC_HRULES)
449 self.revlist1.InsertColumn(0, 'Revs', 145) 450 self.revlist1.InsertColumn(0, 'Revs', 145)
450 self.revlist1.InsertColumn(1, 'Revs', 145) 451 self.revlist1.InsertColumn(1, 'Revs', 145)
451 self.revlistcp.Add(self.revlist1, (0,0), span=(1,2), flag=wx.EXPAND) 452 self.revlistcp.Add(self.revlist1, (0,0), span=(1,2), flag=wx.EXPAND)
452 revlistcp.SetSizer(self.revlistcp) 453 revlistcp.SetSizer(self.revlistcp)
453 self.revlistcp.AddGrowableCol(0) 454 self.revlistcp.AddGrowableCol(0)
557 if self.main == True: self.Hide() 558 if self.main == True: self.Hide()
558 559
559 class updateApp(wx.App): 560 class updateApp(wx.App):
560 def OnInit(self): 561 def OnInit(self):
561 self.main = False 562 self.main = False
562 #logger.setLogToConsol(False) 563 logger._set_log_to_console(False)
563 #logger. ??? ("Updater Start", ORPG_NOTE) 564 logger.note(Updater Start", ORPG_NOTE)
564 self.manifest = manifest.ManifestChanges() 565 self.manifest = manifest.ManifestChanges()
565 component.add('validate', validate) 566 component.add('validate', validate)
566 self.updater = updaterFrame(self, "OpenRPG Update Manager 0.7.2 (open beta)", 567 self.updater = updaterFrame(self, "OpenRPG Update Manager 0.7.2 (open beta)",
567 component, self.manifest, self.main) 568 component, self.manifest, self.main)
568 if self.manifest.GetString("updatemana", "auto_update", "") == 'on' and self.main == False: 569 if self.manifest.GetString("updatemana", "auto_update", "") == 'on' and self.main == False:
587 if capture != '': 588 if capture != '':
588 commands.pull(self.ui, self.repo, capture, rev='', update=False, force=True) 589 commands.pull(self.ui, self.repo, capture, rev='', update=False, force=True)
589 filename = 'ignorelist.txt' 590 filename = 'ignorelist.txt'
590 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename 591 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename
591 component.get('validate').config_file(filename, "default_ignorelist.txt") 592 component.get('validate').config_file(filename, "default_ignorelist.txt")
592
593 self.mana = self.LoadDoc() 593 self.mana = self.LoadDoc()
594 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep
594 for ignore in self.ignorelist: 595 for ignore in self.ignorelist:
595 shutil.copy(ignore, dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep +ignore.split('/')[len(ignore.split('/')) - 1]) 596 shutil.copy(ignore, temp + ignore.split('/')[len(ignore.split('/')) - 1])
596 hg.clean(self.repo, self.current) 597 hg.clean(self.repo, self.current)
597 for ignore in self.ignorelist: 598 for ignore in self.ignorelist:
598 print ignore.split('/')[len(ignore.split('/')) - 1] 599 print ignore.split('/')[len(ignore.split('/')) - 1]
599 shutil.copyfile(dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep + ignore.split('/')[len(ignore.split('/')) - 1], ignore) 600 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore)
600 os.remove(dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep + ignore.split('/')[len(ignore.split('/')) - 1]) 601 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1])
601 else: print 'No default repository set, skipping Auto Update!' #Add better warning! 602 else: print 'No default repository set, skipping Auto Update!' #Add better warning!
602 603
603 def LoadDoc(self): 604 def LoadDoc(self):
604 ignore = open(self.filename) 605 ignore = open(self.filename)
605 self.ignorelist = [] 606 self.ignorelist = []