--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py Thu Apr 03 23:05:31 2014 +0200 @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing message translations for pyflakes warning messages. +""" + +from __future__ import unicode_literals + +from PyQt4.QtCore import QCoreApplication + +__all__ = ["getTranslatedFlakesMessage"] + +_messages = { + 'F01': QCoreApplication.translate( + 'pyFlakes', + '{0!r} imported but unused.'), + 'F02': QCoreApplication.translate( + 'pyFlakes', + 'Redefinition of unused {0!r} from line {1!r}.'), + 'F03': QCoreApplication.translate( + 'pyFlakes', + 'Import {0!r} from line {1!r} shadowed by loop variable.'), + 'F04': QCoreApplication.translate( + 'pyFlakes', + "'from {0} import *' used; unable to detect undefined names."), + 'F05': QCoreApplication.translate( + 'pyFlakes', + 'Undefined name {0!r}.'), + 'F06': QCoreApplication.translate( + 'pyFlakes', + 'Undefined name {0!r} in __all__.'), + 'F07': QCoreApplication.translate( + 'pyFlakes', + "Local variable {0!r} (defined in enclosing scope on line {1!r})" + " referenced before assignment."), + 'F08': QCoreApplication.translate( + 'pyFlakes', + 'Duplicate argument {0!r} in function definition.'), + 'F09': QCoreApplication.translate( + 'pyFlakes', + 'Redefinition of {0!r} from line {1!r}.'), + 'F10': QCoreApplication.translate( + 'pyFlakes', + 'Future import(s) {0!r} after other statements.'), + 'F11': QCoreApplication.translate( + 'pyFlakes', + 'Local variable {0!r} is assigned to but never used.'), + 'F12': QCoreApplication.translate( + 'pyFlakes', + 'List comprehension redefines {0!r} from line {1!r}.'), + 'F13': QCoreApplication.translate( + 'pyFlakes', + 'Syntax error detected in doctest.'), +} + + +def getTranslatedFlakesMessage(message_id, message_args): + """ + Module function to get a translated and formatted message for a + given pyflakes message ID. + + @param message_id message ID (string) + @param message_args arguments for a formatted message (list) + @return translated and formatted message (string) + """ + if message_id in _messages: + # Avoid leading "u" at Python2 unicode strings + msg = _messages[message_id].replace("{0!r}", "'{0}'") + msg = msg.replace("{1!r}", "'{1}'") + return msg.format(*message_args) + else: + return QCoreApplication.translate( + "pyFlakes", "no message defined for code '{0}'")\ + .format(message_id)