code: def parsePyLintWarnings(warnings):
      
  
      warningsDict = {}
  
      for line in warnings:
  
          match = re.search(P_PYLINT_ERROR, line)
  
          if match:
              matchDict = match.groupdict()
  
              if not warningsDict.get(matchDict["file"]):
                  warningsDict[matchDict["file"]] = []
  
              warningEntry = {
                  "line": matchDict.get("file"),
                  "warning_id": matchDict.get("type") + matchDict.get("errno"),
              }
  
              if matchDict.get("msg"):
                  warningEntry["warning_message"] = matchDict.get("msg")
  
              warningsDict[matchDict["file"]].append(warningEntry)
  
      return warningsDict
docs: Turns pyLint/TwistedChecker output into something more useful.
  
      @param warnings: The warnings to process. Needs to be in pyLint's
          'parseable' format.
  
      @return: L{dict} of L{list}s