Skip to content

administration: fix BT's "Check Python Code" with coding flag

Jérome Perrin requested to merge jerome/erp5:fix/bt-pylint-encoding into master

According to pep-0263, python scripts can define encoding magic on first or second line. If we use for example such a script:

  # coding: utf-8
  return "héhé"

then using .read() was wrong, because it return the script with headers, ie:

  ## Script (Python) "test_coding"
  ##bind container=container
  ##bind context=context
  ##bind namespace=
  ##bind script=script
  ##bind subpath=traverse_subpath
  ##parameters=
  ##title=
  ##
  # coding: utf-8
  return "héhé"

so the coding magic is no longer in first line and pylint complains with error like:

Cannot decode using encoding "ascii", unexpected byte at position 11 (invalid-encoded-data)]

Merge request reports