--- a/Filter.py +++ b/Filter.py @@ -43,15 +43,15 @@ else: def printInfo(pkg, reason, *details): - _print("I", pkg, reason, details) + _print('I', pkg, reason, details) def printWarning(pkg, reason, *details): - _print("W", pkg, reason, details) + _print('W', pkg, reason, details) def printError(pkg, reason, *details): - _print("E", pkg, reason, details) + _print('E', pkg, reason, details) def _print(msgtype, pkg, reason, details): @@ -111,8 +111,10 @@ def printDescriptions(reason): def _diag_sortkey(x): - xs = x.split() - return (xs[2], xs[1]) + xs = x.split(maxsplit=2) + # Sort Category (Info/Warnings/Errors), Diagnostic, Name + # ['game.x86_64:', 'W:', 'call-to-mktemp /usr/games/lib/blub\n'] + return (str('IWE'.find(xs[1][0])), xs[2], xs[0]) def printAllReasons(): @@ -121,7 +123,7 @@ def printAllReasons(): return False global _diagnostic - _diagnostic.sort(key=_diag_sortkey, reverse=True) + _diagnostic.sort(key=_diag_sortkey) last_reason = '' for diag in _diagnostic: if Config.info: