def wrapListOfQuads(v):
int_to_str = lambda i: str(i) if i > -<NUM_LIT:1> else '<STR_LIT>'<EOL>try:<EOL><INDENT>rv = '<STR_LIT:;>'.join(<EOL>'<STR_LIT:U+002C>'.join(map(int_to_str, quad))<EOL>for quad in v)<EOL><DEDENT>except TypeError:<EOL><INDENT>rv = '<STR_LIT:U+002C>'.join(x and str(x) or '<STR_LIT>' for x in v)<EOL><DEDENT>return rv<EOL>
Wrap a list of ordered quads, potentially containing None's
    Produces a string 'list of semicolon separated list of integer "quadruples"'
    Used for SEQUENCE_PRIMER_PAIR_OK_REGION_LIST

    >>> wrapListOfQuads([1,2,3,4])
    '1,2,3,4'

    >>> wrapListOfQuads([(1,2,3,4)])
    '1,2,3,4'

    >>> wrapListOfQuads([[1,2,3,4]])
    '1,2,3,4'

    >>> wrapListOfQuads([[1,2,3,4], [5,6,7,8]])
    '1,2,3,4 ; 5,6,7,8'

    >>> wrapListOfQuads(((1,2,3,4), [5,6,7,8]))
    '1,2,3,4 ; 5,6,7,8'