Converter

class astropy.io.votable.converters.Converter(field, config=None, pos=None)[source]

Bases: object

The base class for all converters. Each subclass handles converting a specific VOTABLE data type to/from the TABLEDATA and BINARY on-disk representations.

Parameters:
fieldField

object describing the datatype

configpython:dict

The parser configuration dictionary

pospython:tuple

The position in the XML file where the FIELD object was found. Used for error messages.

Methods Summary

binoutput(value, mask)

Convert the object value in the native in-memory datatype to a string of bytes suitable for serialization in the BINARY format.

binparse(read)

Reads some number of bytes from the BINARY format representation by calling the function read, and returns the native in-memory object representation for the datatype handled by self.

output(value, mask)

Convert the object value (in the native in-memory datatype) to a unicode string suitable for serializing in the TABLEDATA format.

parse(value[, config, pos])

Convert the string value from the TABLEDATA format into an object with the correct native in-memory datatype and mask flag.

parse_scalar(value[, config, pos])

Parse a single scalar of the underlying type of the converter.

supports_empty_values(config)

Returns True when the field can be completely empty.

Methods Documentation

binoutput(value, mask)[source]

Convert the object value in the native in-memory datatype to a string of bytes suitable for serialization in the BINARY format.

Parameters:
value

The value, the native type corresponding to this converter

maskbool

If True, will return the string representation of a masked value.

Returns:
bytesbytes

The binary representation of the value, suitable for serialization in the BINARY format.

binparse(read)[source]

Reads some number of bytes from the BINARY format representation by calling the function read, and returns the native in-memory object representation for the datatype handled by self.

Parameters:
readpython:function

A function that given a number of bytes, returns a byte string.

Returns:
native(2,) python:tuple

(value, mask). The value as a Numpy array or scalar, and mask is True if the value is missing.

output(value, mask)[source]

Convert the object value (in the native in-memory datatype) to a unicode string suitable for serializing in the TABLEDATA format.

Parameters:
value

The value, the native type corresponding to this converter

maskbool

If True, will return the string representation of a masked value.

Returns:
tabledata_reprunicode
parse(value, config=None, pos=None)[source]

Convert the string value from the TABLEDATA format into an object with the correct native in-memory datatype and mask flag.

Parameters:
valuepython:str

value in TABLEDATA format

Returns:
nativepython:tuple

A two-element tuple of: value, mask. The value as a Numpy array or scalar, and mask is True if the value is missing.

parse_scalar(value, config=None, pos=None)[source]

Parse a single scalar of the underlying type of the converter. For non-array converters, this is equivalent to parse. For array converters, this is used to parse a single element of the array.

Parameters:
valuepython:str

value in TABLEDATA format

Returns:
native(2,) python:tuple

(value, mask) The value as a Numpy array or scalar, and mask is True if the value is missing.

supports_empty_values(config)[source]

Returns True when the field can be completely empty.