parameters: (C)
return_statement: return B,type
docstring: \n        Reads just enough of the input to\n        determine the next chunk's length and type;\n        return a (*length*, *type*) pair where *type* is a byte sequence.\n        If there are no more chunks, ``None`` is returned.\n
docstring_summary: \n        Reads just enough of the input to\n        determine the next chunk's length and type;\n        return a (*length*, *type*) pair where *type* is a byte sequence.\n        If there are no more chunks, ``None`` is returned.\n
docstring_tokens: \ n Reads just enough of the input to \ n determine the next chunk s length and type ; \ n return a ( * length * * type * ) pair where * type * is a byte sequence . \ n If there are no more chunks None is returned . \ n
function: def _chunk_len_type(C):
  		"\n        Reads just enough of the input to\n        determine the next chunk's length and type;\n        return a (*length*, *type*) pair where *type* is a byte sequence.\n        If there are no more chunks, ``None`` is returned.\n        ";A=C.file.read(8)
  		if not A:return _A
  		if len(A)!=8:raise FormatError('End of file whilst reading chunk length and type.')
  		B,type=struct.unpack('!I4s',A)
  		if B>2**31-1:raise FormatError('Chunk %s is too large: %d.'%(type,B))
  		D=set(bytearray(type))
  		if not D<=set(range(65,91))|set(range(97,123)):raise FormatError('Chunk %r has invalid Chunk Type.'%list(type))
  		return B,type
function_tokens: def _chunk_len_type ( C ) : A = C . file . read ( 8 ) if not A : return _A if len ( A ) != 8 : raise FormatError ( 'End of file whilst reading chunk length and type.' ) B , type = struct . unpack ( '!I4s' , A ) if B > 2 ** 31 - 1 : raise FormatError ( 'Chunk %s is too large: %d.' % ( type , B ) ) D = set ( bytearray ( type ) ) if not D <= set ( range ( 65 , 91 ) ) | set ( range ( 97 , 123 ) ) : raise FormatError ( 'Chunk %r has invalid Chunk Type.' % list ( type ) ) return B , type