private-attribute-cpp 1.4.9__tar.gz → 1.4.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. {private_attribute_cpp-1.4.9/private_attribute_cpp.egg-info → private_attribute_cpp-1.4.10}/PKG-INFO +1 -1
  2. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/private_attribute.cpp +65 -27
  3. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10/private_attribute_cpp.egg-info}/PKG-INFO +1 -1
  4. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/setup.py +1 -1
  5. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/LICENSE +0 -0
  6. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/MANIFEST.in +0 -0
  7. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/README.md +0 -0
  8. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/picosha2.h +0 -0
  9. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/private_attribute.pyi +0 -0
  10. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/private_attribute_cpp.egg-info/SOURCES.txt +0 -0
  11. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/private_attribute_cpp.egg-info/dependency_links.txt +0 -0
  12. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/private_attribute_cpp.egg-info/not-zip-safe +0 -0
  13. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/private_attribute_cpp.egg-info/top_level.txt +0 -0
  14. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/setup.cfg +0 -0
  15. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/tests/test_class_private_attrs.py +0 -0
  16. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/tests/test_private_abc.py +0 -0
  17. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/tests/test_private_attrs.py +0 -0
  18. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/tests/test_private_func.py +0 -0
  19. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/tests/test_private_inheritance.py +0 -0
  20. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/tests/test_private_method.py +0 -0
  21. {private_attribute_cpp-1.4.9 → private_attribute_cpp-1.4.10}/tests/test_private_wrap.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: private_attribute_cpp
3
- Version: 1.4.9
3
+ Version: 1.4.10
4
4
  Summary: A Python package that provides a way to define private attributes in C++ implementation.
5
5
  Home-page: https://github.com/Locked-chess-official/private_attribute_cpp
6
6
  Author: HuangHaoHua
@@ -2891,8 +2891,7 @@ PrivateTempObject_kwds(PyObject* self, void* /*closure*/) noexcept
2891
2891
  {
2892
2892
  PyObject* kwds = ((PrivateTempObject*)self)->tmp->base_kwds;
2893
2893
  if (!kwds) {
2894
- PyErr_SetString(PyExc_RuntimeError, "object not init or have been used");
2895
- return nullptr;
2894
+ return PyDict_New();
2896
2895
  }
2897
2896
  Py_INCREF(kwds);
2898
2897
  return kwds;
@@ -3141,14 +3140,14 @@ PrivateModule_dir(PyObject* self, PyObject* /*args*/) noexcept
3141
3140
  Py_DECREF(parent_dir);
3142
3141
  return NULL;
3143
3142
  }
3144
- PyList_Append(attr_list, PyUnicode_FromString("PrivateWrapProxy"));
3145
- PyList_Append(attr_list, PyUnicode_FromString("PrivateAttrType"));
3146
- PyList_Append(attr_list, PyUnicode_FromString("PrivateAttrBase"));
3147
- PyList_Append(attr_list, PyUnicode_FromString("prepare"));
3148
- PyList_Append(attr_list, PyUnicode_FromString("postprocess"));
3149
- PyList_Append(attr_list, PyUnicode_FromString("register_metaclass"));
3150
- PyList_Append(attr_list, PyUnicode_FromString("ensure_type"));
3151
- PyList_Append(attr_list, PyUnicode_FromString("ensure_metaclass"));
3143
+ PyList_Append(attr_list, PyUnicode_InternFromString("PrivateWrapProxy"));
3144
+ PyList_Append(attr_list, PyUnicode_InternFromString("PrivateAttrType"));
3145
+ PyList_Append(attr_list, PyUnicode_InternFromString("PrivateAttrBase"));
3146
+ PyList_Append(attr_list, PyUnicode_InternFromString("prepare"));
3147
+ PyList_Append(attr_list, PyUnicode_InternFromString("postprocess"));
3148
+ PyList_Append(attr_list, PyUnicode_InternFromString("register_metaclass"));
3149
+ PyList_Append(attr_list, PyUnicode_InternFromString("ensure_type"));
3150
+ PyList_Append(attr_list, PyUnicode_InternFromString("ensure_metaclass"));
3152
3151
  PyObject* result = PySequence_Concat(parent_dir, attr_list);
