diff --git a/python/obitools3/__init__.pyc b/python/obitools3/__init__.pyc new file mode 100644 index 0000000..418f2f1 Binary files /dev/null and b/python/obitools3/__init__.pyc differ diff --git a/python/obitools3/obidms/_obidms.c b/python/obitools3/obidms/_obidms.c new file mode 100644 index 0000000..06f2230 --- /dev/null +++ b/python/obitools3/obidms/_obidms.c @@ -0,0 +1 @@ +#error Do not use this file, it is the result of a failed Cython compilation. diff --git a/python/obitools3/obidms/capi/obidms.pxd b/python/obitools3/obidms/capi/obidms.pxd new file mode 100644 index 0000000..5b922eb --- /dev/null +++ b/python/obitools3/obidms/capi/obidms.pxd @@ -0,0 +1,8 @@ +cdef extern from "obidms.h" nogil: + struct OBIDMS_t: + pass + + ctypedef OBIDMS_t* OBIDMS_p + + OBIDMS_p obi_dms(const_char_p dms_name) + int obi_close_dms(OBIDMS_p dms) diff --git a/python/obitools3/obidms/capi/obidmscolumn.pxd b/python/obitools3/obidms/capi/obidmscolumn.pxd new file mode 100644 index 0000000..1492402 --- /dev/null +++ b/python/obitools3/obidms/capi/obidmscolumn.pxd @@ -0,0 +1,19 @@ +cdef extern from "obidmscolumn.h" nogil: + struct OBIDMS_column_t: + pass + + ctypedef OBIDMS_column_t* OBIDMS_column_p + + OBIDMS_column_p obi_create_column(OBIDMS_p dms, const char* column_name, OBIType_t type, size_t nb_lines, size_t nb_elements_per_line, const char* elements_names) + size_t obi_column_get_nb_lines_used(OBIDMS_column_p column) + const char* obi_column_get_elements_names(OBIDMS_column_p column) + void obi_column_make_unwritable(OBIDMS_column_p column) + OBIDMS_column_p obi_open_column(OBIDMS_p dms, const char* column_name, obiversion_t version_number) + OBIType_t obi_column_get_type(OBIDMS_column_p column) + int obi_close_column(OBIDMS_column_p column) + OBIType_t obi_column_get_data_type_from_name(OBIDMS_p dms, const char* column_name) + OBIDMS_column_p obi_clone_column(OBIDMS_p dms, const char* column_name, obiversion_t version_number, bint clone_data) + int obi_truncate_and_close_column(OBIDMS_column_p column) + obiversion_t obi_column_get_latest_version_from_name(OBIDMS_p dms, const char* column_name) + OBIType_t obi_column_get_data_type_from_name(OBIDMS_p dms, const char* column_name) + size_t obi_column_get_line_count_from_name(OBIDMS_p dms, const char* column_name) diff --git a/python/obitools3/obidms/capi/obierrno.pxd b/python/obitools3/obidms/capi/obierrno.pxd new file mode 100644 index 0000000..186d945 --- /dev/null +++ b/python/obitools3/obidms/capi/obierrno.pxd @@ -0,0 +1,3 @@ +cdef extern from "obierrno.h" nogil: + extern int obi_errno + diff --git a/python/obitools3/obidms/capi/obitypes.pxd b/python/obitools3/obidms/capi/obitypes.pxd new file mode 100644 index 0000000..cd3a75e --- /dev/null +++ b/python/obitools3/obidms/capi/obitypes.pxd @@ -0,0 +1,33 @@ +from libc.stdint cimport int32_t + + +cdef extern from *: + ctypedef char* const_char_p "const char*" + +cdef extern from "obidmscolumn.h" nogil: + + ctypedef int32_t obiversion_t + +cdef extern from "obitypes.h" nogil: + + enum OBIType: # TODO je sais pas si ça sert de declarer le contenu de l'enum + OBI_VOID = 0, + OBI_INT, + OBI_FLOAT, + OBI_BOOL, + OBI_CHAR, + OBI_IDX + + ctypedef OBIType OBIType_t + + + enum OBIBool: + pass + + ctypedef OBIBool obibool_t + ctypedef int32_t obiint_t + ctypedef double obifloat_t + ctypedef char obichar_t + ctypedef size_t obiidx_t + + char* name_data_type(int data_type) diff --git a/python/obitools3/utils.pxd b/python/obitools3/utils.pxd new file mode 100644 index 0000000..b37e77a --- /dev/null +++ b/python/obitools3/utils.pxd @@ -0,0 +1,3 @@ +cdef bytes str2bytes(str string) + +cdef str bytes2str(bytes string) \ No newline at end of file diff --git a/python/obitools3/utils.pyx b/python/obitools3/utils.pyx new file mode 100644 index 0000000..0d22078 --- /dev/null +++ b/python/obitools3/utils.pyx @@ -0,0 +1,5 @@ +cdef bytes str2bytes(str string): + return string.encode('ascii') + +cdef str bytes2str(bytes string): + return string.decode('ascii') \ No newline at end of file diff --git a/python/obitools3/version.pyc b/python/obitools3/version.pyc new file mode 100644 index 0000000..0773059 Binary files /dev/null and b/python/obitools3/version.pyc differ