2 |
2 |
3 # Copyright (c) 2011 - 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
3 # Copyright (c) 2011 - 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
4 # |
4 # |
5 |
5 |
6 """ |
6 """ |
7 Module implementing a dialog showing statistical data for the last PEP 8 run. |
7 Module implementing a dialog showing statistical data for the last code |
|
8 style checker run. |
8 """ |
9 """ |
9 |
10 |
10 from __future__ import unicode_literals # __IGNORE_WARNING__ |
11 from __future__ import unicode_literals # __IGNORE_WARNING__ |
11 |
12 |
12 from PyQt4.QtCore import Qt, QCoreApplication |
13 from PyQt4.QtCore import Qt, QCoreApplication |
13 from PyQt4.QtGui import QDialog, QTreeWidgetItem |
14 from PyQt4.QtGui import QDialog, QTreeWidgetItem |
14 |
15 |
15 from . import pep8 |
16 from . import pep8 |
|
17 from .Pep8NamingChecker import Pep8NamingChecker |
|
18 from .Pep257Checker import Pep257Checker |
16 |
19 |
17 from .Ui_Pep8StatisticsDialog import Ui_Pep8StatisticsDialog |
20 from .Ui_Pep8StatisticsDialog import Ui_Pep8StatisticsDialog |
18 |
21 |
19 import UI.PixmapCache |
22 import UI.PixmapCache |
20 |
23 |
21 |
24 |
22 class Pep8StatisticsDialog(QDialog, Ui_Pep8StatisticsDialog): |
25 class Pep8StatisticsDialog(QDialog, Ui_Pep8StatisticsDialog): |
23 """ |
26 """ |
24 Class implementing a dialog showing statistical data for the last |
27 Class implementing a dialog showing statistical data for the last |
25 PEP 8 run. |
28 code style checker run. |
26 """ |
29 """ |
27 def __init__(self, statistics, parent=None): |
30 def __init__(self, statistics, parent=None): |
28 """ |
31 """ |
29 Constructor |
32 Constructor |
30 |
33 |
42 del stats["_FilesIssues"] |
45 del stats["_FilesIssues"] |
43 del stats["_IssuesFixed"] |
46 del stats["_IssuesFixed"] |
44 |
47 |
45 totalIssues = 0 |
48 totalIssues = 0 |
46 |
49 |
47 for code in sorted(stats.keys(), key=lambda a: a[1:]): |
50 for code in sorted(stats.keys()): |
48 if code in pep8.pep8_messages_sample_args: |
51 if code in pep8.pep8_messages_sample_args: |
49 message = QCoreApplication.translate("pep8", |
52 message = QCoreApplication.translate( |
50 pep8.pep8_messages[code]).format( |
53 "pep8", pep8.pep8_messages[code]).format( |
51 *pep8.pep8_messages_sample_args[code]) |
54 *pep8.pep8_messages_sample_args[code]) |
52 elif code in pep8.pep8_messages: |
55 elif code in pep8.pep8_messages: |
53 message = QCoreApplication.translate("pep8", |
56 message = QCoreApplication.translate( |
54 pep8.pep8_messages[code]) |
57 "pep8", pep8.pep8_messages[code]) |
|
58 elif code in Pep8NamingChecker.Messages: |
|
59 message = QCoreApplication.translate( |
|
60 "Pep8NamingChecker", Pep8NamingChecker.Messages[code]) |
|
61 elif code in Pep257Checker.Messages: |
|
62 message = QCoreApplication.translate( |
|
63 "Pep257Checker", Pep257Checker.Messages[code]) |
55 else: |
64 else: |
56 continue |
65 continue |
57 self.__createItem(stats[code], code, message) |
66 self.__createItem(stats[code], code, message) |
58 totalIssues += stats[code] |
67 totalIssues += stats[code] |
59 |
68 |
83 itm.setData(2, Qt.DisplayRole, message) |
92 itm.setData(2, Qt.DisplayRole, message) |
84 if code.startswith("W"): |
93 if code.startswith("W"): |
85 itm.setIcon(1, UI.PixmapCache.getIcon("warning.png")) |
94 itm.setIcon(1, UI.PixmapCache.getIcon("warning.png")) |
86 elif code.startswith("E"): |
95 elif code.startswith("E"): |
87 itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError.png")) |
96 itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError.png")) |
|
97 elif code.startswith("N"): |
|
98 itm.setIcon(1, UI.PixmapCache.getIcon("namingError.png")) |
|
99 elif code.startswith("D"): |
|
100 itm.setIcon(1, UI.PixmapCache.getIcon("docstringError.png")) |
88 |
101 |
89 itm.setTextAlignment(0, Qt.AlignRight) |
102 itm.setTextAlignment(0, Qt.AlignRight) |
90 itm.setTextAlignment(1, Qt.AlignHCenter) |
103 itm.setTextAlignment(1, Qt.AlignHCenter) |