comparison roundup-admin @ 461:b579418f7ed1

Implemented file store rollback. As a bonus, the hyperdb is now capable of storing more than one file per node - if a property name is supplied, the file is called designator.property. I decided not to migrate the existing files stored over to the new naming scheme - the FileClass just doesn't specify the property name.
author Richard Jones <richard@users.sourceforge.net>
date Mon, 17 Dec 2001 03:52:48 +0000
parents 2198e5445d6b
children 9f7320624bc2
comparison
equal deleted inserted replaced
460:9c895b44240a 461:b579418f7ed1
14 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 14 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
15 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" 15 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
16 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, 16 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
17 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 17 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
18 # 18 #
19 # $Id: roundup-admin,v 1.54 2001-12-15 23:09:23 richard Exp $ 19 # $Id: roundup-admin,v 1.55 2001-12-17 03:52:47 richard Exp $
20 20
21 # python version check 21 # python version check
22 from roundup import version_check 22 from roundup import version_check
23 23
24 import sys, os, getpass, getopt, re, UserDict 24 import sys, os, getpass, getopt, re, UserDict
90 commands.append( 90 commands.append(
91 'Commands may be abbreviated as long as the abbreviation matches only one') 91 'Commands may be abbreviated as long as the abbreviation matches only one')
92 commands.append('command, e.g. l == li == lis == list.') 92 commands.append('command, e.g. l == li == lis == list.')
93 print '\n'.join(commands) 93 print '\n'.join(commands)
94 print 94 print
95
96 def help_commands_html(self, indent_re=re.compile(r'^(\s+)\S+')):
97 commands = self.commands.values()
98 def sortfun(a, b):
99 return cmp(a.__name__, b.__name__)
100 commands.sort(sortfun)
101 for command in commands:
102 h = command.__doc__.split('\n')
103 name = command.__name__[3:]
104 usage = h[0]
105 print '''
106 <tr><td valign=top><strong>%(name)s</strong></td>
107 <td><tt>%(usage)s</tt><p>
108 <pre>'''%locals()
109 indent = indent_re.match(h[3])
110 if indent: indent = len(indent.group(1))
111 for line in h[3:]:
112 if indent:
113 print line[indent:]
114 else:
115 print line
116 print '</pre></td></tr>\n'
95 117
96 def help_all(self): 118 def help_all(self):
97 print ''' 119 print '''
98 All commands (except help) require an instance specifier. This is just the path 120 All commands (except help) require an instance specifier. This is just the path
99 to the roundup instance you're working with. A roundup instance is where 121 to the roundup instance you're working with. A roundup instance is where
976 tool = AdminTool() 998 tool = AdminTool()
977 sys.exit(tool.main()) 999 sys.exit(tool.main())
978 1000
979 # 1001 #
980 # $Log: not supported by cvs2svn $ 1002 # $Log: not supported by cvs2svn $
1003 # Revision 1.54 2001/12/15 23:09:23 richard
1004 # Some cleanups in roundup-admin, also made it work again...
1005 #
981 # Revision 1.53 2001/12/13 00:20:00 richard 1006 # Revision 1.53 2001/12/13 00:20:00 richard
982 # . Centralised the python version check code, bumped version to 2.1.1 (really 1007 # . Centralised the python version check code, bumped version to 2.1.1 (really
983 # needs to be 2.1.2, but that isn't released yet :) 1008 # needs to be 2.1.2, but that isn't released yet :)
984 # 1009 #
985 # Revision 1.52 2001/12/12 21:47:45 richard 1010 # Revision 1.52 2001/12/12 21:47:45 richard

Roundup Issue Tracker: http://roundup-tracker.org/