Display URL properties and statistics in the main window.

This commit is contained in:
Bastian Kleineidam 2010-12-16 21:52:26 +01:00
parent b485594dfb
commit 7a2c89b7fe
9 changed files with 1597 additions and 713 deletions

View file

@ -26,12 +26,15 @@ Changes:
widely supported now.
- logging: The unique ID of an URL is not printed out anymore.
Instead the cache URL key should be used to uniquely identify URLs.
- gui: Display URL properties in main window instead of an extra
dialog.
Features:
- gui: Store column widths in registry settings.
- gui: Add ability to save results to local files with File->Save.
- gui: Assume the entered URL starts with http:// if it has no
scheme specified and is not a valid local file.
- gui: Display check statistics in main window.
- logging: More statistic information about content types and URL
lengths is printed out.

View file

@ -5,8 +5,7 @@ UI_FILES = linkchecker_ui_main.py \
linkchecker_ui_options.py \
linkchecker_ui_progress.py \
linkchecker_ui_debug.py \
linkchecker_ui_editor.py \
linkchecker_ui_properties.py
linkchecker_ui_editor.py
RC_FILES = linkchecker_rc.py

View file

@ -20,7 +20,7 @@ import sys
import webbrowser
from PyQt4 import QtCore, QtGui
from .linkchecker_ui_main import Ui_MainWindow
from .properties import PropertiesDialog
from .properties import set_properties, set_statistics
from .progress import LinkCheckerProgress, StatusLogger
from .debug import LinkCheckerDebug
from .logger import GuiLogger, GuiLogHandler
@ -47,6 +47,7 @@ Status = enum('idle', 'checking')
class LinkCheckerMain (QtGui.QMainWindow, Ui_MainWindow):
log_url_signal = QtCore.pyqtSignal(object)
log_stats_signal = QtCore.pyqtSignal(object)
def __init__(self, parent=None, url=None):
"""Initialize UI."""
@ -65,7 +66,6 @@ class LinkCheckerMain (QtGui.QMainWindow, Ui_MainWindow):
self.checker = CheckerThread()
self.contextmenu = ContextMenu(parent=self)
self.editor = EditorWindow(parent=self)
self.properties = PropertiesDialog(parent=self)
# Note: do not use QT assistant here because of the .exe packaging
self.assistant = HelpWindow(self, self.get_qhcpath())
# init the rest
@ -111,6 +111,7 @@ class LinkCheckerMain (QtGui.QMainWindow, Ui_MainWindow):
self.checker.finished.connect(set_idle)
self.checker.terminated.connect(set_idle)
self.log_url_signal.connect(self.model.log_url)
self.log_stats_signal.connect(self.log_stats)
def init_treeview (self):
self.model = UrlItemModel()
@ -119,6 +120,8 @@ class LinkCheckerMain (QtGui.QMainWindow, Ui_MainWindow):
self.treeView.setColumnWidth(0, data["col1"])
self.treeView.setColumnWidth(1, data["col2"])
self.treeView.setColumnWidth(2, data["col3"])
selectionModel = self.treeView.selectionModel()
selectionModel.selectionChanged.connect(self.set_properties)
def get_treeviewcols (self):
return dict(
@ -132,7 +135,7 @@ class LinkCheckerMain (QtGui.QMainWindow, Ui_MainWindow):
self.config = configuration.Configuration()
self.config.logger_add("gui", GuiLogger)
self.config["logger"] = self.config.logger_new('gui',
signal=self.log_url_signal)
signal=self.log_url_signal, stats=self.log_stats_signal)
self.config["status"] = True
self.config["status_wait_seconds"] = 2
self.handler = GuiLogHandler(self.debug.log_msg_signal)
@ -272,15 +275,12 @@ to improve %(appname)s even more!
self.checker.check(self.aggregate, self.progress)
self.status = Status.checking
def view_item_properties (self, item):
self.properties.set_item(item)
self.properties.show()
def on_treeView_doubleClicked (self, index):
"""View property page."""
def set_properties (self, selected, deselected):
"""Set URL properties for selected item."""
index = selected.indexes()[0]
urlitem = self.model.getUrlItem(index)
if urlitem is not None:
self.view_item_properties(urlitem)
set_properties(self, urlitem.url_data)
def on_treeView_customContextMenuRequested (self, point):
"""Show item context menu."""
@ -346,3 +346,6 @@ to improve %(appname)s even more!
def set_statusbar (self, msg):
"""Show status message in status bar."""
self.statusBar.showMessage(msg)
def log_stats (self, statistics):
set_statistics(self, statistics)

