def write_pxd(fname, h_name, ctps): def write_err_codes(pxd_out): pxd_out.write(INDENT+"enum:\n") for err_name in sorted(constants.ERR_CODES): pxd_out.write((INDENT*2)+"%s = %d\n" %\ (err_name, constants.ERR_CODES[err_name])) from cStringIO import StringIO pxd_out = open(fname, 'w') extern_block = StringIO() try: for cimp in get_pxd_cimports(get_ctp_classes(ctps)): if cimp: pxd_out.write(cimp+'\n') for ctp in ctps: for line in ctp.gen_pxd_intern_typedef(): pxd_out.write(line+'\n') for ctp in ctps: for line in ctp.gen_pxd_extern_typedef(): extern_block.write(INDENT+line+'\n') for ctp in ctps: for line in ctp.gen_pxd_extern_extra(): extern_block.write(INDENT+line+'\n') extern_block = extern_block.getvalue() if extern_block.rstrip(): pxd_out.write('cdef extern from "%s":\n' % h_name) write_err_codes(pxd_out) pxd_out.write(extern_block) finally: pxd_out.close()
def write_pxd(ctps, fbuf, h_name): def write_err_codes(pxd_out): pxd_out.write(INDENT+"enum:\n") for err_name in sorted(constants.ERR_CODES): pxd_out.write((INDENT*2)+"%s = %d\n" %\ (err_name, constants.ERR_CODES[err_name])) buf = StringIO() extern_block = StringIO() for cimp in get_pxd_cimports(get_ctp_classes(ctps)): if cimp: buf.write(cimp+'\n') for ctp in ctps: for line in ctp.gen_pxd_intern_typedef(): buf.write(line+'\n') for ctp in ctps: for line in ctp.gen_pxd_extern_typedef(): extern_block.write(INDENT+line+'\n') for ctp in ctps: for line in ctp.gen_pxd_extern_extra(): extern_block.write(INDENT+line+'\n') extern_block = extern_block.getvalue() if extern_block.rstrip(): buf.write('cdef extern from "%s":\n' % h_name) write_err_codes(buf) buf.write(extern_block) fbuf.write(buf.getvalue())
def write_pxd(ctps, fbuf, h_name): def write_err_codes(pxd_out): pxd_out.write(INDENT + "enum:\n") for err_name in sorted(constants.ERR_CODES): pxd_out.write((INDENT*2)+"%s = %d\n" %\ (err_name, constants.ERR_CODES[err_name])) buf = StringIO() extern_block = StringIO() for cimp in get_pxd_cimports(get_ctp_classes(ctps)): if cimp: buf.write(cimp + '\n') for ctp in ctps: for line in ctp.gen_pxd_intern_typedef(): buf.write(line + '\n') for ctp in ctps: for line in ctp.gen_pxd_extern_typedef(): extern_block.write(INDENT + line + '\n') for ctp in ctps: for line in ctp.gen_pxd_extern_extra(): extern_block.write(INDENT + line + '\n') extern_block = extern_block.getvalue() if extern_block.rstrip(): buf.write('cdef extern from "%s":\n' % h_name) write_err_codes(buf) buf.write(extern_block) fbuf.write(buf.getvalue())