¿Cómo puedo recuperar compensaciones de columna para mensajes de pylint?

StackOverflow https://stackoverflow.com/questions/6350393

  •  27-10-2019
  •  | 
  •  

Pregunta

Quiero formatear la salida de Pylint, así que llamo pylint.lint.run directamente y recibiendo devoluciones de llamada a mi método add_message. Proceso bastante suave, pero necesito el desplazamiento de la columna para que los mensajes construyan mi salida (estoy resaltando secciones de las líneas ofensivas).

Pylint informa el número de línea de cada mensaje, cuando sea apropiado. Sin embargo, parece que Pylint no informa ninguna información de compensación, por lo que no informa dónde se detectó el problema. Debajo del capó, Pylint usa otra biblioteca de Logilab, llamada Astng, que es una actualización de Python's _ast. Los nodos de los parse incluyen información de compensación, pero esto no parece replicarse en ASTNG.

¿Fue útil?

Solución

Resulta que ASTNG está construido en AST, y los muchachos de Logilab me dieron instrucciones sobre cómo parchear tanto a Astng como Pylint para obtener las compensaciones. Enlaces a los boletos con parches adjuntos: Astng: http://www.logilab.org/ticket/69217?vid=Primary&_cwmsgid=091770639ada4996a455c48aa1eb70b3Pylint: http://www.logilab.org/ticket/69220?vid=Primary&_cwmsgid=0660d106aa764a4189b1f4f1faa8aa82

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top