def write_header(fo, metadata, sync_marker): header = { 'magic': MAGIC, 'meta': dict([(key, utob(value)) for key, value in iteritems(metadata)]), 'sync': sync_marker } write_data(fo, header, HEADER_SCHEMA)
import json from struct import unpack, error as StructError from zlib import decompress try: from fastavro._six import MemoryIO, xrange, btou, utob, iteritems from fastavro._schema import extract_named_schemas_into_repo,\ extract_record_type except ImportError: from fastavro.six import MemoryIO, xrange, btou, utob, iteritems from fastavro.schema import extract_named_schemas_into_repo,\ extract_record_type VERSION = 1 MAGIC = b'Obj' + utob(chr(VERSION)) SYNC_SIZE = 16 HEADER_SCHEMA = { 'type': 'record', 'name': 'org.apache.avro.file.Header', 'fields': [ { 'name': 'magic', 'type': {'type': 'fixed', 'name': 'magic', 'size': len(MAGIC)}, }, { 'name': 'meta', 'type': {'type': 'map', 'values': 'bytes'} }, { 'name': 'sync',
from struct import unpack, error as StructError from zlib import decompress try: from fastavro._six import MemoryIO, xrange, btou, utob, iteritems, is_str from fastavro._schema import ( extract_record_type, acquaint_schema, populate_schema_defs ) except ImportError: from fastavro.six import MemoryIO, xrange, btou, utob, iteritems, is_str from fastavro.schema import ( extract_record_type, acquaint_schema, populate_schema_defs ) VERSION = 1 MAGIC = b'Obj' + utob(chr(VERSION)) SYNC_SIZE = 16 HEADER_SCHEMA = { 'type': 'record', 'name': 'org.apache.avro.file.Header', 'fields': [ { 'name': 'magic', 'type': {'type': 'fixed', 'name': 'magic', 'size': len(MAGIC)}, }, { 'name': 'meta', 'type': {'type': 'map', 'values': 'bytes'} }, { 'name': 'sync',
def write_utf8(fo, datum, schema=None): """A string is encoded as a long followed by that many bytes of UTF-8 encoded character data.""" write_bytes(fo, utob(datum))