3153
3152
  Py_DECREF(parent_dir);
3154
3153
  Py_DECREF(attr_list);
@@ -3168,13 +3167,6 @@ PrivateModule_setattro(PyObject* cls, PyObject* name, PyObject* value) noexcept
3168
3167
  return PyObject_GenericSetAttr(cls, name, value);
3169
3168
  }
3170
3169
 
3171
- static PyGetSetDef PrivateModule_getsetters[] = {
3172
- {"PrivateWrapProxy", (getter)PrivateModule_get_PrivateWrapProxy, NULL, NULL, NULL},
3173
- {"PrivateAttrType", (getter)PrivateModule_get_PrivateAttrType, NULL, NULL, NULL},
3174
- {"PrivateAttrBase", (getter)PrivateModule_get_PrivateAttrBase, NULL, NULL, NULL},
3175
- {NULL}
3176
- };
3177
-
3178
3170
  static const char* prepare_and_postprocess_doc = R"(function for custom metaclass to create private attributes class.
3179
3171
 
3180
3172
  def prepare(name: str, bases: tuple, attrs: dict, **kwds) -> tempobject:
@@ -3214,7 +3206,6 @@ def ensure_metaclass(metaclass: type) -> None:
3214
3206
  )";
3215
3207
 
3216
3208
  static PyMethodDef PrivateModule_methods[] = {
3217
- {"__dir__", (PyCFunction)PrivateModule_dir, METH_NOARGS, NULL},
3218
3209
  {"prepare", (PyCFunction)prepare_for_PrivateAttr, METH_VARARGS | METH_KEYWORDS | METH_STATIC, prepare_and_postprocess_doc},
3219
3210
  {"postprocess", (PyCFunction)postprocess_for_PrivateAttr, METH_VARARGS | METH_STATIC, prepare_and_postprocess_doc},
3220
3211
  {"register_metaclass", (PyCFunction)register_metaclass, METH_O | METH_STATIC, prepare_and_postprocess_doc},
@@ -3223,6 +3214,53 @@ static PyMethodDef PrivateModule_methods[] = {
3223
3214
  {NULL} // Sentinel
3224
3215
  };
3225
3216
 
3217
+ static PyObject*
3218
+ PrivateModule_get_prepare(PyObject* /*self*/, void* /*closure*/) noexcept
3219
+ {
3220
+ return PyCFunction_NewEx(&PrivateModule_methods[0], NULL, NULL);
3221
+ }
3222
+
3223
+ static PyObject*
3224
+ PrivateModule_get_postprocess(PyObject* /*self*/, void* /*closure*/) noexcept
3225
+ {
3226
+ return PyCFunction_NewEx(&PrivateModule_methods[1], NULL, NULL);
3227
+ }
3228
+
3229
+ static PyObject*
3230
+ PrivateModule_get_register_metaclass(PyObject* /*self*/, void* /*closure*/) noexcept
3231
+ {
3232
+ return PyCFunction_NewEx(&PrivateModule_methods[2], NULL, NULL);
3233
+ }
3234
+
3235
+ static PyObject*
3236
+ PrivateModule_get_ensure_type(PyObject* /*self*/, void* /*closure*/) noexcept
3237
+ {
3238
+ return PyCFunction_NewEx(&PrivateModule_methods[3], NULL, NULL);
3239
+ }
3240
+
3241
+ static PyObject*
3242
+ PrivateModule_get_ensure_metaclass(PyObject* /*self*/, void* /*closure*/) noexcept
3243
+ {
3244
+ return PyCFunction_NewEx(&PrivateModule_methods[4], NULL, NULL);
3245
+ }
3246
+
3247
+ static PyGetSetDef PrivateModule_getsetters[] = {
3248
+ {"PrivateWrapProxy", (getter)PrivateModule_get_PrivateWrapProxy, NULL, NULL, NULL},
3249
+ {"PrivateAttrType", (getter)PrivateModule_get_PrivateAttrType, NULL, NULL, NULL},
3250
+ {"PrivateAttrBase", (getter)PrivateModule_get_PrivateAttrBase, NULL, NULL, NULL},
3251
+ {"prepare", (getter)PrivateModule_get_prepare, NULL, NULL, NULL},
3252
+ {"postprocess", (getter)PrivateModule_get_postprocess, NULL, NULL, NULL},
3253
+ {"register_metaclass", (getter)PrivateModule_get_register_metaclass, NULL, NULL, NULL},
3254
+ {"ensure_type", (getter)PrivateModule_get_ensure_type, NULL, NULL, NULL},
3255
+ {"ensure_metaclass", (getter)PrivateModule_get_ensure_metaclass, NULL, NULL, NULL},
3256
+ {NULL}
3257
+ };
3258
+
3259
+ static PyMethodDef PrivateModule_methods_def[] = {
3260
+ {"__dir__", (PyCFunction)PrivateModule_dir, METH_NOARGS, NULL},
3261
+ {NULL} // Sentinel
3262
+ };
3263
+
3226
3264
  static PyTypeObject PrivateModuleType = {
3227
3265
  PyVarObject_HEAD_INIT(NULL, 0)
3228
3266
  "private_attribute_module", //tp_name
@@ -3251,7 +3289,7 @@ static PyTypeObject PrivateModuleType = {
3251
3289
  0, //tp_weaklistoffset
3252
3290
  0, //tp_iter
3253
3291
  0, //tp_iternext
3254
- PrivateModule_methods, //tp_methods
3292
+ PrivateModule_methods_def, //tp_methods
3255
3293
  0, //tp_members
3256
3294
  PrivateModule_getsetters, //tp_getset
3257
3295
  &PyModule_Type, //tp_base
@@ -3323,14 +3361,14 @@ PyInit_private_attribute(void) noexcept
3323
3361
  * ensure_type
3324
3362
  * ensure_metaclass
3325
3363
  */
3326
- PyList_Append(all, PyUnicode_FromString("PrivateWrapProxy"));
3327
- PyList_Append(all, PyUnicode_FromString("PrivateAttrType"));
3328
- PyList_Append(all, PyUnicode_FromString("PrivateAttrBase"));
3329
- PyList_Append(all, PyUnicode_FromString("prepare"));
3330
- PyList_Append(all, PyUnicode_FromString("postprocess"));
3331
- PyList_Append(all, PyUnicode_FromString("register_metaclass"));
3332
- PyList_Append(all, PyUnicode_FromString("ensure_type"));
3333
- PyList_Append(all, PyUnicode_FromString("ensure_metaclass"));
3364
+ PyList_Append(all, PyUnicode_InternFromString("PrivateWrapProxy"));
3365
+ PyList_Append(all, PyUnicode_InternFromString("PrivateAttrType"));
3366
+ PyList_Append(all, PyUnicode_InternFromString("PrivateAttrBase"));
3367
+ PyList_Append(all, PyUnicode_InternFromString("prepare"));
3368
+ PyList_Append(all, PyUnicode_InternFromString("postprocess"));
3369
+ PyList_Append(all, PyUnicode_InternFromString("register_metaclass"));
3370
+ PyList_Append(all, PyUnicode_InternFromString("ensure_type"));
3371
+ PyList_Append(all, PyUnicode_InternFromString("ensure_metaclass"));
3334
3372
  Py_SET_TYPE(m, &PrivateModuleType);
3335
3373
  return m;
3336
3374
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: private_attribute_cpp
3
- Version: 1.4.9
3
+ Version: 1.4.10
4
4
  Summary: A Python package that provides a way to define private attributes in C++ implementation.
5
5
  Home-page: https://github.com/Locked-chess-official/private_attribute_cpp
6
6
  Author: HuangHaoHua
@@ -18,7 +18,7 @@ readme = open('README.md').read()
18
18
 
19
19
  setup(
20
20
  name='private_attribute_cpp',
21
- version='1.4.9',
21
+ version='1.4.10',
22
22
  author="HuangHaoHua",
23
23
  author_email="13140752715@example.com",
24
24
  description='A Python package that provides a way to define private attributes in C++ implementation.',