human
I wrote the below code

    if (sys.version_info >= (3, 3)):
        import shutil
        shutil_get_terminal_size = getattr(shutil, 'get_terminal_size', None)
        if shutil_get_terminal_size:
            sz = shutil_get_terminal_size()
            return (sz.columns, sz.lines)
    if (get_winterm_size is not None):
        return get_winterm_size()
    def ioctl_gwinsz(fd):
        try:
            import fcntl
            import termios
            cr = struct.unpack('hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '1234'))
        except Exception:
            return
        return cr
    cr = (ioctl_gwinsz(0) or ioctl_gwinsz(1) or ioctl_gwinsz(2))
    if (not cr):
        try:
            fd = os.open(os.ctermid(), os.O_RDONLY)
            try:
                cr = ioctl_gwinsz(fd)
            finally:
                os.close(fd)
        except Exception:
            pass
    if ((not cr) or (not cr[0]) or (not cr[1])):
        cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', DEFAULT_COLUMNS))
    return (int(cr[1]), int(cr[0]))

What's a good function header?
 Here's a good function header?
assistant
#Here's a good function header.

def get_terminal_size():