1 /*[clinic input] 2 preserve 3 [clinic start generated code]*/ 4 5 PyDoc_STRVAR(_dbm_dbm_close__doc__, 6 "close($self, /)\n" 7 "--\n" 8 "\n" 9 "Close the database."); 10 11 #define _DBM_DBM_CLOSE_METHODDEF \ 12 {"close", (PyCFunction)_dbm_dbm_close, METH_NOARGS, _dbm_dbm_close__doc__}, 13 14 static PyObject * 15 _dbm_dbm_close_impl(dbmobject *self); 16 17 static PyObject * 18 _dbm_dbm_close(dbmobject *self, PyObject *Py_UNUSED(ignored)) 19 { 20 return _dbm_dbm_close_impl(self); 21 } 22 23 PyDoc_STRVAR(_dbm_dbm_keys__doc__, 24 "keys($self, /)\n" 25 "--\n" 26 "\n" 27 "Return a list of all keys in the database."); 28 29 #define _DBM_DBM_KEYS_METHODDEF \ 30 {"keys", (PyCFunction)_dbm_dbm_keys, METH_NOARGS, _dbm_dbm_keys__doc__}, 31 32 static PyObject * 33 _dbm_dbm_keys_impl(dbmobject *self); 34 35 static PyObject * 36 _dbm_dbm_keys(dbmobject *self, PyObject *Py_UNUSED(ignored)) 37 { 38 return _dbm_dbm_keys_impl(self); 39 } 40 41 PyDoc_STRVAR(_dbm_dbm_get__doc__, 42 "get($self, key, default=b\'\', /)\n" 43 "--\n" 44 "\n" 45 "Return the value for key if present, otherwise default."); 46 47 #define _DBM_DBM_GET_METHODDEF \ 48 {"get", (PyCFunction)_dbm_dbm_get, METH_VARARGS, _dbm_dbm_get__doc__}, 49 50 static PyObject * 51 _dbm_dbm_get_impl(dbmobject *self, const char *key, 52 Py_ssize_clean_t key_length, PyObject *default_value); 53 54 static PyObject * 55 _dbm_dbm_get(dbmobject *self, PyObject *args) 56 { 57 PyObject *return_value = NULL; 58 const char *key; 59 Py_ssize_clean_t key_length; 60 PyObject *default_value = NULL; 61 62 if (!PyArg_ParseTuple(args, "s#|O:get", 63 &key, &key_length, &default_value)) { 64 goto exit; 65 } 66 return_value = _dbm_dbm_get_impl(self, key, key_length, default_value); 67 68 exit: 69 return return_value; 70 } 71 72 PyDoc_STRVAR(_dbm_dbm_setdefault__doc__, 73 "setdefault($self, key, default=b\'\', /)\n" 74 "--\n" 75 "\n" 76 "Return the value for key if present, otherwise default.\n" 77 "\n" 78 "If key is not in the database, it is inserted with default as the value."); 79 80 #define _DBM_DBM_SETDEFAULT_METHODDEF \ 81 {"setdefault", (PyCFunction)_dbm_dbm_setdefault, METH_VARARGS, _dbm_dbm_setdefault__doc__}, 82 83 static PyObject * 84 _dbm_dbm_setdefault_impl(dbmobject *self, const char *key, 85 Py_ssize_clean_t key_length, 86 PyObject *default_value); 87 88 static PyObject * 89 _dbm_dbm_setdefault(dbmobject *self, PyObject *args) 90 { 91 PyObject *return_value = NULL; 92 const char *key; 93 Py_ssize_clean_t key_length; 94 PyObject *default_value = NULL; 95 96 if (!PyArg_ParseTuple(args, "s#|O:setdefault", 97 &key, &key_length, &default_value)) { 98 goto exit; 99 } 100 return_value = _dbm_dbm_setdefault_impl(self, key, key_length, default_value); 101 102 exit: 103 return return_value; 104 } 105 106 PyDoc_STRVAR(dbmopen__doc__, 107 "open($module, filename, flags=\'r\', mode=0o666, /)\n" 108 "--\n" 109 "\n" 110 "Return a database object.\n" 111 "\n" 112 " filename\n" 113 " The filename to open.\n" 114 " flags\n" 115 " How to open the file. \"r\" for reading, \"w\" for writing, etc.\n" 116 " mode\n" 117 " If creating a new file, the mode bits for the new file\n" 118 " (e.g. os.O_RDWR)."); 119 120 #define DBMOPEN_METHODDEF \ 121 {"open", (PyCFunction)dbmopen, METH_VARARGS, dbmopen__doc__}, 122 123 static PyObject * 124 dbmopen_impl(PyObject *module, const char *filename, const char *flags, 125 int mode); 126 127 static PyObject * 128 dbmopen(PyObject *module, PyObject *args) 129 { 130 PyObject *return_value = NULL; 131 const char *filename; 132 const char *flags = "r"; 133 int mode = 438; 134 135 if (!PyArg_ParseTuple(args, "s|si:open", 136 &filename, &flags, &mode)) { 137 goto exit; 138 } 139 return_value = dbmopen_impl(module, filename, flags, mode); 140 141 exit: 142 return return_value; 143 } 144 /*[clinic end generated code: output=99adf966ef0475ff input=a9049054013a1b77]*/ 145