def meta(r):
    """Convert 60 character string `r`, the metadata from an image file.
    Returns a 5-tuple (*chan*,*minx*,*miny*,*limx*,*limy*).  5-tuples may
    settle into lists in transit.

    As per http://plan9.bell-labs.com/magic/man2html/6/image the metadata
    comprises 5 words separated by blanks.  As it happens each word starts
    at an index that is a multiple of 12, but this routine does not care
    about that."""

    r = r.split()
    # :todo: raise FormatError
    assert len(r) == 5
    r = [r[0]] + map(int, r[1:])
    return r
Convert 60 character string `r`, the metadata from an image file.
    Returns a 5-tuple (*chan*,*minx*,*miny*,*limx*,*limy*).  5-tuples may
    settle into lists in transit.

    As per http://plan9.bell-labs.com/magic/man2html/6/image the metadata
    comprises 5 words separated by blanks.  As it happens each word starts
    at an index that is a multiple of 12, but this routine does not care
    about that.