Enums

CToon exposes three flag/enum types that control encoding and decoding behaviour.

ReadFlag

Flags that control how TOON input is parsed.

class ReadFlag(value)
ALLOW_BOM = 256
ALLOW_COMMENTS = 8
ALLOW_EXT_ESCAPE = 1024
ALLOW_EXT_NUMBER = 512
ALLOW_EXT_WHITESPACE = 2048
ALLOW_INF_AND_NAN = 16
ALLOW_INVALID_UNICODE = 64
ALLOW_SINGLE_QUOTED_STR = 4096
ALLOW_TRAILING_COMMAS = 4
ALLOW_UNQUOTED_KEY = 8192
BIGNUM_AS_RAW = 128
INSITU = 1
NOFLAG = 0
NUMBER_AS_RAW = 32
STOP_WHEN_DONE = 2

WriteFlag

Flags that control how TOON output is serialised.

class WriteFlag(value)
ALLOW_INF_AND_NAN = 8
ALLOW_INVALID_UNICODE = 32
ESCAPE_SLASHES = 4
ESCAPE_UNICODE = 2
INF_AND_NAN_AS_NULL = 16
LENGTH_MARKER = 64
NEWLINE_AT_END = 128
NOFLAG = 0

Delimiter

Controls the field delimiter character used when encoding lists.

class Delimiter(value)
COMMA = 0
PIPE = 2
TAB = 1

Usage

import ctoon
from ctoon import WriteFlag, Delimiter

toon = ctoon.dumps(data,
    indent=4,
    delimiter=Delimiter.PIPE,
    flags=WriteFlag.LENGTH_MARKER | WriteFlag.NEWLINE_AT_END,
)