[Reportbug-commits] r663 - in trunk (4 files)

morph at users.alioth.debian.org morph at users.alioth.debian.org
Sun Nov 9 11:50:47 UTC 2008


    Date: Sunday, November 9, 2008 @ 11:50:46
  Author: morph
Revision: 663

* reportbug/ui/{__init__.py,newt_ui.py}, test/test_reportbug_ui_newt.py
  - removed newt UI, since unused, broken, unmaintained

Modified:
  trunk/debian/changelog
  trunk/reportbug/ui/__init__.py
Deleted:
  trunk/reportbug/ui/newt_ui.py
  trunk/test/test_reportbug_ui_newt.py

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2008-11-06 17:00:17 UTC (rev 662)
+++ trunk/debian/changelog	2008-11-09 11:50:46 UTC (rev 663)
@@ -1,3 +1,10 @@
+reportbug (3.99.1) UNRELEASED; urgency=low
+
+  * reportbug/ui/{__init__.py,newt_ui.py}, test/test_reportbug_ui_newt.py
+    - removed newt UI, since unused, broken, unmaintained
+
+ -- Sandro Tosi <morph at debian.org>  Sun, 09 Nov 2008 12:48:06 +0100
+
 reportbug (3.99.0) experimental; urgency=low
 
   [ Chris Lawrence ]

Modified: trunk/reportbug/ui/__init__.py
===================================================================
--- trunk/reportbug/ui/__init__.py	2008-11-06 17:00:17 UTC (rev 662)
+++ trunk/reportbug/ui/__init__.py	2008-11-09 11:50:46 UTC (rev 663)
@@ -23,11 +23,10 @@
 # $Id: reportbug.py,v 1.35.2.24 2008-04-18 05:38:28 lawrencc Exp $
 
 
-__all__ = ['text_ui', 'urwid_ui', 'newt_ui', 'gtk2_ui']
+__all__ = ['text_ui', 'urwid_ui', 'gtk2_ui']
 
 UIS = {'text': 'A text-oriented console user interface',
        'urwid': 'A menu-based console user interface',
-       'newt': 'A newt user interface',
        'gtk2': 'A graphical (GTK+) user interface'}
 
 # Only the available UIs

