#include <Python.h>#include <stdio.h>#include <datetime.h>#include "_cbson.h"#include "buffer.h"#include <time.h>

Go to the source code of this file.
Defines | |
| #define | FLAGS_SIZE 7 |
| #define | INT2STRING(buffer, i) asprintf((buffer), "%d", (i)) |
| #define | STRCAT(dest, n, src) strcat((dest), (src)) |
| #define | WARN(category, message) PyErr_Warn((category), (message)) |
Functions | |
| static PyObject * | _cbson_bson_to_dict (PyObject *self, PyObject *args) |
| static PyObject * | _cbson_decode_all (PyObject *self, PyObject *args) |
| static PyObject * | _cbson_dict_to_bson (PyObject *self, PyObject *args) |
| static PyObject * | _error (char *name) |
| static int | _reload_object (PyObject **object, char *module_name, char *object_name) |
| static int | _reload_python_objects (void) |
| static int | _write_element_to_buffer (buffer_t buffer, int type_byte, PyObject *value, unsigned char check_keys, unsigned char first_attempt) |
| int | buffer_write_bytes (buffer_t buffer, const char *data, int size) |
| static int | check_key_name (const char *name, const Py_ssize_t name_length) |
| static PyObject * | datetime_from_millis (long long millis) |
| int | decode_and_write_pair (buffer_t buffer, PyObject *key, PyObject *value, unsigned char check_keys, unsigned char top_level) |
| static PyObject * | elements_to_dict (const char *string, int max, PyObject *as_class, unsigned char tz_aware) |
| static PyObject * | get_value (const char *buffer, int *position, int type, PyObject *as_class, unsigned char tz_aware) |
| PyMODINIT_FUNC | init_cbson (void) |
| static long long | millis_from_datetime (PyObject *datetime) |
| int | write_dict (buffer_t buffer, PyObject *dict, unsigned char check_keys, unsigned char top_level) |
| static int | write_element_to_buffer (buffer_t buffer, int type_byte, PyObject *value, unsigned char check_keys, unsigned char first_attempt) |
| int | write_pair (buffer_t buffer, const char *name, Py_ssize_t name_length, PyObject *value, unsigned char check_keys, unsigned char allow_id) |
| static int | write_string (buffer_t buffer, PyObject *py_string) |
Variables | |
| static PyMethodDef | _CBSONMethods [] |
| static PyObject * | Binary = NULL |
| static PyObject * | Code = NULL |
| static PyObject * | DBRef = NULL |
| static PyObject * | MaxKey = NULL |
| static PyObject * | MinKey = NULL |
| static PyObject * | ObjectId = NULL |
| static PyObject * | RECompile = NULL |
| static PyTypeObject * | REType = NULL |
| static PyObject * | Timestamp = NULL |
| static PyObject * | UTC = NULL |
| static PyObject * | UUID = NULL |
| #define FLAGS_SIZE 7 |
Definition at line 54 of file _cbsonmodule.c.
Definition at line 86 of file _cbsonmodule.c.
| #define STRCAT | ( | dest, | |||
| n, | |||||
| src | ) | strcat((dest), (src)) |
Definition at line 87 of file _cbsonmodule.c.
| #define WARN | ( | category, | |||
| message | ) | PyErr_Warn((category), (message)) |
Definition at line 46 of file _cbsonmodule.c.
| static PyObject* _cbson_bson_to_dict | ( | PyObject * | self, | |
| PyObject * | args | |||
| ) | [static] |
Definition at line 1247 of file _cbsonmodule.c.
| static PyObject* _cbson_decode_all | ( | PyObject * | self, | |
| PyObject * | args | |||
| ) | [static] |
Definition at line 1312 of file _cbsonmodule.c.
| static PyObject* _cbson_dict_to_bson | ( | PyObject * | self, | |
| PyObject * | args | |||
| ) | [static] |
Definition at line 822 of file _cbsonmodule.c.
| static PyObject* _error | ( | char * | name | ) | [static] |
Definition at line 159 of file _cbsonmodule.c.
| static int _reload_object | ( | PyObject ** | object, | |
| char * | module_name, | |||
| char * | object_name | |||
| ) | [static] |
Definition at line 173 of file _cbsonmodule.c.
| static int _reload_python_objects | ( | void | ) | [static] |
Definition at line 190 of file _cbsonmodule.c.
| static int _write_element_to_buffer | ( | buffer_t | buffer, | |
| int | type_byte, | |||
| PyObject * | value, | |||
| unsigned char | check_keys, | |||
| unsigned char | first_attempt | |||
| ) | [static] |
Definition at line 230 of file _cbsonmodule.c.
| int buffer_write_bytes | ( | buffer_t | buffer, | |
| const char * | data, | |||
| int | size | |||
| ) |
Definition at line 130 of file _cbsonmodule.c.
| static int check_key_name | ( | const char * | name, | |
| const Py_ssize_t | name_length | |||
| ) | [static] |
Definition at line 639 of file _cbsonmodule.c.
| static PyObject* datetime_from_millis | ( | long long | millis | ) | [static] |
Definition at line 98 of file _cbsonmodule.c.
| int decode_and_write_pair | ( | buffer_t | buffer, | |
| PyObject * | key, | |||
| PyObject * | value, | |||
| unsigned char | check_keys, | |||
| unsigned char | top_level | |||
| ) |
Definition at line 694 of file _cbsonmodule.c.
| static PyObject * elements_to_dict | ( | const char * | string, | |
| int | max, | |||
| PyObject * | as_class, | |||
| unsigned char | tz_aware | |||
| ) | [static] |
Definition at line 1219 of file _cbsonmodule.c.
| static PyObject* get_value | ( | const char * | buffer, | |
| int * | position, | |||
| int | type, | |||
| PyObject * | as_class, | |||
| unsigned char | tz_aware | |||
| ) | [static] |
Definition at line 850 of file _cbsonmodule.c.
| PyMODINIT_FUNC init_cbson | ( | void | ) |
Definition at line 1388 of file _cbsonmodule.c.
| static long long millis_from_datetime | ( | PyObject * | datetime | ) | [static] |
Definition at line 113 of file _cbsonmodule.c.
| int write_dict | ( | buffer_t | buffer, | |
| PyObject * | dict, | |||
| unsigned char | check_keys, | |||
| unsigned char | top_level | |||
| ) |
Definition at line 758 of file _cbsonmodule.c.
| static int write_element_to_buffer | ( | buffer_t | buffer, | |
| int | type_byte, | |||
| PyObject * | value, | |||
| unsigned char | check_keys, | |||
| unsigned char | first_attempt | |||
| ) | [static] |
Definition at line 213 of file _cbsonmodule.c.
| int write_pair | ( | buffer_t | buffer, | |
| const char * | name, | |||
| Py_ssize_t | name_length, | |||
| PyObject * | value, | |||
| unsigned char | check_keys, | |||
| unsigned char | allow_id | |||
| ) |
Definition at line 666 of file _cbsonmodule.c.
| static int write_string | ( | buffer_t | buffer, | |
| PyObject * | py_string | |||
| ) | [static] |
Definition at line 139 of file _cbsonmodule.c.
PyMethodDef _CBSONMethods[] [static] |
{
{"_dict_to_bson", _cbson_dict_to_bson, METH_VARARGS,
"convert a dictionary to a string containing it's BSON representation."},
{"_bson_to_dict", _cbson_bson_to_dict, METH_VARARGS,
"convert a BSON string to a SON object."},
{"decode_all", _cbson_decode_all, METH_VARARGS,
"convert binary data to a sequence of documents."},
{NULL, NULL, 0, NULL}
}
Definition at line 1378 of file _cbsonmodule.c.
PyObject* Binary = NULL [static] |
Definition at line 33 of file _cbsonmodule.c.
PyObject* Code = NULL [static] |
Definition at line 34 of file _cbsonmodule.c.
PyObject* DBRef = NULL [static] |
Definition at line 36 of file _cbsonmodule.c.
PyObject* MaxKey = NULL [static] |
Definition at line 41 of file _cbsonmodule.c.
PyObject* MinKey = NULL [static] |
Definition at line 40 of file _cbsonmodule.c.
PyObject* ObjectId = NULL [static] |
Definition at line 35 of file _cbsonmodule.c.
PyObject* RECompile = NULL [static] |
Definition at line 37 of file _cbsonmodule.c.
PyTypeObject* REType = NULL [static] |
Definition at line 43 of file _cbsonmodule.c.
PyObject* Timestamp = NULL [static] |
Definition at line 39 of file _cbsonmodule.c.
PyObject* UTC = NULL [static] |
Definition at line 42 of file _cbsonmodule.c.
PyObject* UUID = NULL [static] |
Definition at line 38 of file _cbsonmodule.c.