1+ #include " UnrealEnginePythonPrivatePCH.h"
2+
3+ static PyObject *ue_PyEnumsImporter_getattro (ue_PyEnumsImporter *self, PyObject *attr_name) {
4+ PyObject *ret = PyObject_GenericGetAttr ((PyObject *)self, attr_name);
5+ if (!ret) {
6+ if (PyUnicode_Check (attr_name)) {
7+ char *attr = PyUnicode_AsUTF8 (attr_name);
8+ if (attr[0 ] != ' _' ) {
9+ UEnum *u_enum = FindObject<UEnum>(ANY_PACKAGE , UTF8_TO_TCHAR (attr));
10+ if (u_enum) {
11+ // swallow old exception
12+ PyErr_Clear ();
13+ ue_PyUObject *u_ret = ue_get_python_wrapper (u_enum);
14+ if (!u_ret)
15+ return PyErr_Format (PyExc_Exception, " PyUObject is in invalid state" );
16+ Py_INCREF (u_ret);
17+ return (PyObject *)u_ret;
18+ }
19+ }
20+ }
21+ }
22+ return ret;
23+ }
24+
25+ static PyTypeObject ue_PyEnumsImporterType = {
26+ PyVarObject_HEAD_INIT (NULL , 0 )
27+ " unreal_engine.EnumsImporter" , /* tp_name */
28+ sizeof (ue_PyEnumsImporter), /* tp_basicsize */
29+ 0 , /* tp_itemsize */
30+ 0 , /* tp_dealloc */
31+ 0 , /* tp_print */
32+ 0 , /* tp_getattr */
33+ 0 , /* tp_setattr */
34+ 0 , /* tp_reserved */
35+ 0 , /* tp_repr */
36+ 0 , /* tp_as_number */
37+ 0 , /* tp_as_sequence */
38+ 0 , /* tp_as_mapping */
39+ 0 , /* tp_hash */
40+ 0 , /* tp_call */
41+ 0 , /* tp_str */
42+ (getattrofunc)ue_PyEnumsImporter_getattro, /* tp_getattro */
43+ 0 , /* tp_setattro */
44+ 0 , /* tp_as_buffer */
45+ Py_TPFLAGS_DEFAULT, /* tp_flags */
46+ " Unreal Engine Enums Importer" , /* tp_doc */
47+ 0 , /* tp_traverse */
48+ 0 , /* tp_clear */
49+ 0 , /* tp_richcompare */
50+ 0 , /* tp_weaklistoffset */
51+ 0 , /* tp_iter */
52+ 0 , /* tp_iternext */
53+ 0 , /* tp_methods */
54+ 0 ,
55+ 0 ,
56+ };
57+
58+ void ue_python_init_Enumsimporter (PyObject *ue_module) {
59+ ue_PyEnumsImporterType.tp_new = PyType_GenericNew;
60+
61+ if (PyType_Ready (&ue_PyEnumsImporterType) < 0 )
62+ return ;
63+
64+ Py_INCREF (&ue_PyEnumsImporterType);
65+ PyModule_AddObject (ue_module, " EnumsImporter" , (PyObject *)&ue_PyEnumsImporterType);
66+ }
67+
68+ PyObject *py_ue_new_enumsimporter () {
69+ ue_PyEnumsImporter *ret = (ue_PyEnumsImporter *)PyObject_New (ue_PyEnumsImporter, &ue_PyEnumsImporterType);
70+ return (PyObject *)ret;
71+ }
0 commit comments