41 codeList = [code.strip() for code in codes.split(",") if code.strip()] |
41 codeList = [code.strip() for code in codes.split(",") if code.strip()] |
42 if categories: |
42 if categories: |
43 codeList = [code for code in codeList if not code[0] in categories] |
43 codeList = [code for code in codeList if not code[0] in categories] |
44 |
44 |
45 from .translations import _messages, _messages_sample_args |
45 from .translations import _messages, _messages_sample_args |
|
46 from .Security import translations as s_translations |
46 |
47 |
47 if showFixCodes: |
48 if showFixCodes: |
48 from .CodeStyleFixer import FixableCodeStyleIssues |
49 from .CodeStyleFixer import FixableCodeStyleIssues |
49 selectableCodes = FixableCodeStyleIssues |
50 selectableCodes = FixableCodeStyleIssues |
50 else: |
51 else: |
51 selectableCodes = [x for x in list(_messages.keys()) |
52 selectableCodes = ( |
52 if not x.startswith('FIX')] |
53 [x for x in list(_messages.keys()) |
|
54 if not x.startswith('FIX')] + |
|
55 [x for x in list(s_translations._messages.keys())] |
|
56 ) |
53 if categories: |
57 if categories: |
54 # filter by category |
58 # filter by category |
55 selectableCodes = [x for x in selectableCodes |
59 selectableCodes = [x for x in selectableCodes |
56 if not x[0] in categories] |
60 if not x[0] in categories] |
57 for code in sorted(selectableCodes): |
61 for code in sorted(selectableCodes): |
58 if code in _messages_sample_args: |
62 if code in _messages_sample_args: |
59 message = _messages[code].format(*_messages_sample_args[code]) |
63 message = _messages[code].format(*_messages_sample_args[code]) |
60 elif code in _messages: |
64 elif code in _messages: |
61 message = _messages[code] |
65 message = _messages[code] |
|
66 elif code in s_translations._messages_sample_args: |
|
67 message = s_translations._messages[code].format( |
|
68 *s_translations._messages_sample_args) |
|
69 elif code in s_translations._messages: |
|
70 message = s_translations._messages[code] |
62 else: |
71 else: |
63 continue |
72 continue |
64 itm = QTreeWidgetItem(self.codeTable, [code, message]) |
73 itm = QTreeWidgetItem(self.codeTable, [code, message]) |
65 if code.startswith(("W", "C", "M")): |
74 if code.startswith(("W", "C", "M")): |
66 itm.setIcon(0, UI.PixmapCache.getIcon("warning")) |
75 itm.setIcon(0, UI.PixmapCache.getIcon("warning")) |
68 itm.setIcon(0, UI.PixmapCache.getIcon("syntaxError")) |
77 itm.setIcon(0, UI.PixmapCache.getIcon("syntaxError")) |
69 elif code.startswith(("A", "N")): |
78 elif code.startswith(("A", "N")): |
70 itm.setIcon(0, UI.PixmapCache.getIcon("namingError")) |
79 itm.setIcon(0, UI.PixmapCache.getIcon("namingError")) |
71 elif code.startswith("D"): |
80 elif code.startswith("D"): |
72 itm.setIcon(0, UI.PixmapCache.getIcon("docstringError")) |
81 itm.setIcon(0, UI.PixmapCache.getIcon("docstringError")) |
|
82 elif code.startswith("S"): |
|
83 itm.setIcon(0, UI.PixmapCache.getIcon("securityLow")) |
73 else: |
84 else: |
74 # unknown category prefix => warning |
85 # unknown category prefix => warning |
75 itm.setIcon(0, UI.PixmapCache.getIcon("warning")) |
86 itm.setIcon(0, UI.PixmapCache.getIcon("warning")) |
76 itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) |
87 itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) |
77 if code in codeList: |
88 if code in codeList: |