From: W. Trevor King Date: Wed, 30 Dec 2009 00:49:50 +0000 (-0500) Subject: Remove libbe.ui.util.cmdutil X-Git-Tag: 1.0.0~59^2~52^2~15 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1d764100cbe15c8fe26b836ed0e9d494ab14500d;p=be.git Remove libbe.ui.util.cmdutil All of its functionality has moved off into more focused modules. --- diff --git a/libbe/command/html.py b/libbe/command/html.py index ec818c0..059fe75 100644 --- a/libbe/command/html.py +++ b/libbe/command/html.py @@ -119,14 +119,6 @@ directory. Html = HTML # alias for libbe.command.base.get_command_class() -def help(): - return get_parser().help_str() + longhelp - -def complete(options, args, parser): - for option, value in cmdutil.option_value_pairs(options, parser): - if "--complete" in args: - raise cmdutil.GetCompletions() # no positional arguments for list - class HTMLGen (object): def __init__(self, bd, template=None, title="Site Title", index_header="Index Header", @@ -259,8 +251,8 @@ class HTMLGen (object): % (comment.uuid, comment.content_type), [per_bug_dir, '.htaccess'], mode='a') self._write_file( # TODO: long_to_linked_user() - libbe.util.id.long_to_short_user( - self.bd, comment.body), + libbe.util.id.long_to_short_text( + [self.bd], comment.body), [per_bug_dir, comment.uuid], mode='wb') else: value = self._escape(value) @@ -339,7 +331,8 @@ class HTMLGen (object): try: os.makedirs(dir_path) except: - raise cmdutil.UsageError, 'Cannot create output directory "%s".' % dir_path + raise libbe.command.UserError( + 'Cannot create output directory "%s".' % dir_path) return dir_path def _write_file(self, content, path_array, mode='w'): diff --git a/libbe/ui/util/cmdutil.py b/libbe/ui/util/cmdutil.py deleted file mode 100644 index f2eb5b9..0000000 --- a/libbe/ui/util/cmdutil.py +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright (C) 2005-2009 Aaron Bentley and Panometrics, Inc. -# Gianluca Montecchi -# Oleg Romanyshyn -# W. Trevor King -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" -Define assorted utilities to make command-line handling easier. -""" - -import glob -import optparse -import os -from textwrap import TextWrapper -from StringIO import StringIO -import sys - -import libbe -import bugdir -import comment -import plugin -import encoding -if libbe.TESTING == True: - import doctest - - - -def iter_commands(): - for name, module in plugin.iter_plugins("becommands"): - yield name.replace("_", "-"), module - -def execute(cmd, args, - manipulate_encodings=True, restrict_file_access=False, - dir="."): - enc = encoding.get_encoding() - cmd = get_command(cmd) - ret = cmd.execute([a.decode(enc) for a in args], - manipulate_encodings=manipulate_encodings, - restrict_file_access=restrict_file_access, - dir=dir) - if ret == None: - ret = 0 - return ret - - - - -def restrict_file_access(bugdir, path): - -def parse_id(id): - """ - Return (bug_id, comment_id) tuple. - Basically inverts Comment.comment_shortnames() - >>> parse_id('XYZ') - ('XYZ', None) - >>> parse_id('XYZ:123') - ('XYZ', ':123') - >>> parse_id('') - Traceback (most recent call last): - ... - UserError: invalid id ''. - >>> parse_id('::') - Traceback (most recent call last): - ... - UserError: invalid id '::'. - """ - if len(id) == 0: - raise UserError("invalid id '%s'." % id) - if id.count(':') > 1: - raise UserError("invalid id '%s'." % id) - elif id.count(':') == 1: - # Split shortname generated by Comment.comment_shortnames() - bug_id,comment_id = id.split(':') - comment_id = ':'+comment_id - else: - bug_id = id - comment_id = None - return (bug_id, comment_id) - -def bug_from_id(bdir, id): - """ - Exception translation for the command-line interface. - id can be either the bug shortname or the full uuid. - """ - try: - bug = bdir.bug_from_shortname(id) - except (bugdir.MultipleBugMatches, bugdir.NoBugMatches), e: - raise UserError(e.message) - return bug - -def bug_comment_from_id(bdir, id): - """ - Return (bug,comment) tuple matching shortname. id can be either - the bug/comment shortname or the full uuid. If there is no - comment part to the id, the returned comment is the bug's - .comment_root. - """ - bug_id,comment_id = parse_id(id) - try: - bug = bdir.bug_from_shortname(bug_id) - except (bugdir.MultipleBugMatches, bugdir.NoBugMatches), e: - raise UserError(e.message) - if comment_id == None: - comm = bug.comment_root - else: - #bug.load_comments(load_full=False) - try: - comm = bug.comment_root.comment_from_shortname(comment_id) - except comment.InvalidShortname, e: - raise UserError(e.message) - return (bug, comm) - - - -if libbe.TESTING == True: - suite = doctest.DocTestSuite()