View file

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ui/main.ui'
#
# Created: Fri Dec 3 20:48:10 2010
# Created: Thu Dec 16 21:50:10 2010
# by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!
@ -12,7 +12,7 @@ from PyQt4 import QtCore, QtGui
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(638, 533)
MainWindow.resize(767, 664)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -24,10 +24,9 @@ class Ui_MainWindow(object):
MainWindow.setStatusTip("")
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
self.gridLayout.setMargin(4)
self.gridLayout.setVerticalSpacing(3)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
self.verticalLayout.setMargin(4)
self.verticalLayout.setObjectName("verticalLayout")
self.horizontalLayout_3 = QtGui.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.label = QtGui.QLabel(self.centralwidget)
@ -54,7 +53,7 @@ class Ui_MainWindow(object):
self.controlButton.setDefault(True)
self.controlButton.setObjectName("controlButton")
self.horizontalLayout_3.addWidget(self.controlButton)
self.gridLayout.addLayout(self.horizontalLayout_3, 0, 1, 1, 1)
self.verticalLayout.addLayout(self.horizontalLayout_3)
self.treeView = QtGui.QTreeView(self.centralwidget)
self.treeView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.treeView.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
@ -66,10 +65,438 @@ class Ui_MainWindow(object):
self.treeView.setAllColumnsShowFocus(True)
self.treeView.setExpandsOnDoubleClick(False)
self.treeView.setObjectName("treeView")
self.gridLayout.addWidget(self.treeView, 1, 0, 1, 2)
self.verticalLayout.addWidget(self.treeView)
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.url_properties = QtGui.QGroupBox(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.url_properties.sizePolicy().hasHeightForWidth())
self.url_properties.setSizePolicy(sizePolicy)
self.url_properties.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.url_properties.setObjectName("url_properties")
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.url_properties)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.frame = QtGui.QFrame(self.url_properties)
self.frame.setFrameShape(QtGui.QFrame.NoFrame)
self.frame.setFrameShadow(QtGui.QFrame.Plain)
self.frame.setLineWidth(0)
self.frame.setObjectName("frame")
self.formLayout = QtGui.QFormLayout(self.frame)
self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.ExpandingFieldsGrow)
self.formLayout.setObjectName("formLayout")
self.label_2 = QtGui.QLabel(self.frame)
self.label_2.setObjectName("label_2")
self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_2)
self.prop_url = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_url.sizePolicy().hasHeightForWidth())
self.prop_url.setSizePolicy(sizePolicy)
self.prop_url.setMinimumSize(QtCore.QSize(300, 0))
self.prop_url.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_url.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_url.setText("")
self.prop_url.setTextFormat(QtCore.Qt.RichText)
self.prop_url.setOpenExternalLinks(True)
self.prop_url.setObjectName("prop_url")
self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.prop_url)
self.label_3 = QtGui.QLabel(self.frame)
self.label_3.setObjectName("label_3")
self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_3)
self.prop_name = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_name.sizePolicy().hasHeightForWidth())
self.prop_name.setSizePolicy(sizePolicy)
self.prop_name.setMinimumSize(QtCore.QSize(300, 0))
self.prop_name.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_name.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_name.setText("")
self.prop_name.setTextFormat(QtCore.Qt.PlainText)
self.prop_name.setObjectName("prop_name")
self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.prop_name)
self.label_4 = QtGui.QLabel(self.frame)
self.label_4.setObjectName("label_4")
self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_4)
self.prop_parenturl = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_parenturl.sizePolicy().hasHeightForWidth())
self.prop_parenturl.setSizePolicy(sizePolicy)
self.prop_parenturl.setMinimumSize(QtCore.QSize(300, 0))
self.prop_parenturl.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_parenturl.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_parenturl.setText("")
self.prop_parenturl.setTextFormat(QtCore.Qt.RichText)
self.prop_parenturl.setOpenExternalLinks(True)
self.prop_parenturl.setObjectName("prop_parenturl")
self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.prop_parenturl)
self.label_5 = QtGui.QLabel(self.frame)
self.label_5.setObjectName("label_5")
self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_5)
self.prop_base = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_base.sizePolicy().hasHeightForWidth())
self.prop_base.setSizePolicy(sizePolicy)
self.prop_base.setMinimumSize(QtCore.QSize(300, 0))
self.prop_base.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_base.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_base.setText("")
self.prop_base.setTextFormat(QtCore.Qt.RichText)
self.prop_base.setOpenExternalLinks(False)
self.prop_base.setObjectName("prop_base")
self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.prop_base)
self.label_7 = QtGui.QLabel(self.frame)
self.label_7.setObjectName("label_7")
self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_7)
self.prop_checktime = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_checktime.sizePolicy().hasHeightForWidth())
self.prop_checktime.setSizePolicy(sizePolicy)
self.prop_checktime.setMinimumSize(QtCore.QSize(300, 0))
self.prop_checktime.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_checktime.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_checktime.setText("")
self.prop_checktime.setTextFormat(QtCore.Qt.PlainText)
self.prop_checktime.setObjectName("prop_checktime")
self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.prop_checktime)
self.label_8 = QtGui.QLabel(self.frame)
self.label_8.setObjectName("label_8")
self.formLayout.setWidget(5, QtGui.QFormLayout.LabelRole, self.label_8)
self.prop_dltime = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_dltime.sizePolicy().hasHeightForWidth())
self.prop_dltime.setSizePolicy(sizePolicy)
self.prop_dltime.setMinimumSize(QtCore.QSize(300, 0))
self.prop_dltime.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_dltime.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_dltime.setText("")
self.prop_dltime.setTextFormat(QtCore.Qt.PlainText)
self.prop_dltime.setObjectName("prop_dltime")
self.formLayout.setWidget(5, QtGui.QFormLayout.FieldRole, self.prop_dltime)
self.label_9 = QtGui.QLabel(self.frame)
self.label_9.setObjectName("label_9")
self.formLayout.setWidget(6, QtGui.QFormLayout.LabelRole, self.label_9)
self.prop_size = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_size.sizePolicy().hasHeightForWidth())
self.prop_size.setSizePolicy(sizePolicy)
self.prop_size.setMinimumSize(QtCore.QSize(300, 0))
self.prop_size.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_size.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_size.setText("")
self.prop_size.setTextFormat(QtCore.Qt.PlainText)
self.prop_size.setObjectName("prop_size")
self.formLayout.setWidget(6, QtGui.QFormLayout.FieldRole, self.prop_size)
self.label_10 = QtGui.QLabel(self.frame)
self.label_10.setObjectName("label_10")
self.formLayout.setWidget(7, QtGui.QFormLayout.LabelRole, self.label_10)
self.prop_info = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_info.sizePolicy().hasHeightForWidth())
self.prop_info.setSizePolicy(sizePolicy)
self.prop_info.setMinimumSize(QtCore.QSize(300, 0))
self.prop_info.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_info.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_info.setText("")
self.prop_info.setTextFormat(QtCore.Qt.PlainText)
self.prop_info.setWordWrap(True)
self.prop_info.setObjectName("prop_info")
self.formLayout.setWidget(7, QtGui.QFormLayout.FieldRole, self.prop_info)
self.label_11 = QtGui.QLabel(self.frame)
self.label_11.setObjectName("label_11")
self.formLayout.setWidget(8, QtGui.QFormLayout.LabelRole, self.label_11)
self.prop_warning = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_warning.sizePolicy().hasHeightForWidth())
self.prop_warning.setSizePolicy(sizePolicy)
self.prop_warning.setMinimumSize(QtCore.QSize(300, 0))
self.prop_warning.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_warning.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_warning.setText("")
self.prop_warning.setTextFormat(QtCore.Qt.PlainText)
self.prop_warning.setScaledContents(True)
self.prop_warning.setWordWrap(True)
self.prop_warning.setObjectName("prop_warning")
self.formLayout.setWidget(8, QtGui.QFormLayout.FieldRole, self.prop_warning)
self.label_12 = QtGui.QLabel(self.frame)
self.label_12.setObjectName("label_12")
self.formLayout.setWidget(9, QtGui.QFormLayout.LabelRole, self.label_12)
self.prop_result = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_result.sizePolicy().hasHeightForWidth())
self.prop_result.setSizePolicy(sizePolicy)
self.prop_result.setMinimumSize(QtCore.QSize(300, 0))
self.prop_result.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_result.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_result.setText("")
self.prop_result.setTextFormat(QtCore.Qt.PlainText)
self.prop_result.setObjectName("prop_result")
self.formLayout.setWidget(9, QtGui.QFormLayout.FieldRole, self.prop_result)
self.horizontalLayout_2.addWidget(self.frame)
self.horizontalLayout.addWidget(self.url_properties)
self.statistics = QtGui.QGroupBox(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.statistics.sizePolicy().hasHeightForWidth())
self.statistics.setSizePolicy(sizePolicy)
self.statistics.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.statistics.setObjectName("statistics")
self.label_14 = QtGui.QLabel(self.statistics)
self.label_14.setGeometry(QtCore.QRect(190, 60, 57, 15))
self.label_14.setObjectName("label_14")
self.label_15 = QtGui.QLabel(self.statistics)
self.label_15.setGeometry(QtCore.QRect(20, 130, 101, 16))
self.label_15.setObjectName("label_15")
self.label_16 = QtGui.QLabel(self.statistics)
self.label_16.setGeometry(QtCore.QRect(20, 230, 101, 16))
self.label_16.setObjectName("label_16")
self.label_18 = QtGui.QLabel(self.statistics)
self.label_18.setGeometry(QtCore.QRect(20, 250, 31, 16))
self.label_18.setObjectName("label_18")
self.label_19 = QtGui.QLabel(self.statistics)
self.label_19.setGeometry(QtCore.QRect(90, 250, 31, 16))
self.label_19.setObjectName("label_19")
self.label_20 = QtGui.QLabel(self.statistics)
self.label_20.setGeometry(QtCore.QRect(170, 250, 57, 15))
self.label_20.setObjectName("label_20")
self.stats_domains = QtGui.QLabel(self.statistics)
self.stats_domains.setGeometry(QtCore.QRect(260, 60, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_domains.sizePolicy().hasHeightForWidth())
self.stats_domains.setSizePolicy(sizePolicy)
self.stats_domains.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_domains.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_domains.setText("")
self.stats_domains.setTextFormat(QtCore.Qt.RichText)
self.stats_domains.setOpenExternalLinks(True)
self.stats_domains.setObjectName("stats_domains")
self.stats_url_avglen = QtGui.QLabel(self.statistics)
self.stats_url_avglen.setGeometry(QtCore.QRect(230, 250, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_url_avglen.sizePolicy().hasHeightForWidth())
self.stats_url_avglen.setSizePolicy(sizePolicy)
self.stats_url_avglen.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_url_avglen.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_url_avglen.setText("")
self.stats_url_avglen.setTextFormat(QtCore.Qt.RichText)
self.stats_url_avglen.setOpenExternalLinks(True)
self.stats_url_avglen.setObjectName("stats_url_avglen")
self.stats_url_maxlen = QtGui.QLabel(self.statistics)
self.stats_url_maxlen.setGeometry(QtCore.QRect(120, 250, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_url_maxlen.sizePolicy().hasHeightForWidth())
self.stats_url_maxlen.setSizePolicy(sizePolicy)
self.stats_url_maxlen.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_url_maxlen.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_url_maxlen.setText("")
self.stats_url_maxlen.setTextFormat(QtCore.Qt.RichText)
self.stats_url_maxlen.setOpenExternalLinks(True)
self.stats_url_maxlen.setObjectName("stats_url_maxlen")
self.stats_url_minlen = QtGui.QLabel(self.statistics)
self.stats_url_minlen.setGeometry(QtCore.QRect(40, 250, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_url_minlen.sizePolicy().hasHeightForWidth())
self.stats_url_minlen.setSizePolicy(sizePolicy)
self.stats_url_minlen.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_url_minlen.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_url_minlen.setText("")
self.stats_url_minlen.setTextFormat(QtCore.Qt.RichText)
self.stats_url_minlen.setOpenExternalLinks(True)
self.stats_url_minlen.setObjectName("stats_url_minlen")
self.label_6 = QtGui.QLabel(self.statistics)
self.label_6.setGeometry(QtCore.QRect(20, 150, 57, 15))
self.label_6.setObjectName("label_6")
self.label_13 = QtGui.QLabel(self.statistics)
self.label_13.setGeometry(QtCore.QRect(130, 150, 57, 15))
self.label_13.setObjectName("label_13")
self.label_17 = QtGui.QLabel(self.statistics)
self.label_17.setGeometry(QtCore.QRect(20, 170, 57, 15))
self.label_17.setObjectName("label_17")
self.label_21 = QtGui.QLabel(self.statistics)
self.label_21.setGeometry(QtCore.QRect(130, 170, 57, 15))
self.label_21.setObjectName("label_21")
self.label_22 = QtGui.QLabel(self.statistics)
self.label_22.setGeometry(QtCore.QRect(20, 190, 57, 15))
self.label_22.setObjectName("label_22")
self.label_23 = QtGui.QLabel(self.statistics)
self.label_23.setGeometry(QtCore.QRect(130, 190, 57, 15))
self.label_23.setObjectName("label_23")
self.stats_content_text = QtGui.QLabel(self.statistics)
self.stats_content_text.setGeometry(QtCore.QRect(180, 150, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_content_text.sizePolicy().hasHeightForWidth())
self.stats_content_text.setSizePolicy(sizePolicy)
self.stats_content_text.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_content_text.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_content_text.setText("")
self.stats_content_text.setTextFormat(QtCore.Qt.RichText)
self.stats_content_text.setOpenExternalLinks(True)
self.stats_content_text.setObjectName("stats_content_text")
self.stats_content_video = QtGui.QLabel(self.statistics)
self.stats_content_video.setGeometry(QtCore.QRect(180, 170, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_content_video.sizePolicy().hasHeightForWidth())
self.stats_content_video.setSizePolicy(sizePolicy)
self.stats_content_video.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_content_video.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_content_video.setText("")
self.stats_content_video.setTextFormat(QtCore.Qt.RichText)
self.stats_content_video.setOpenExternalLinks(True)
self.stats_content_video.setObjectName("stats_content_video")
self.stats_content_other = QtGui.QLabel(self.statistics)
self.stats_content_other.setGeometry(QtCore.QRect(180, 190, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_content_other.sizePolicy().hasHeightForWidth())
self.stats_content_other.setSizePolicy(sizePolicy)
self.stats_content_other.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_content_other.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_content_other.setText("")
self.stats_content_other.setTextFormat(QtCore.Qt.RichText)
self.stats_content_other.setOpenExternalLinks(True)
self.stats_content_other.setObjectName("stats_content_other")
self.stats_content_image = QtGui.QLabel(self.statistics)
self.stats_content_image.setGeometry(QtCore.QRect(70, 150, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_content_image.sizePolicy().hasHeightForWidth())
self.stats_content_image.setSizePolicy(sizePolicy)
self.stats_content_image.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_content_image.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_content_image.setText("")
self.stats_content_image.setTextFormat(QtCore.Qt.RichText)
self.stats_content_image.setOpenExternalLinks(True)
self.stats_content_image.setObjectName("stats_content_image")
self.stats_content_audio = QtGui.QLabel(self.statistics)
self.stats_content_audio.setGeometry(QtCore.QRect(70, 170, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_content_audio.sizePolicy().hasHeightForWidth())
self.stats_content_audio.setSizePolicy(sizePolicy)
self.stats_content_audio.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_content_audio.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_content_audio.setText("")
self.stats_content_audio.setTextFormat(QtCore.Qt.RichText)
self.stats_content_audio.setOpenExternalLinks(True)
self.stats_content_audio.setObjectName("stats_content_audio")
self.stats_content_mail = QtGui.QLabel(self.statistics)
self.stats_content_mail.setGeometry(QtCore.QRect(70, 190, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_content_mail.sizePolicy().hasHeightForWidth())
self.stats_content_mail.setSizePolicy(sizePolicy)
self.stats_content_mail.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_content_mail.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_content_mail.setText("")
self.stats_content_mail.setTextFormat(QtCore.Qt.RichText)
self.stats_content_mail.setOpenExternalLinks(True)
self.stats_content_mail.setObjectName("stats_content_mail")
self.label_24 = QtGui.QLabel(self.statistics)
self.label_24.setGeometry(QtCore.QRect(20, 30, 71, 16))
self.label_24.setObjectName("label_24")
self.label_25 = QtGui.QLabel(self.statistics)
self.label_25.setGeometry(QtCore.QRect(20, 60, 81, 16))
self.label_25.setObjectName("label_25")
self.label_26 = QtGui.QLabel(self.statistics)
self.label_26.setGeometry(QtCore.QRect(190, 30, 61, 16))
self.label_26.setObjectName("label_26")
self.stats_valid_urls = QtGui.QLabel(self.statistics)
self.stats_valid_urls.setGeometry(QtCore.QRect(100, 30, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_valid_urls.sizePolicy().hasHeightForWidth())
self.stats_valid_urls.setSizePolicy(sizePolicy)
self.stats_valid_urls.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_valid_urls.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_valid_urls.setText("")
self.stats_valid_urls.setTextFormat(QtCore.Qt.RichText)
self.stats_valid_urls.setOpenExternalLinks(True)
self.stats_valid_urls.setObjectName("stats_valid_urls")
self.stats_invalid_urls = QtGui.QLabel(self.statistics)
self.stats_invalid_urls.setGeometry(QtCore.QRect(100, 60, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_invalid_urls.sizePolicy().hasHeightForWidth())
self.stats_invalid_urls.setSizePolicy(sizePolicy)
self.stats_invalid_urls.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_invalid_urls.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_invalid_urls.setText("")
self.stats_invalid_urls.setTextFormat(QtCore.Qt.RichText)
self.stats_invalid_urls.setOpenExternalLinks(True)
self.stats_invalid_urls.setObjectName("stats_invalid_urls")
self.stats_warnings = QtGui.QLabel(self.statistics)
self.stats_warnings.setGeometry(QtCore.QRect(260, 30, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_warnings.sizePolicy().hasHeightForWidth())
self.stats_warnings.setSizePolicy(sizePolicy)
self.stats_warnings.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_warnings.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_warnings.setText("")
self.stats_warnings.setTextFormat(QtCore.Qt.RichText)
self.stats_warnings.setOpenExternalLinks(True)
self.stats_warnings.setObjectName("stats_warnings")
self.label_27 = QtGui.QLabel(self.statistics)
self.label_27.setGeometry(QtCore.QRect(230, 150, 71, 16))
self.label_27.setObjectName("label_27")
self.stats_content_application = QtGui.QLabel(self.statistics)
self.stats_content_application.setGeometry(QtCore.QRect(300, 150, 31, 20))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stats_content_application.sizePolicy().hasHeightForWidth())
self.stats_content_application.setSizePolicy(sizePolicy)
self.stats_content_application.setFrameShape(QtGui.QFrame.StyledPanel)
self.stats_content_application.setFrameShadow(QtGui.QFrame.Sunken)
self.stats_content_application.setText("")
self.stats_content_application.setTextFormat(QtCore.Qt.RichText)
self.stats_content_application.setOpenExternalLinks(True)
self.stats_content_application.setObjectName("stats_content_application")
self.horizontalLayout.addWidget(self.statistics)
self.verticalLayout.addLayout(self.horizontalLayout)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 638, 21))
self.menubar.setGeometry(QtCore.QRect(0, 0, 767, 21))
self.menubar.setObjectName("menubar")
self.menuEdit = QtGui.QMenu(self.menubar)
self.menuEdit.setObjectName("menuEdit")
@ -145,6 +572,34 @@ class Ui_MainWindow(object):
self.label.setText(_("URL"))
self.controlButton.setToolTip(_("Start checking the given URL."))
self.controlButton.setText(_("Start"))
self.url_properties.setTitle(_("URL properties"))
self.label_2.setText(_("URL"))
self.label_3.setText(_("Name"))
self.label_4.setText(_("Parent URL"))
self.label_5.setText(_("Base"))
self.label_7.setText(_("Check time"))
self.label_8.setText(_("D/L time"))
self.label_9.setText(_("Size"))
self.label_10.setText(_("Info"))
self.label_11.setText(_("Warning"))
self.label_12.setText(_("Result"))
self.statistics.setTitle(_("Check statistics"))
self.label_14.setText(_("Domains"))
self.label_15.setText(_("Content types"))
self.label_16.setText(_("URL lengths"))
self.label_18.setText(_("Min"))
self.label_19.setText(_("Max"))
self.label_20.setText(_("Average"))
self.label_6.setText(_("Image"))
self.label_13.setText(_("Text"))
self.label_17.setText(_("Audio"))
self.label_21.setText(_("Video"))
self.label_22.setText(_("Mail"))
self.label_23.setText(_("Other"))
self.label_24.setText(_("Valid URLs"))
self.label_25.setText(_("Invalid URLs"))
self.label_26.setText(_("Warnings"))
self.label_27.setText(_("Application"))
self.menuEdit.setTitle(_("Edit"))
self.menuLinkChecka.setTitle(_("File"))
self.menuHelp.setTitle(_("Help"))

View file

@ -1,218 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/properties.ui'
#
# Created: Sun Nov 28 10:35:50 2010
# by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
class Ui_PropertiesDialog(object):
def setupUi(self, PropertiesDialog):
PropertiesDialog.setObjectName("PropertiesDialog")
PropertiesDialog.setWindowModality(QtCore.Qt.ApplicationModal)
PropertiesDialog.resize(466, 286)
self.verticalLayout = QtGui.QVBoxLayout(PropertiesDialog)
self.verticalLayout.setObjectName("verticalLayout")
self.frame = QtGui.QFrame(PropertiesDialog)
self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame.setFrameShadow(QtGui.QFrame.Raised)
self.frame.setObjectName("frame")
self.formLayout = QtGui.QFormLayout(self.frame)
self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.ExpandingFieldsGrow)
self.formLayout.setObjectName("formLayout")
self.label_2 = QtGui.QLabel(self.frame)
self.label_2.setObjectName("label_2")
self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_2)
self.prop_url = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_url.sizePolicy().hasHeightForWidth())
self.prop_url.setSizePolicy(sizePolicy)
self.prop_url.setMinimumSize(QtCore.QSize(300, 0))
self.prop_url.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_url.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_url.setText("")
self.prop_url.setTextFormat(QtCore.Qt.RichText)
self.prop_url.setOpenExternalLinks(True)
self.prop_url.setObjectName("prop_url")
self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.prop_url)
self.label_3 = QtGui.QLabel(self.frame)
self.label_3.setObjectName("label_3")
self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_3)
self.prop_name = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_name.sizePolicy().hasHeightForWidth())
self.prop_name.setSizePolicy(sizePolicy)
self.prop_name.setMinimumSize(QtCore.QSize(300, 0))
self.prop_name.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_name.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_name.setText("")
self.prop_name.setTextFormat(QtCore.Qt.PlainText)
self.prop_name.setObjectName("prop_name")
self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.prop_name)
self.label_4 = QtGui.QLabel(self.frame)
self.label_4.setObjectName("label_4")
self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_4)
self.prop_parenturl = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_parenturl.sizePolicy().hasHeightForWidth())
self.prop_parenturl.setSizePolicy(sizePolicy)
self.prop_parenturl.setMinimumSize(QtCore.QSize(300, 0))
self.prop_parenturl.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_parenturl.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_parenturl.setText("")
self.prop_parenturl.setTextFormat(QtCore.Qt.RichText)
self.prop_parenturl.setOpenExternalLinks(True)
self.prop_parenturl.setObjectName("prop_parenturl")
self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.prop_parenturl)
self.label_5 = QtGui.QLabel(self.frame)
self.label_5.setObjectName("label_5")
self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_5)
self.prop_base = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_base.sizePolicy().hasHeightForWidth())
self.prop_base.setSizePolicy(sizePolicy)
self.prop_base.setMinimumSize(QtCore.QSize(300, 0))
self.prop_base.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_base.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_base.setText("")
self.prop_base.setTextFormat(QtCore.Qt.RichText)
self.prop_base.setOpenExternalLinks(False)
self.prop_base.setObjectName("prop_base")
self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.prop_base)
self.label_7 = QtGui.QLabel(self.frame)
self.label_7.setObjectName("label_7")
self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_7)
self.prop_checktime = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_checktime.sizePolicy().hasHeightForWidth())
self.prop_checktime.setSizePolicy(sizePolicy)
self.prop_checktime.setMinimumSize(QtCore.QSize(300, 0))
self.prop_checktime.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_checktime.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_checktime.setText("")
self.prop_checktime.setTextFormat(QtCore.Qt.PlainText)
self.prop_checktime.setObjectName("prop_checktime")
self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.prop_checktime)
self.label_8 = QtGui.QLabel(self.frame)
self.label_8.setObjectName("label_8")
self.formLayout.setWidget(5, QtGui.QFormLayout.LabelRole, self.label_8)
self.prop_dltime = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_dltime.sizePolicy().hasHeightForWidth())
self.prop_dltime.setSizePolicy(sizePolicy)
self.prop_dltime.setMinimumSize(QtCore.QSize(300, 0))
self.prop_dltime.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_dltime.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_dltime.setText("")
self.prop_dltime.setTextFormat(QtCore.Qt.PlainText)
self.prop_dltime.setObjectName("prop_dltime")
self.formLayout.setWidget(5, QtGui.QFormLayout.FieldRole, self.prop_dltime)
self.label_9 = QtGui.QLabel(self.frame)
self.label_9.setObjectName("label_9")
self.formLayout.setWidget(6, QtGui.QFormLayout.LabelRole, self.label_9)
self.prop_size = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_size.sizePolicy().hasHeightForWidth())
self.prop_size.setSizePolicy(sizePolicy)
self.prop_size.setMinimumSize(QtCore.QSize(300, 0))
self.prop_size.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_size.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_size.setText("")
self.prop_size.setTextFormat(QtCore.Qt.PlainText)
self.prop_size.setObjectName("prop_size")
self.formLayout.setWidget(6, QtGui.QFormLayout.FieldRole, self.prop_size)
self.label_10 = QtGui.QLabel(self.frame)
self.label_10.setObjectName("label_10")
self.formLayout.setWidget(7, QtGui.QFormLayout.LabelRole, self.label_10)
self.prop_info = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_info.sizePolicy().hasHeightForWidth())
self.prop_info.setSizePolicy(sizePolicy)
self.prop_info.setMinimumSize(QtCore.QSize(300, 0))
self.prop_info.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_info.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_info.setText("")
self.prop_info.setTextFormat(QtCore.Qt.PlainText)
self.prop_info.setWordWrap(True)
self.prop_info.setObjectName("prop_info")
self.formLayout.setWidget(7, QtGui.QFormLayout.FieldRole, self.prop_info)
self.label_11 = QtGui.QLabel(self.frame)
self.label_11.setObjectName("label_11")
self.formLayout.setWidget(8, QtGui.QFormLayout.LabelRole, self.label_11)
self.prop_warning = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_warning.sizePolicy().hasHeightForWidth())
self.prop_warning.setSizePolicy(sizePolicy)
self.prop_warning.setMinimumSize(QtCore.QSize(300, 0))
self.prop_warning.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_warning.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_warning.setText("")
self.prop_warning.setTextFormat(QtCore.Qt.PlainText)
self.prop_warning.setScaledContents(True)
self.prop_warning.setWordWrap(True)
self.prop_warning.setObjectName("prop_warning")
self.formLayout.setWidget(8, QtGui.QFormLayout.FieldRole, self.prop_warning)
self.label_12 = QtGui.QLabel(self.frame)
self.label_12.setObjectName("label_12")
self.formLayout.setWidget(9, QtGui.QFormLayout.LabelRole, self.label_12)
self.prop_result = QtGui.QLabel(self.frame)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.prop_result.sizePolicy().hasHeightForWidth())
self.prop_result.setSizePolicy(sizePolicy)
self.prop_result.setMinimumSize(QtCore.QSize(300, 0))
self.prop_result.setFrameShape(QtGui.QFrame.StyledPanel)
self.prop_result.setFrameShadow(QtGui.QFrame.Sunken)
self.prop_result.setText("")
self.prop_result.setTextFormat(QtCore.Qt.PlainText)
self.prop_result.setObjectName("prop_result")
self.formLayout.setWidget(9, QtGui.QFormLayout.FieldRole, self.prop_result)
self.verticalLayout.addWidget(self.frame)
self.okButton = QtGui.QPushButton(PropertiesDialog)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.okButton.sizePolicy().hasHeightForWidth())
self.okButton.setSizePolicy(sizePolicy)
self.okButton.setObjectName("okButton")
self.verticalLayout.addWidget(self.okButton)
self.retranslateUi(PropertiesDialog)
QtCore.QMetaObject.connectSlotsByName(PropertiesDialog)
def retranslateUi(self, PropertiesDialog):
PropertiesDialog.setWindowTitle(_("LinkChecker URL properties"))
self.label_2.setText(_("URL"))
self.label_3.setText(_("Name"))
self.label_4.setText(_("Parent URL"))
self.label_5.setText(_("Base"))
self.label_7.setText(_("Check time"))
self.label_8.setText(_("D/L time"))
self.label_9.setText(_("Size"))
self.label_10.setText(_("Info"))
self.label_11.setText(_("Warning"))
self.label_12.setText(_("Result"))
self.okButton.setText(_("Ok"))

