linkchecker/linkchecker-gui

64 lines
2.2 KiB
Text
Raw Normal View History

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
2011-02-18 16:33:52 +00:00
# Copyright (C) 2008-2011 Bastian Kleineidam
#
# 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.
#
2009-07-24 21:58:20 +00:00
# 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.
"""
Check HTML pages for broken links. This is the GUI client.
"""
import sys
from PyQt4.QtGui import QApplication, QStyleFactory, QMessageBox
from linkcheck.gui import LinkCheckerMain
2011-03-21 12:17:38 +00:00
from linkcheck import configuration, drop_privileges, i18n
def excepthook (parent, etype, evalue, tb):
2011-03-21 10:36:31 +00:00
"""Catch unhandled exceptions."""
from cStringIO import StringIO
from linkcheck.director.console import internal_error
2011-03-21 14:19:16 +00:00
out = i18n.get_encoded_writer(out=StringIO(), encoding="utf-8")
2011-03-21 10:36:31 +00:00
internal_error(out=out, etype=etype, evalue=evalue, tb=tb)
QMessageBox.warning(parent, _(u"LinkChecker internal error"),
out.getvalue())
2011-03-21 10:36:31 +00:00
2010-12-16 20:52:56 +00:00
## Look and feel with stylesheets
# In Cleanlooks the progress bar text is outside the bar.
# Use Plastique instead.
#Style = "Cleanlooks"
Style = "Plastique"
def main (argv=None):
if argv is None:
argv = sys.argv
app = QApplication(argv)
2010-11-21 13:19:11 +00:00
app.setApplicationName(configuration.AppName)
app.setApplicationVersion(configuration.Version)
app.setOrganizationName(configuration.Author)
2010-12-16 20:52:56 +00:00
QApplication.setStyle(QStyleFactory.create(Style))
2010-10-01 17:07:15 +00:00
QApplication.setPalette(QApplication.style().standardPalette())
if app.argc() > 1:
url = app.argv()[1]
else:
url = u""
window = LinkCheckerMain(url=url)
window.show()
drop_privileges()
sys.excepthook = \
lambda etype, evalue, tb: excepthook(window, etype, evalue, tb)
sys.exit(app.exec_())
if __name__ == "__main__":
main(argv=sys.argv)