Deleted: trunk/reportbug/ui/newt_ui.py
===================================================================
--- trunk/reportbug/ui/newt_ui.py	2008-11-06 17:00:17 UTC (rev 662)
+++ trunk/reportbug/ui/newt_ui.py	2008-11-09 11:50:46 UTC (rev 663)
@@ -1,303 +0,0 @@
-# Newt user interface for reportbug
-#   Written by Chris Lawrence <lawrencc at debian.org>
-#   (C) 2001-06 Chris Lawrence
-#
-# This program is freely distributable per the following license:
-#
-##  Permission to use, copy, modify, and distribute this software and its
-##  documentation for any purpose and without fee is hereby granted,
-##  provided that the above copyright notice appears in all copies and that
-##  both that copyright notice and this permission notice appear in
-##  supporting documentation.
-##
-##  I DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
-##  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL I
-##  BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
-##  DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-##  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-##  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-##  SOFTWARE.
-#
-# $Id: reportbug_ui_newt.py,v 1.5.2.4 2007-04-17 19:42:56 lawrencc Exp $
-
-import sys
-import commands
-import string
-import debianbts
-from reportbug_exceptions import (
-    UINotImportable,
-    NoPackage, NoBugs, NoNetwork,
-    )
-from urlutils import launch_browser
-
-try:
-    import snack
-except ImportError:
-    raise UINotImportable, 'Please install the python-newt package to use this interface.'
-
-ISATTY = sys.stdin.isatty()
-
-try:
-    r, c = string.split(commands.getoutput('stty size'))
-    rows, columns = int(r) or 24, int(c) or 79
-except:
-    rows, columns = 24, 79
-
-def ewrite(message, *args):
-    # ewrite shouldn't do anything on newt... maybe should log to a file
-    # if specified.
-    pass
-
-log_message = ewrite
-display_failure = ewrite
-
-# Utility functions for common newt dialogs
-def newt_screen():
-    "Start a newt windowing session."
-    return snack.SnackScreen()
-
-def newt_infobox(text, height=6, width=50, title="", screen=None):
-    "Display a message and go on."
-    if not screen:
-        s = snack.SnackScreen()
-    else:
-        s = screen
-
-    t = snack.TextboxReflowed(width, text, maxHeight = s.height - 12)
-    g = snack.GridForm(s, title[:width], 1, 2)
-    g.add(t, 0, 0, padding = (0, 0, 0, 1))
-    g.draw()
-    s.refresh()
-    if not screen:
-        s.finish()
-
-def newt_dialog(text, buttons=('Ok', 'Cancel'), width=50,
-                title="", screen=None):
-    "Display a message and wait for a response from the user."
-    if not screen:
-        s = snack.SnackScreen()
-    else:
-        s = screen
-
-    selected = snack.ButtonChoiceWindow(s, title[:width], text, buttons,
-                                        width=width)
-
-    if not screen:
-        s.finish()
-    return selected
-
-def newt_msgbox(text, width=50, title="", screen=None):
-    "Display a message and wait for an OK from the user."
-    return newt_dialog(text, ['Ok'], width, title, screen)
-
-def long_message(message, *args):
-    if args:
-        message = message % tuple(args)
-    newt_msgbox(message)
-
-final_message = long_message
-
-def newt_menu(text, height=20, width=60, menuheight=15, menu=None,
-         title="", scroll=0, screen=None, startpos=1):
-    "Display a menu of choices for the user."
-    if not menu: return None
-    if not screen:
-        s = snack.SnackScreen()
-    else:
-        s = screen
-    items = []
-    for item in menu:
-        if item[0]:
-            items.append(('%6s: %s' % item)[:width])
-        else:
-            items.append(item[1])
-
-    if len(items) > menuheight: scroll=1
-    res = startpos
-    while 1:
-        button, res = snack.ListboxChoiceWindow(s, title[:width], text, items,
-                                                width=width, height=menuheight,
-                                                scroll=scroll, default=res,
-                                                buttons=('View', 'Quit'))
-        if button == 'quit':
-            if not screen:
-                s.finish()
-            return None
-        elif menu[res][0]:
-            selected = menu[res][0]
-            break
-
-    if not screen:
-        s.finish()
-    return selected
-
-# XXX - From here on out needs to be rewritten for newt
-def select_options(msg, ok, help=None, allow_numbers=0):
-    return None
-
-def get_string(prompt, options=None, title=None, force_prompt=0):
-    return None
-
-def get_multiline(prompt, options=None, title=None, force_prompt=0):
-    return None
-
-def menu(par, options, prompt, default=None, title=None, any_ok=0, order=None):
-    return None
-
-# Things that are very UI dependent go here
-def show_report(number, system, mirrors, http_proxy, screen=None, queryonly=0,
-                title='', archived='no'):
-    s = screen
-    if not s:
-        s = newt_screen()
-
-    sysinfo = debianbts.SYSTEMS[system]
-    newt_infobox('Retrieving report #%d from %s bug tracking system...' % (
-        number, sysinfo['name']), title=title, screen=s)
-
-    width = columns-8
-    info = debianbts.get_report(number, system, mirrors=mirrors,
-                                http_proxy=http_proxy, archived=archived)
-    if not info:
-        s.popWindow()
-        newt_msgbox('Bug report #%d not found.' % number,
-                    screen=s, title=title)
-        if not screen:
-            s.finish()
-        return
-
-    buttons = ['Ok', 'More details (launch browser)', 'Quit']
-    if not queryonly:
-        buttons.append('Submit more information')
-
-    s.popWindow()
-    while 1:
-        (bugtitle, bodies) = info
-        body = bodies[0]
-
-        lines = string.split(body, '\n')
-        lines = map(lambda x, y=width: x[:y], lines)
-        body = string.join(lines, '\n')
-
-        r = newt_dialog(text=body, title=bugtitle, screen=s, width=width,
-                        buttons=buttons)
-        if not r or (r == 'ok'):
-            break
-        elif r == 'quit':
-            if not screen:
-                s.finish()
-            return -1
-        elif r == 'submit more information':
-            if not screen:
-                s.finish()
-            return number
-
-        s.suspend()
-        # print chr(27)+'c'
-        # os.system('stty sane; clear')
-        launch_browser(debianbts.get_report_url(system, number, archived))
-        s.resume()
-
-    if not screen:
-        s.finish()
-    return
-
-def handle_bts_query(package, bts, mirrors=None, http_proxy="",
-                     queryonly=0, screen=None, title="", archived='no',
-                     source=0):
-    sysinfo = debianbts.SYSTEMS[bts]
-    root = sysinfo.get('btsroot')
-    if not root:
-        ewrite("%s bug tracking system has no web URL; bypassing query.\n",
-               sysinfo['name'])
-        return
-
-    scr = screen
-    if not scr:
-        scr = newt_screen()
-
-    if isinstance(package, basestring):
-        if source:
-            newt_infobox('Querying %s bug tracking system for reports on'
-                         ' src:%s\n' % (debianbts.SYSTEMS[bts]['name'],
-                                        package),
-                         screen=scr, title=title)
-        else:
-            newt_infobox('Querying %s bug tracking system for reports on %s\n'%
-                         (debianbts.SYSTEMS[bts]['name'], package),
-                         screen=scr, title=title)
-    else:
-        newt_infobox('Querying %s bug tracking system for reports %s\n' %
-                     (debianbts.SYSTEMS[bts]['name'], ' '.join([str(x) for x in
-                                                                package])),
-                     screen=scr, title=title)
-
-    result = None
-    try:
-        (count, sectitle, hierarchy) = debianbts.get_reports(
-            package, bts, mirrors=mirrors,
-            http_proxy=http_proxy, archived=archived, source=source)
-
-        if not count:
-            scr.popWindow()
-            if hierarchy == None:
-                raise NoPackage
-            else:
-                raise NoBugs
-        else:
-            if count > 1:
-                sectitle = '%d bug reports found' % (count)
-            else:
-                sectitle = '%d bug report found' % (count)
-
-            list = []
-            for (t, bugs) in hierarchy:
-                bcount = len(bugs)
-                list.append( ('', t) )
-                for bug in bugs:
-                    bits = string.split(bug[1:], ':', 1)
-                    tag, info = bits
-                    info = string.strip(info)
-                    if not info:
-                        info = '(no subject)'
-                    list.append( (tag, info) )
-
-            p = 1
-            scr.popWindow()
-            while True:
-                info = newt_menu('Select a bug to read the report:', rows-6,
-                                 columns-10, rows-15, list, sectitle,
-                                 startpos=p, screen=scr)
-                if not info:
-                    break
-                else:
-                    p = i = 0
-                    for (number, subject) in list:
-                        if number == info: p = i
-			i += 1
-
-                    if ' ' in info:
-                        info, blah = info.split(' ', 1)
-
-                    res = show_report(int(info), bts, mirrors,
-                                      http_proxy, screen=scr,
-                                      queryonly=queryonly, title=title)
-                    if res:
-                        result = res
-                        break
-
-    except (IOError, NoNetwork):
-        scr.popWindow()
-        newt_msgbox('Unable to connect to %s BTS.' % sysinfo['name'],
-                    screen=scr, title=title)
-    except NoPackage:
-        #scr.popWindow()
-        newt_msgbox('No record of this package found.',
-                    screen=scr, title=title)
-
-    if not screen:
-        scr.finish()
-    return result
-
-def initialize ():
-    pass

Deleted: trunk/test/test_reportbug_ui_newt.py
===================================================================
--- trunk/test/test_reportbug_ui_newt.py	2008-11-06 17:00:17 UTC (rev 662)
+++ trunk/test/test_reportbug_ui_newt.py	2008-11-09 11:50:46 UTC (rev 663)
@@ -1,16 +0,0 @@
-# -*- coding: utf-8; -*-
-
-# test/test_reportbug_ui_newt.py
-# Part of reportbug, a Debian bug reporting tool.
-#
-# Copyright © 2008 Ben Finney <ben+python at benfinney.id.au>
-# This is free software; you may copy, modify and/or distribute this work
-# under the terms of the GNU General Public License, version 2 or later.
-# No warranty expressed or implied. See the file LICENSE for details.
-
-""" Unit test for reportbuglib.reportbug_ui_newt module
-"""
-
-import scaffold
-
-from reportbug.ui import newt as reportbug_ui_newt




More information about the Reportbug-commits mailing list