Index: trac/ticket/api.py =================================================================== --- trac/ticket/api.py (revision 2048) +++ trac/ticket/api.py (working copy) @@ -26,8 +26,8 @@ from trac.perm import IPermissionRequestor from trac.wiki import IWikiSyntaxProvider from trac.Search import ISearchSource, query_to_sql, shorten_result +from trac.scripts.admin import IAdminConsoleProvider - class MyLinkResolver(Component): """ A dummy macro used by the unit test. We need to supply our own macro @@ -200,3 +200,274 @@ date, author, util.escape(shorten_result(desc, query.split()))) +class TicketAdminConsole(Component): + """ Provides trac-admin with ticket related commands """ + + # IAdminConsoleProvider methods + implements(IAdminConsoleProvider) + + def get_console_commands(self, tracadm): + self.tracadm = tracadm + from trac.ticket.model import Type, Priority, Severity + self._enum_map = {'ticket_type': Type, 'priority': Priority, + 'severity': Severity } + + yield ('ticket_type', self._help_ticket_type, self.do_ticket_type, self.complete_ticket_type) + yield ('severity', self._help_severity, self.do_severity, self.complete_severity) + yield ('priority', self._help_priority, self.do_priority, self.complete_priority) + yield ('component', self._help_component, self.do_component, self.complete_component) + yield ('version', [('version list', 'Show versions'), + ('version add [time]', 'Add version'), + ('version rename ', + 'Rename version'), + ('version time