annotate upmana/updatemana.py @ 80:51bb772c3609 ornery-dev

Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
author sirebral
date Mon, 24 Aug 2009 00:56:09 -0500
parents 57887ab0df51
children 65c212e9a5b4
rev   line source
75
f518bc709fd1 Continuing refinement and clean-up. Nearly done.
sirebral
parents: 74
diff changeset
1 import wx
f518bc709fd1 Continuing refinement and clean-up. Nearly done.
sirebral
parents: 74
diff changeset
2 import sys
f518bc709fd1 Continuing refinement and clean-up. Nearly done.
sirebral
parents: 74
diff changeset
3 import os #just .sep maybe
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
4 import manifest
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
5 import shutil
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
6
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
7 from orpg.orpgCore import component
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
8 from orpg.dirpath import dir_struct
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
9 from orpg.tools.orpg_log import logger, crash
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
10 from orpg.tools.decorators import debugging
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
11 from upmana.validate import validate
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
12 from orpg.dirpath import dir_struct
61
f3d8101211c4 Traipse Dev 'OpenRPG' {090813-00}
sirebral
parents: 60
diff changeset
13 from mercurial import ui, hg, commands, repo, revlog, cmdutil, util
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
14
46
599f727e3833 Getting ready to test!! Main functions seem to be working.
sirebral
parents: 45
diff changeset
15
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
16 class Updater(wx.Panel):
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
17 @debugging
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
18 def __init__(self, parent, component, manifest):
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
19 wx.Panel.__init__(self, parent)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
20
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
21 ### Update Manager
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
22 self.ui = ui.ui()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
23 self.repo = hg.repository(self.ui, ".")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
24 self.c = self.repo.changectx('tip')
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
25 self.manifest = manifest
75
f518bc709fd1 Continuing refinement and clean-up. Nearly done.
sirebral
parents: 74
diff changeset
26 self.parent = parent
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
27 self.SetBackgroundColour(wx.WHITE)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
28 self.sizer = wx.GridBagSizer(hgap=1, vgap=1)
61
f3d8101211c4 Traipse Dev 'OpenRPG' {090813-00}
sirebral
parents: 60
diff changeset
29 self.changelog = wx.TextCtrl(self, wx.ID_ANY, size=(325, -1), style=wx.TE_MULTILINE | wx.TE_READONLY)
f3d8101211c4 Traipse Dev 'OpenRPG' {090813-00}
sirebral
parents: 60
diff changeset
30 self.filelist = wx.TextCtrl(self, wx.ID_ANY, size=(275, 300), style=wx.TE_MULTILINE | wx.TE_READONLY)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
31 self.buttons = {}
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
32 self.buttons['progress_bar'] = wx.Gauge(self, wx.ID_ANY, 100)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
33 self.buttons['auto_text'] = wx.StaticText(self, wx.ID_ANY, "Auto Update")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
34 self.buttons['auto_check'] = wx.CheckBox(self, wx.ID_ANY)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
35 self.buttons['no_text'] = wx.StaticText(self, wx.ID_ANY, "No Update")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
36 self.buttons['no_check'] = wx.CheckBox(self, wx.ID_ANY)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
37 self.buttons['advanced'] = wx.Button(self, wx.ID_ANY, "Package Select")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
38 self.buttons['update'] = wx.Button(self, wx.ID_ANY, "Update Now")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
39 self.buttons['finish'] = wx.Button(self, wx.ID_ANY, "Finish")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
40
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
41 self.sizer.Add(self.changelog, (0,0), span=(4,1), flag=wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
42 self.sizer.Add(self.filelist, (0,1), span=(1,3), flag=wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
43
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
44 self.sizer.Add(self.buttons['progress_bar'], (1,1), span=(1,3), flag=wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
45 self.sizer.Add(self.buttons['auto_text'], (2,1))
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
46 self.sizer.Add(self.buttons['auto_check'], (2,2), flag=wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
47 self.sizer.Add(self.buttons['no_text'], (3,1))
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
48 self.sizer.Add(self.buttons['no_check'], (3,2), flag=wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
49 self.sizer.Add(self.buttons['advanced'], (2,3), flag=wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
50 self.sizer.Add(self.buttons['update'], (3,3), flag=wx.EXPAND)
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
51 self.sizer.Add(self.buttons['finish'], (4,3), flag=wx.EXPAND)
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
52 self.buttons['finish'].Disable()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
53 self.sizer.AddGrowableCol(0)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
54 self.sizer.AddGrowableRow(0)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
55 self.SetSizer(self.sizer)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
56 self.SetAutoLayout(True)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
57 self.get_package
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
58
48
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
59 self.current = self.repo.dirstate.branch()
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
60 self.BranchInfo(self.current)
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
61
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
62 if self.manifest.GetString("updatemana", "no_update", "") == 'on': self.buttons['no_check'].SetValue(True)
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
63 else: self.buttons['no_check'].SetValue(False)
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
64 if self.manifest.GetString("updatemana", "auto_update", "") == 'on': self.buttons['auto_check'].SetValue(True)
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
65 else: self.buttons['auto_check'].SetValue(False)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
66
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
67 ## Event Handlers
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
68 self.Bind(wx.EVT_BUTTON, self.Update, self.buttons['update'])
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
69 self.Bind(wx.EVT_BUTTON, self.Finish, self.buttons['finish'])
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
70 self.Bind(wx.EVT_BUTTON, self.ChooseBranch, self.buttons['advanced'])
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
71 self.Bind(wx.EVT_CHECKBOX, self.ToggleAutoUpdate, self.buttons['auto_check'])
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
72 self.Bind(wx.EVT_CHECKBOX, self.ToggleNoUpdate, self.buttons['no_check'])
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
73
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
74 def ToggleAutoUpdate(self, event):
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
75 if self.buttons['auto_check'].GetValue() == True:
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
76 if self.buttons['no_check'].GetValue() == True:
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
77 self.buttons['no_check'].SetValue(False)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
78 self.manifest.SetString("updatemana", "no_update", "off")
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
79 self.manifest.SetString("updatemana", "auto_update", "on")
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
80 else: self.manifest.SetString("updatemana", "auto_update", "off")
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
81
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
82 def ToggleNoUpdate(self, event):
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
83 if self.buttons['no_check'].GetValue() == True:
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
84 if self.buttons['auto_check'].GetValue() == True:
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
85 self.buttons['auto_check'].SetValue(False)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
86 self.manifest.SetString("updatemana", "auto_update", "off")
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
87 self.manifest.SetString("updatemana", "no_update", "on")
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
88 else: self.manifest.SetString("updatemana", "no_update", "off")
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
89
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
90 def Update(self, evt=None):
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
91 self.ui = ui.ui()
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
92 self.repo = hg.repository(self.ui, ".")
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
93 self.c = self.repo.changectx('tip')
48
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
94 filename = 'ignorelist.txt'
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
95 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
96 component.get('validate').config_file(filename, "default_ignorelist.txt")
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
97 self.mana = self.LoadDoc()
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
98 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
99 for ignore in self.ignorelist:
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
100 shutil.copy(ignore, temp + ignore.split('/')[len(ignore.split('/')) - 1])
48
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
101 hg.clean(self.repo, self.current)
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
102 for ignore in self.ignorelist:
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
103 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore)
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
104 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1])
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
105
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
106 def LoadDoc(self):
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
107 ignore = open(self.filename)
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
108 self.ignorelist = []
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
109 for i in ignore: self.ignorelist.append(str(i [:len(i)-1]))
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
110 manifest = ignore.readlines()
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
111 ignore.close()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
112
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
113 def Finish(self, evt=None):
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
114 try: self.parent.Destroy()
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
115 except:
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
116 print 'Fail'; exit()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
117
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
118 def ChooseBranch(self, evt=None):
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
119 dlg = wx.Dialog(self, wx.ID_ANY, "Package Selector", style=wx.DEFAULT_DIALOG_STYLE)
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
120 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'d20.ico', wx.BITMAP_TYPE_ICO)
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
121 else: icon = wx.Icon(dir_struct["icon"]+"d20.xpm", wx.BITMAP_TYPE_XPM )
48
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
122 dlg.SetIcon(icon)
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
123
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
124 self.ui = ui.ui()
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
125 self.repo = hg.repository(self.ui, ".")
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
126 self.c = self.repo.changectx('tip')
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
127
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
128 dlgsizer = wx.GridBagSizer(hgap=1, vgap=1)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
129 Yes = wx.Button( dlg, wx.ID_OK, "Ok" )
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
130 Yes.SetDefault()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
131 rgroup = wx.RadioButton(dlg, wx.ID_ANY, "group_start", style=wx.RB_GROUP)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
132 rgroup.Hide()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
133
37
cd8f740a8ffc Whoops! Broke the Package Selecter. Now fixed!! Does anyone evene read these?
sirebral
parents: 36
diff changeset
134 self.get_packages()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
135 if self.package_list == None: return
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
136 types = self.package_list
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
137 row=0; col=0
48
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
138 self.current = self.repo.dirstate.branch()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
139 self.package_type = self.current
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
140 self.btnlist = {}; self.btn = {}
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
141 self.id = 1
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
142
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
143 for t in types:
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
144 self.btnName = str(t)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
145 self.btn[self.id] = wx.RadioButton(dlg, wx.ID_ANY, str(t), name=self.btnName)
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
146 if self.btnName == self.current: self.btn[self.id].SetValue(True)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
147 self.btnlist[self.id] = self.btnName
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
148 dlgsizer.Add(self.btn[self.id], (row, col))
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
149 col += 1; self.id += 1
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
150 if col == 3: row += 1; col = 0
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
151
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
152 dlgsizer.Add(Yes, (row+1,col/2))
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
153 dlgsizer.AddGrowableCol(0)
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
154 dlgsizer.AddGrowableRow(0)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
155 dlg.SetAutoLayout( True )
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
156 dlg.SetSizer( dlgsizer )
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
157 dlgsizer.Fit( dlg )
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
158 dlg.Centre()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
159 dlg.Bind(wx.EVT_RADIOBUTTON, self.PackageSet)
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
160 if dlg.ShowModal(): dlg.Destroy()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
161
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
162 def PackageSet(self, event):
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
163 for btn in self.btn:
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
164 if self.btn[btn].GetValue() == True: self.current = self.btnlist[btn]
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
165
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
166 branches = self.repo.branchtags()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
167 heads = dict.fromkeys(self.repo.heads(), 1)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
168 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in branches.items()]
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
169
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
170 if self.current != type:
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
171 heads = dict.fromkeys(self.repo.heads(), self.repo.branchtags())
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
172 branches = dict.copy(self.repo.branchtags())
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
173 self.BranchInfo(self.current)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
174
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
175 def BranchInfo(self, branch):
61
f3d8101211c4 Traipse Dev 'OpenRPG' {090813-00}
sirebral
parents: 60
diff changeset
176 cs = self.repo.changectx( self.current ).changeset()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
177 self.changelog.SetValue('')
61
f3d8101211c4 Traipse Dev 'OpenRPG' {090813-00}
sirebral
parents: 60
diff changeset
178 changelog = cs[4]
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
179 self.changelog.AppendText(changelog + '\n')
61
f3d8101211c4 Traipse Dev 'OpenRPG' {090813-00}
sirebral
parents: 60
diff changeset
180 self.filelist.SetValue('')
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
181 self.filelist.AppendText("Currently selected branch: " + branch + "\n\nAuthor: "+cs[1]+"\n\n")
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
182 self.filelist.AppendText("Files Modified (in update): \n")
62
e8029caed892 Traipse Dev 'OpenRPG' {090813-01}
sirebral
parents: 61
diff changeset
183 for f in cs[3]: self.filelist.AppendText(f+"\n")
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
184
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
185 def get_packages(self, type=None):
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
186 #Fixed and ready for Test. Can be cleaner
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
187 self.package_list = []
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
188 b = self.repo.branchtags()
62
e8029caed892 Traipse Dev 'OpenRPG' {090813-01}
sirebral
parents: 61
diff changeset
189 heads = dict.fromkeys(self.repo.heads(), 1) #The code below looks superfluous but there is good info inside
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
190 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in b.items()]
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
191 l.sort()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
192 l.reverse()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
193 for ishead, r, n, t in l: self.package_list.append(t)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
194
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
195 def get_package(self):
37
cd8f740a8ffc Whoops! Broke the Package Selecter. Now fixed!! Does anyone evene read these?
sirebral
parents: 36
diff changeset
196 self.get_packages()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
197 if self.package_list == None: return None
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
198 return None
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
199
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
200 class Repos(wx.Panel):
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
201 def __init__(self, parent, openrpg, manifest):
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
202 wx.Panel.__init__(self, parent)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
203
42
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
204 ### Update Manager
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
205 self.ui = ui.ui()
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
206 self.r = hg.repository(self.ui, ".")
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
207 self.c = self.r.changectx('tip')
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
208
48
0aeee1992423 This updates fixes three things. Branch names are now current to your udpate
sirebral
parents: 47
diff changeset
209 #mainpanel = self
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
210 self.openrpg = openrpg
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
211 self.manifest = manifest
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
212 self.buttons = {}
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
213 self.texts = {}
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
214
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
215 ## Section Sizers (with frame edges and text captions)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
216 self.box_sizers = {}
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
217 self.box_sizers["newbutton"] = wx.StaticBox(self, -1)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
218
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
219 ## Layout Sizers
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
220 self.sizers = {}
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
221 self.sizers["main"] = wx.GridBagSizer(hgap=2, vgap=2)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
222 self.sizers["button"] = wx.GridBagSizer(hgap=2, vgap=2)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
223
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
224 #Button Layout
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
225 self.sizers["newbutton"] = wx.StaticBoxSizer(self.box_sizers["newbutton"], wx.VERTICAL)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
226 self.sizers["newrepo_layout"] = wx.FlexGridSizer(rows=1, cols=2, hgap=2, vgap=5)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
227 empty = wx.StaticText(self, -1, "")
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
228 reponame = wx.StaticText(self, -1, "Name:")
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
229 self.texts["reponame"] = wx.TextCtrl(self, -1, '')
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
230 self.buttons['addrepo'] = wx.Button(self, wx.ID_NEW)
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
231
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
232 ##Build Button
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
233 self.sizers["newrepo_layout"].Add(self.buttons['addrepo'], -1, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
234 self.sizers["newrepo_layout"].Add(empty, -1)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
235 self.sizers["newrepo_layout"].Add(reponame, -1, wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL|wx.ALL)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
236 self.sizers["newrepo_layout"].Add(self.texts["reponame"], -1, wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
237 self.sizers["newrepo_layout"].AddGrowableCol(1)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
238 self.sizers["newbutton"].Add(self.sizers["newrepo_layout"], -1, wx.EXPAND)
62
e8029caed892 Traipse Dev 'OpenRPG' {090813-01}
sirebral
parents: 61
diff changeset
239
40
95db4430caed If you have nothing in the list, New button works now. Adds duplicates though
sirebral
parents: 39
diff changeset
240 #Repo List Panel
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
241 self.repopanel = wx.ScrolledWindow(self)
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
242 self.repopanel.SetScrollbars(20,20,55,40)
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
243 self.repopanel.Scroll(50,10)
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
244 self.box_sizers["repolist"] = wx.StaticBox(self.repopanel, -1, "Current Repo List")
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
245 self.sizers["repolist"] = wx.StaticBoxSizer(self.box_sizers["repolist"], wx.VERTICAL)
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
246 self.sizers["repo"] = wx.GridBagSizer(hgap=2, vgap=2)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
247 self.sizers["repolist_layout"] = wx.FlexGridSizer(rows=1, cols=1, hgap=2, vgap=5)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
248 self.manifest = manifest
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
249
44
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
250 self.NewRepoList(None)
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
251 self.BuildRepoList(None)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
252
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
253 self.sizers["repolist_layout"].AddGrowableCol(0)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
254 self.sizers["repolist"].Add(self.sizers["repolist_layout"], -1, wx.EXPAND)
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
255 self.sizers["repo"].Add(self.sizers["repolist"], (0,0), flag=wx.EXPAND)
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
256 self.sizers["repo"].AddGrowableCol(0)
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
257 self.sizers['repo'].AddGrowableRow(0)
40
95db4430caed If you have nothing in the list, New button works now. Adds duplicates though
sirebral
parents: 39
diff changeset
258 self.sizers['repo'].AddGrowableRow(1)
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
259 self.repopanel.SetSizer(self.sizers['repo'])
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
260 self.repopanel.SetAutoLayout(True)
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
261
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
262 #Build Main Sizer
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
263 self.sizers["main"].Add(self.sizers["newbutton"], (0,0), flag=wx.EXPAND)
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
264 self.sizers["main"].Add(self.repopanel, (1,0), flag=wx.EXPAND)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
265 self.sizers["main"].AddGrowableCol(0)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
266 self.sizers["main"].AddGrowableCol(1)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
267 self.sizers["main"].AddGrowableRow(1)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
268 self.SetSizer(self.sizers["main"])
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
269 self.SetAutoLayout(True)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
270 self.Fit()
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
271 self.Bind(wx.EVT_BUTTON, self.AddRepo, self.buttons['addrepo'])
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
272
44
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
273 def NewRepoList(self, event):
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
274 self.id = -1; self.box = {}; self.box_name= {}; self.main = {}; self.container = {}; self.layout = {}
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
275 self.name = {}; self.url = {}; self.url_list = {}; self.pull = {}; self.uri = {}; self.delete = {}
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
276 self.defaultcheck = {}; self.default = {}; self.repotrac = {}
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
277 self.pull_list = {}; self.delete_list = {}; self.defchecklist = {}
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
278
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
279 def BuildRepoList(self, event):
40
95db4430caed If you have nothing in the list, New button works now. Adds duplicates though
sirebral
parents: 39
diff changeset
280 self.repolist = self.manifest.GetList('UpdateManifest', 'repolist', '')
41
6d18ee109e02 Duplicates removed, refresh button still prints. Moving to Pull command
sirebral
parents: 40
diff changeset
281 try: self.repolist = self.repo
6d18ee109e02 Duplicates removed, refresh button still prints. Moving to Pull command
sirebral
parents: 40
diff changeset
282 except: pass
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
283
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
284 #wx.Yeild() For future refrence.
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
285
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
286 for repo in self.repolist:
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
287 self.id += 1
42
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
288 #Build Constructs
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
289 self.box[self.id] = wx.StaticBox(self.repopanel, -1, str(repo))
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
290 self.main[self.id] = wx.GridBagSizer(hgap=2, vgap=2)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
291 self.container[self.id] = wx.StaticBoxSizer(self.box[self.id], wx.VERTICAL)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
292 self.layout[self.id] = wx.FlexGridSizer(rows=1, cols=4, hgap=2, vgap=5)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
293 self.name[self.id] = wx.StaticText(self.repopanel, -1, 'URL')
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
294 self.uri[self.id] = self.manifest.GetString('updaterepo', repo, '')
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
295 self.url[self.id] = wx.TextCtrl(self.repopanel, -1, self.uri[self.id])
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
296 self.pull[self.id] = wx.Button(self.repopanel, wx.ID_REFRESH)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
297 self.delete[self.id] = wx.Button(self.repopanel, wx.ID_DELETE)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
298 self.delete_list[self.delete[self.id]] = self.id
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
299 self.defaultcheck[self.id] = wx.CheckBox(self.repopanel, -1)
42
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
300 self.default[self.id] = wx.StaticText(self.repopanel, -1, 'Default')
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
301 #Build Retraceables
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
302 self.box_name[self.id] = str(repo)
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
303 self.pull_list[self.pull[self.id]] = self.id
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
304 self.defchecklist[self.defaultcheck[self.id]] = self.id
42
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
305 #Build Layout
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
306 self.layout[self.id].Add(self.name[self.id], -1, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
307 self.layout[self.id].Add(self.url[self.id], -1, wx.EXPAND)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
308 self.layout[self.id].Add(self.pull[self.id], -1, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALL)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
309 self.layout[self.id].Add(self.delete[self.id], -1, wx.EXPAND)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
310 self.layout[self.id].Add(self.defaultcheck[self.id], -1, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALL)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
311 self.layout[self.id].Add(self.default[self.id], -1, wx.EXPAND)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
312 self.layout[self.id].AddGrowableCol(1)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
313 self.container[self.id].Add(self.layout[self.id], -1, wx.EXPAND)
43
f00b02fbf511 Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents: 42
diff changeset
314 #Button Events
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
315 self.Bind(wx.EVT_BUTTON, self.RefreshRepo, self.pull[self.id])
43
f00b02fbf511 Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents: 42
diff changeset
316 self.Bind(wx.EVT_BUTTON, self.DelRepo, self.delete[self.id])
52
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
317 self.Bind(wx.EVT_CHECKBOX, self.SetDefault, self.defaultcheck[self.id])
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
318 self.sizers["repolist_layout"].Insert(0, self.container[self.id], -1, wx.EXPAND)
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
319 self.sizers['repolist_layout'].Layout()
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
320
52
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
321 #Set Default Repo Button
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
322 capture = self.manifest.GetString('updaterepo', 'default', '')
54
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
323 if capture != '':
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
324 for caught in self.uri:
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
325 if capture == self.uri[caught]: self.id = caught; pass
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
326 else: continue
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
327 self.defaultcheck[self.id].SetValue(True)
52
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
328
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
329 def AddRepo(self, event):
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
330 repo = self.texts['reponame'].GetValue(); repo = repo.replace(' ', '_'); repo = 'repo-' + repo
41
6d18ee109e02 Duplicates removed, refresh button still prints. Moving to Pull command
sirebral
parents: 40
diff changeset
331 self.manifest.SetString('updaterepo', repo, ''); self.repo = repo.split(',')
40
95db4430caed If you have nothing in the list, New button works now. Adds duplicates though
sirebral
parents: 39
diff changeset
332 repolist = self.manifest.GetList('UpdateManifest', 'repolist', '')
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
333 if repolist == '': pass
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
334 else: repolist = repolist + self.repo
41
6d18ee109e02 Duplicates removed, refresh button still prints. Moving to Pull command
sirebral
parents: 40
diff changeset
335 self.manifest.SetList('UpdateManifest', 'repolist', repolist)
39
93a27aea09ce Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents: 38
diff changeset
336 self.BuildRepoList(None)
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
337
43
f00b02fbf511 Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents: 42
diff changeset
338 def DelRepo(self, event):
f00b02fbf511 Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents: 42
diff changeset
339 self.id = self.delete_list[event.GetEventObject()]
44
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
340 self.sizers["repolist_layout"].Hide(self.container[self.id])
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
341 try: del self.box_name[self.id]
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
342 except: pass
15a76be834dc Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents: 43
diff changeset
343 self.manifest.SetList('UpdateManifest', 'repolist', list(self.box_name.values()))
43
f00b02fbf511 Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents: 42
diff changeset
344 self.sizers['repolist_layout'].Layout()
f00b02fbf511 Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents: 42
diff changeset
345
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
346 def RefreshRepo(self, event):
42
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
347 self.id = self.pull_list[event.GetEventObject()]
81254b3935fb Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents: 41
diff changeset
348 self.manifest.SetString('updaterepo', str(self.box_name[self.id]), self.url[self.id].GetValue())
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
349 try: commands.pull(self.ui, self.r, self.url[self.id].GetValue(), rev='', update=False, force=True)
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
350 except: pass
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
351
52
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
352 def SetDefault(self, event):
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
353 self.id = self.defchecklist[event.GetEventObject()]
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
354 self.manifest.SetString('updaterepo', 'default', self.uri[self.id])
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
355 for all in self.defaultcheck:
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
356 self.defaultcheck[all].SetValue(False)
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
357 self.defaultcheck[self.id].SetValue(True)
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
358
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
359 class Manifest(wx.Panel):
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
360 def __init__(self, parent):
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
361 wx.Panel.__init__(self, parent)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
362 self.ui = ui.ui()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
363 self.repo = hg.repository(self.ui, ".")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
364 self.c = self.repo.changectx('tip')
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
365 self.manifestlist = []
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
366 self.manifestlist = self.c.manifest().keys()
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
367 for mana in self.manifestlist: mana = os.sep + 'orpg' + os.sep + mana
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
368 self.manifestlist.sort()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
369 self.SetBackgroundColour(wx.WHITE)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
370 self.sizer = wx.GridBagSizer(hgap=1, vgap=1)
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
371 self.manifestlog = wx.CheckListBox( self, -1, wx.DefaultPosition, wx.DefaultSize,
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
372 self.manifestlist, wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES)
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
373 filename = 'ignorelist.txt'
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
374 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
375 component.get('validate').config_file(filename, "default_ignorelist.txt")
45
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
376 self.mana = self.LoadDoc()
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
377 self.manifestlog.Bind(wx.EVT_CHECKLISTBOX, self.GetChecked)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
378 self.sizer.Add(self.manifestlog, (0,0), flag=wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
379 self.sizer.AddGrowableCol(0)
36
683536732926 Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents: 35
diff changeset
380 self.sizer.AddGrowableRow(0)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
381 self.SetSizer(self.sizer)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
382 self.SetAutoLayout(True)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
383
45
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
384 def GetChecked(self, event):
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
385 self.mana = []
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
386 for manifest in self.manifestlog.GetChecked(): self.mana.append(self.manifestlist[manifest])
45
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
387 self.SaveDoc()
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
388
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
389 def SaveDoc(self):
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
390 f = open(self.filename, "w")
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
391 for mana in self.mana: f.write(mana+'\n')
45
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
392 f.close()
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
393
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
394 def LoadDoc(self):
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
395 ignore = open(self.filename)
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
396 ignorelist = []
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
397 for i in ignore: ignorelist.append(str(i [:len(i)-1]))
52
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
398 for i in ignorelist: #Adds previously ignored files to manifestlistlog if they are not in changesets.
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
399 if self.c.manifest().has_key(i): continue
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
400 else: self.manifestlist.append(i); self.manifestlist.sort()
59
5aff3ef1ae46 New dev branch for Ornery Orc. Adds CSS styling to chat messages. Updates
sirebral
parents: 58
diff changeset
401 self.manifestlog = wx.CheckListBox( self, -1, wx.DefaultPosition, wx.DefaultSize, self.manifestlist,
5aff3ef1ae46 New dev branch for Ornery Orc. Adds CSS styling to chat messages. Updates
sirebral
parents: 58
diff changeset
402 wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES)
45
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
403 self.manifestlog.SetCheckedStrings(ignorelist)
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
404 manifest = ignore.readlines()
45
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
405 ignore.close()
50e82d8090cf A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents: 44
diff changeset
406
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
407 class Control(wx.Panel):
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
408 def __init__(self, parent):
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
409 wx.Panel.__init__(self, parent)
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
410
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
411 ### Control Panel
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
412 self.ui = ui.ui()
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
413 self.repo = hg.repository(self.ui, ".")
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
414 self.c = self.repo.changectx('tip')
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
415 self.manifest = manifest
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
416 self.parent = parent
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
417 #logger.debug("Enter updaterFrame") #Need to set logging level
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
418
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
419 self.get_packages()
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
420 self.SetBackgroundColour(wx.WHITE)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
421 self.sizer = wx.GridBagSizer(hgap=1, vgap=1)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
422 self.buttons = {}
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
423
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
424 ## Changelog / File List
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
425 changelogcp = wx.Panel(self)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
426 self.changelogcp = wx.GridBagSizer(hgap=1, vgap=1)
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
427 self.changelog = wx.TextCtrl(changelogcp, wx.ID_ANY, size=wx.DefaultSize, style=wx.TE_MULTILINE | wx.TE_READONLY)
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
428 self.filelist = wx.TextCtrl(changelogcp, wx.ID_ANY, size=wx.DefaultSize, style=wx.TE_MULTILINE | wx.TE_READONLY)
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
429 self.changelogcp.Add(self.changelog, (0,0), flag=wx.EXPAND)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
430 self.changelogcp.Add(self.filelist, (1,0), flag=wx.EXPAND)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
431 changelogcp.SetSizer(self.changelogcp)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
432 self.changelogcp.AddGrowableCol(0)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
433 self.changelogcp.AddGrowableRow(0)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
434 self.changelogcp.AddGrowableRow(1)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
435 changelogcp.SetAutoLayout(True)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
436
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
437 ## Branches / Revisions
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
438 branchcp = wx.Panel(self)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
439 self.branchcp = wx.GridBagSizer(hgap=1, vgap=1)
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
440 self.branches = wx.Choice(branchcp, wx.ID_ANY, choices=self.package_list)
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
441 self.branch_txt = wx.StaticText(branchcp, wx.ID_ANY, "Branches")
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
442 self.branchcp.Add(self.branches, (0,0))
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
443 self.branchcp.Add(self.branch_txt, (0,1), flag=wx.ALIGN_CENTER_VERTICAL)
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
444 branchcp.SetSizer(self.branchcp)
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
445 branchcp.SetAutoLayout(True)
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
446
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
447 revlistcp = wx.Panel(self)
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
448 self.revlistcp = wx.GridBagSizer(hgap=2, vgap=2)
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
449 self.revlist = wx.ListCtrl(revlistcp, -1, wx.DefaultPosition, size=wx.DefaultSize,
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
450 style=wx.LC_REPORT|wx.SUNKEN_BORDER|wx.LC_HRULES)
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
451 self.revlist.InsertColumn(0, 'Revs')
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
452 self.revlist.InsertColumn(1, 'Changeset')
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
453 self.revlist.SetColumnWidth(0, -1)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
454 self.revlist.SetColumnWidth(1, -1)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
455 self.revlist.Refresh()
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
456 self.revlistcp.Add(self.revlist, (0,0), flag=wx.EXPAND)
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
457 revlistcp.SetSizer(self.revlistcp)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
458 self.revlistcp.AddGrowableCol(0)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
459 self.revlistcp.AddGrowableRow(0)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
460 self.revlistcp.AddGrowableRow(1)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
461 revlistcp.SetAutoLayout(True)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
462
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
463 ## Control Panel
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
464 cp = wx.Panel(self)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
465 self.cp = wx.GridBagSizer(hgap=1, vgap=1)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
466 self.buttons['update'] = wx.Button(cp, wx.ID_ANY, "Revision Update")
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
467 self.buttons['delete'] = wx.Button(cp, wx.ID_ANY, "Delete Branch")
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
468 self.cp.Add(self.buttons['update'], (0,0))
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
469 self.cp.Add(self.buttons['delete'], (0,1))
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
470 cp.SetSizer(self.cp)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
471 cp.SetAutoLayout(True)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
472
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
473 self.sizer.Add(changelogcp, (0,0), span=(3,1), flag=wx.EXPAND)
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
474 self.sizer.Add(branchcp, (0,1), span=(1,1))
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
475 self.sizer.Add(revlistcp, (2,1), span=(1,1), flag=wx.EXPAND)
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
476 self.sizer.Add(cp, (1,1), span=(1,1))
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
477
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
478 self.buttons['delete'].Disable()
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
479 self.sizer.AddGrowableCol(0)
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
480 self.sizer.AddGrowableCol(1)
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
481 self.sizer.AddGrowableRow(2)
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
482 self.SetSizer(self.sizer)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
483 self.SetAutoLayout(True)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
484
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
485 self.current = self.repo.dirstate.branch()
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
486
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
487 self.RevInfo(self.current)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
488 self.revlist.Select(self.revlist.FindItem(0,
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
489 str(self.repo.changelog.rev(self.repo.branchtags()[self.current]))),
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
490 True)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
491
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
492 self.BranchInfo(self.current)
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
493 self.Bind(wx.EVT_CHOICE, self.PackageSet)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
494 self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.PackageSet)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
495
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
496 def PackageSet(self, event):
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
497
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
498 self.current = self.branches.GetStringSelection()
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
499 branches = self.repo.branchtags()
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
500 heads = dict.fromkeys(self.repo.heads(), 1)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
501 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in branches.items()]
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
502
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
503 if self.current != type:
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
504 heads = dict.fromkeys(self.repo.heads(), self.repo.branchtags())
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
505 branches = dict.copy(self.repo.branchtags())
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
506 self.BranchInfo(self.current)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
507 self.RevInfo(self.current)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
508
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
509 def RevInfo(self, branch):
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
510 self.revlist.DeleteAllItems()
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
511 for heads in self.repo.changelog.reachable(self.repo.branchtags()[branch]):
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
512 self.revlist.InsertStringItem(0, str(self.repo.changelog.rev(heads)), 0 )
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
513 self.revlist.SetStringItem(0, 1, str(self.repo.changectx(heads)))
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
514 self.revlist.SetColumnWidth(0, -1)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
515 self.revlist.SetColumnWidth(1, -1)
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
516 self.revlist.Refresh()
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
517
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
518 def BranchInfo(self, branch):
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
519 rev = self.revlist.GetItemText( self.revlist.GetFirstSelected() )
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
520 rs = self.repo.changectx( rev ).changeset()
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
521 self.changelog.SetValue('')
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
522 changelog = rs[4]
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
523 self.changelog.AppendText(changelog + '\n')
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
524 self.filelist.SetValue('')
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
525 self.filelist.AppendText("Currently selected branch: " + branch + "\n\nAuthor: "+rs[1]+"\n\n")
78
57887ab0df51 Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents: 75
diff changeset
526 self.filelist.AppendText("Files Modified (in update): \n")
80
51bb772c3609 Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents: 78
diff changeset
527 for f in rs[3]: self.filelist.AppendText(f+"\n")
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
528
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
529 def get_packages(self, type=None):
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
530 #Fixed and ready for Test. Can be cleaner
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
531 self.package_list = []
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
532 b = self.repo.branchtags()
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
533 heads = dict.fromkeys(self.repo.heads(), 1) #The code below looks superfluous but there is good info inside
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
534 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in b.items()]
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
535 l.sort()
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
536 l.reverse()
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
537 for ishead, r, n, t in l: self.package_list.append(t)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
538
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
539 def get_package(self):
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
540 self.get_packages()
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
541 if self.package_list == None: return None
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
542 return None
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
543
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
544 class updaterFrame(wx.Frame):
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
545 def __init__(self, parent, title, openrpg, manifest, main):
60
3b2cfa13b610 Fix to toolbar menus. More correct fix so docking is working on Ubuntu
sirebral
parents: 59
diff changeset
546
61
f3d8101211c4 Traipse Dev 'OpenRPG' {090813-00}
sirebral
parents: 60
diff changeset
547 wx.Frame.__init__(self, None, wx.ID_ANY, title, size=(600,480), style=wx.DEFAULT_FRAME_STYLE)
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
548 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'d20.ico', wx.BITMAP_TYPE_ICO)
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
549 else: icon = wx.Icon(dir_struct["icon"]+"d20.xpm", wx.BITMAP_TYPE_XPM )
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
550
60
3b2cfa13b610 Fix to toolbar menus. More correct fix so docking is working on Ubuntu
sirebral
parents: 59
diff changeset
551 self.SetIcon(icon)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
552 self.CenterOnScreen()
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
553 self.main = main
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
554 ####### Panel Stuff ######
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
555 p = wx.Panel(self)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
556 nb = wx.Notebook(p)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
557
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
558 # create the page windows as children of the notebook
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
559 page1 = Updater(nb, openrpg, manifest)
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
560 page2 = Repos(nb, openrpg, manifest)
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
561 page3 = Manifest(nb)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
562 page4 = Control(nb)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
563
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
564 # add the pages to the notebook with the label to show on the tab
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
565 nb.AddPage(page1, "Updater")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
566 nb.AddPage(page2, "Repos")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
567 nb.AddPage(page3, "Manifest")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
568 nb.AddPage(page4, "Control")
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
569
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
570 # finally, put the notebook in a sizer for the panel to manage
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
571 # the layout
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
572 sizer = wx.BoxSizer()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
573 sizer.Add(nb, 1, wx.EXPAND)
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
574 p.SetSizer(sizer)
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
575 self.Bind(wx.EVT_CLOSE, self.OnClose)
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
576
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
577 def OnClose(self, event):
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
578 if self.main == False: self.Destroy()
60
3b2cfa13b610 Fix to toolbar menus. More correct fix so docking is working on Ubuntu
sirebral
parents: 59
diff changeset
579 if self.main == True: self.Hide()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
580
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
581 class updateApp(wx.App):
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
582 def OnInit(self):
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
583 self.main = False
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
584 logger._set_log_to_console(False)
75
f518bc709fd1 Continuing refinement and clean-up. Nearly done.
sirebral
parents: 74
diff changeset
585 logger.note("Updater Start")
34
8b630fc8a343 Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents: 33
diff changeset
586 self.manifest = manifest.ManifestChanges()
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
587 component.add('validate', validate)
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
588 self.updater = updaterFrame(self, "OpenRPG Update Manager 0.7.2 (open beta)",
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
589 component, self.manifest, self.main)
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
590 if self.manifest.GetString("updatemana", "auto_update", "") == 'on' and self.main == False:
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
591 self.AutoUpdate(); self.OnExit()
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
592 else: pass
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
593 if self.manifest.GetString('updatemana', 'no_update', '') == 'on' and self.main == False:
51
14d4270d5e5d Fixed Auto Update not finding current branch, no pull associated yet!
sirebral
parents: 49
diff changeset
594 self.OnExit()
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
595 else: pass
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
596 try:
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
597 self.updater.Show()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
598 self.updater.Fit()
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
599 except: pass
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
600 return True
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
601
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
602 def AutoUpdate(self):
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
603 self.ui = ui.ui()
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
604 self.repo = hg.repository(self.ui, ".")
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
605 self.c = self.repo.changectx('tip')
51
14d4270d5e5d Fixed Auto Update not finding current branch, no pull associated yet!
sirebral
parents: 49
diff changeset
606 self.current = self.repo.dirstate.branch()
54
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
607
52
c9694d854a61 Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents: 51
diff changeset
608 capture = self.manifest.GetString('updaterepo', 'default', '')
54
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
609 if capture != '':
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
610 commands.pull(self.ui, self.repo, capture, rev='', update=False, force=True)
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
611 filename = 'ignorelist.txt'
66
c54768cffbd4 Traipse Dev 'OpenRPG' {090818-00}
sirebral
parents: 62
diff changeset
612 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
613 component.get('validate').config_file(filename, "default_ignorelist.txt")
54
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
614 self.mana = self.LoadDoc()
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
615 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep
57
9014d7861bb3 Removed some extra print messages from the server. Cleaned up the Manifest
sirebral
parents: 55
diff changeset
616 for ignore in self.ignorelist:
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
617 shutil.copy(ignore, temp + ignore.split('/')[len(ignore.split('/')) - 1])
54
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
618 hg.clean(self.repo, self.current)
5d89a6eaf492 WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents: 52
diff changeset
619 for ignore in self.ignorelist:
57
9014d7861bb3 Removed some extra print messages from the server. Cleaned up the Manifest
sirebral
parents: 55
diff changeset
620 print ignore.split('/')[len(ignore.split('/')) - 1]
74
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
621 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore)
fdcca00696ea Continuing the code refinement.
sirebral
parents: 72
diff changeset
622 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1])
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
623 else: print 'No default repository set, skipping Auto Update!' #Add better warning!
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
624
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
625 def LoadDoc(self):
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
626 ignore = open(self.filename)
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
627 self.ignorelist = []
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
628 for i in ignore: self.ignorelist.append(str(i [:len(i)-1]))
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
629 manifest = ignore.readlines()
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
630 ignore.close()
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
631
46
599f727e3833 Getting ready to test!! Main functions seem to be working.
sirebral
parents: 45
diff changeset
632 def OnExit(self):
70
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
633 imported = ['manifest', 'orpg.dirpath', 'orpg.orpgCore', 'orpg.orpg_version',
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
634 'orpg.tools.orpg_log', 'orpg.tools.orpg_log', 'orpg.orpg_xml', 'orpg.dirpath',
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
635 'orpg.dirpath', 'upmana.validate', 'mercurial.ui', 'mercurial.hg',
52a5fa913008 Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents: 66
diff changeset
636 'mercurial.commands', 'mercurial.repo', 'mercurial.revlog', 'mercurial.cmdutil', 'shutil']
33
3687514e0218 I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff changeset
637 for name in imported:
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
638 if name in sys.modules: del sys.modules[name]
49
b41ea7d28a9e Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents: 48
diff changeset
639
47
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
640 try: self.updater.Destroy()
52f6a38f8885 Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents: 46
diff changeset
641 except: pass