View file

@ -38,6 +38,7 @@ class GuiLogger (Logger):
def __init__ (self, **args):
super(GuiLogger, self).__init__(**args)
self.log_url_signal = args["signal"]
self.log_stats_signal = args["stats"]
def start_fileoutput (self):
pass
@ -50,7 +51,7 @@ class GuiLogger (Logger):
self.log_url_signal.emit(url_data)
def end_output (self):
pass
self.log_stats_signal.emit(self.stats)
def start_output (self):
pass

View file

@ -16,52 +16,53 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
from PyQt4 import QtGui
from .linkchecker_ui_properties import Ui_PropertiesDialog
from .. import strformat
class PropertiesDialog (QtGui.QDialog, Ui_PropertiesDialog):
"""Show URL properties dialog."""
def set_properties (widget, data):
"""Write URL data values into text fields."""
if data.url:
widget.prop_url.setText(u'<a href="%(url)s">%(url)s</a>' % \
dict(url=data.url))
else:
widget.prop_url.setText(u"")
widget.prop_name.setText(data.name)
if data.parent_url:
widget.prop_parenturl.setText(u'<a href="%(url)s">%(url)s</a>' % \
dict(url=data.parent_url))
else:
widget.prop_parenturl.setText(u"")
widget.prop_base.setText(data.base_ref)
widget.prop_checktime.setText(_("%.3f seconds") % data.checktime)
if data.dltime >= 0:
widget.prop_dltime.setText(_("%.3f seconds") % data.dltime)
else:
widget.prop_dltime.setText(u"")
if data.dlsize >= 0:
widget.prop_size.setText(strformat.strsize(data.dlsize))
else:
widget.prop_size.setText(u"")
widget.prop_info.setText(wrap(data.info, 65))
widget.prop_warning.setText(wrap(data.warnings, 65))
if data.valid:
result = u"Valid"
else:
result = u"Error"
if data.result:
result += u": %s" % data.result
widget.prop_result.setText(result)
def __init__ (self, parent=None):
super(PropertiesDialog, self).__init__(parent)
self.setupUi(self)
self.okButton.clicked.connect(self.close)
def set_item (self, urlitem):
"""Write URL item values into text fields."""
data = urlitem.url_data
if data.url:
self.prop_url.setText(u'<a href="%(url)s">%(url)s</a>' % \
dict(url=data.url))
else:
self.prop_url.setText(u"")
self.prop_name.setText(data.name)
if data.parent_url:
self.prop_parenturl.setText(u'<a href="%(url)s">%(url)s</a>' % \
dict(url=data.parent_url))
else:
self.prop_parenturl.setText(u"")
self.prop_base.setText(data.base_ref)
self.prop_checktime.setText(_("%.3f seconds") % data.checktime)
if data.dltime >= 0:
self.prop_dltime.setText(_("%.3f seconds") % data.dltime)
else:
self.prop_dltime.setText(u"")
if data.dlsize >= 0:
self.prop_size.setText(strformat.strsize(data.dlsize))
else:
self.prop_size.setText(u"")
self.prop_info.setText(wrap(data.info, 65))
self.prop_warning.setText(wrap(data.warnings, 65))
if data.valid:
result = u"Valid"
else:
result = u"Error"
if data.result:
result += u": %s" % data.result
self.prop_result.setText(result)
def set_statistics (widget, statistics):
widget.stats_domains.setText(u"%d" % len(statistics.domains))
widget.stats_url_minlen.setText(u"%d" % statistics.min_url_length)
widget.stats_url_maxlen.setText(u"%d" % statistics.max_url_length)
widget.stats_url_avglen.setText(u"%d" % statistics.avg_url_length)
widget.stats_valid_urls.setText(u"%d" % (statistics.number - statistics.errors))
widget.stats_invalid_urls.setText(u"%d" % statistics.errors)
widget.stats_warnings.setText(u"%d" % statistics.warnings)
for key, value in statistics.link_types.items():
getattr(widget, "stats_content_%s"%key).setText(u"%d" % value)
def wrap (lines, width):

File diff suppressed because it is too large Load diff

View file

@ -1,420 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PropertiesDialog</class>
<widget class="QDialog" name="PropertiesDialog">
<property name="windowModality">
<enum>Qt::ApplicationModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>466</width>
<height>286</height>
</rect>
</property>
<property name="windowTitle">
<string>LinkChecker URL properties</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>URL</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="prop_url">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="prop_name">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Parent URL</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="prop_parenturl">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Base</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="prop_base">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="openExternalLinks">
<bool>false</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Check time</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="prop_checktime">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>D/L time</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="prop_dltime">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Size</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="prop_size">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Info</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="prop_info">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Warning</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="prop_warning">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Result</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLabel" name="prop_result">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QPushButton" name="okButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Ok</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>