How to use the representative in old version (version <= 0.11) for ruamel.yaml

ruamel.yaml.RoundTripRepresenter.add_representer(type(None), represent)

      

Works great in package version.

0.14.X

How can I use the same functionality in the old version ( <= 0.11 ) of the ruamel.yaml package, or an alternative way to use it in the previous version of the package?

here is an example of my program

def represent(self, data):
    return self.represent_scalar(u'tag:yaml.org,2002:null', u'NULL')

ruamel.yaml.RoundTripRepresenter.add_representer(type(None), represent)

data = ruamel.yaml.round_trip_load(input.yaml)
ruamel.yaml.round_trip_dump(data, output.yaml)

      

while working on code getting below error

ruamel.yaml.RoundTripRepresenter.add_representer(type(None), represent_none)\nAttributeError: 'module' object has no attribute 'RoundTripRepresenter'

+3


source share


1 answer


In older versions ruamel.yaml

RoundTripRepresenter

(defined in representer.py

) was not imported in main.py

and therefore not available through __init__.py

(which does   from ruamel.yaml.main import *

)

Therefore, you just need to import it from source:



from ruamel.yaml.representer import RoundTripRepresenter

RoundTripRepresenter.add_representer(type(None), represent)

      

0


source







All Articles