Package: reportbug-ng Version: 1.24 --- Please enter the report below this line. ---
The attached patch will make the web viewer use the proxy set in http_proxy environment variable. This patch, along with python-debianbts patch in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630496 will enable proxy utilization by reportbug-ng. Proxy authentication, however, is not implemented. A workaround is to use squid to perform upstream web proxy authentication (http://hints.macworld.com/article.php?story=20030226161459306) and make: http_proxy=http://localhost:3128 --- System information. --- Architecture: amd64 Kernel: Linux 2.6.39-2-amd64 Debian Release: wheezy/sid 500 testing sft.if.usp.br 500 testing linorg.usp.br 500 squeeze-backports mozilla.debian.net 500 maverick ppa.launchpad.net 200 unstable sft.if.usp.br --- Package information. --- Depends (Version) | Installed ================================-+-============ python | 2.6.6-14 python-support (>= 0.90.0) | 1.0.13 python-debianbts (>= 1.0) | 1.10 python-qt4 | 4.8.3-2+b1 xdg-utils | 1.1.0~rc1-2 xterm | 270-1 python-apt (>= 0.7.93) | 0.8.0 Package's Recommends field is empty. Package's Suggests field is empty.
--- reportbug-ng-1.24.orig/src/reportbug-ng 2009-10-25 15:23:36.000000000 -0200 +++ reportbug-ng-1.24/src/reportbug-ng 2011-06-14 13:54:30.719994825 -0300 @@ -22,6 +22,7 @@ sys.path.append('/usr/share/reportbug-ng') import logging from optparse import OptionParser +from os import environ from PyQt4 import QtCore, QtGui @@ -64,6 +65,18 @@ logging.basicConfig(level=loglevel, format='%(name)-12s %(levelname)-8s %(message)s') logging.info('Logger initialized with level %s.' % options.loglevel) + http_proxy = environ.get("http_proxy") + if http_proxy: + import re + proxy_re = re.compile('(http://)?([^:/]*)(:([0-9]+))?/?') + match = proxy_re.match(http_proxy) + if match: + from PyQt4 import QtNetwork + proxy = QtNetwork.QNetworkProxy() + proxy.setType(QtNetwork.QNetworkProxy.HttpProxy) + proxy.setHostName(match.group(2)); + proxy.setPort(int(match.group(4) or '80')) + QtNetwork.QNetworkProxy.setApplicationProxy(proxy); app = QtGui.QApplication(sys.argv) translator = QtCore.QTranslator() locale = QtCore.QLocale.system().name()