Author: cito
Date: Sat Nov 21 18:40:19 2015
New Revision: 580

Log:
Return proper __class__ and __module__ attrs

We do not need to customize __class__ attribute (anyway it was wrong
since it should return a class, not a class name).

Also, return the proper names of the PyGreSQL modules.

Modified:
   trunk/module/TEST_PyGreSQL_classic_connection.py
   trunk/module/TEST_PyGreSQL_classic_dbwrapper.py
   trunk/module/TEST_PyGreSQL_classic_largeobj.py
   trunk/module/pgmodule.c

Modified: trunk/module/TEST_PyGreSQL_classic_connection.py
==============================================================================
--- trunk/module/TEST_PyGreSQL_classic_connection.py    Sat Nov 21 17:37:44 
2015        (r579)
+++ trunk/module/TEST_PyGreSQL_classic_connection.py    Sat Nov 21 18:40:19 
2015        (r580)
@@ -76,6 +76,12 @@
         except pg.InternalError:
             pass
 
+    def testClassName(self):
+        self.assertEqual(self.connection.__class__.__name__, 'pgconnobject')
+
+    def testModuleName(self):
+        self.assertEqual(self.connection.__module__, 'pg')
+
     def testAllConnectAttributes(self):
         attributes = '''db error host options port
             protocol_version server_version status tty user'''.split()

Modified: trunk/module/TEST_PyGreSQL_classic_dbwrapper.py
==============================================================================
--- trunk/module/TEST_PyGreSQL_classic_dbwrapper.py     Sat Nov 21 17:37:44 
2015        (r579)
+++ trunk/module/TEST_PyGreSQL_classic_dbwrapper.py     Sat Nov 21 18:40:19 
2015        (r580)
@@ -293,6 +293,12 @@
     def tearDown(self):
         self.db.close()
 
+    def testClassName(self):
+        self.assertEqual(self.db.__class__.__name__, 'DB')
+
+    def testModuleName(self):
+        self.assertEqual(self.db.__module__, 'pg')
+
     def testEscapeLiteral(self):
         f = self.db.escape_literal
         self.assertEqual(f("plain"), "'plain'")

Modified: trunk/module/TEST_PyGreSQL_classic_largeobj.py
==============================================================================
--- trunk/module/TEST_PyGreSQL_classic_largeobj.py      Sat Nov 21 17:37:44 
2015        (r579)
+++ trunk/module/TEST_PyGreSQL_classic_largeobj.py      Sat Nov 21 18:40:19 
2015        (r580)
@@ -158,6 +158,12 @@
         self.pgcnx.query('end')
         self.pgcnx.close()
 
+    def testClassName(self):
+        self.assertEqual(self.obj.__class__.__name__, 'pglarge')
+
+    def testModuleName(self):
+        self.assertEqual(self.obj.__module__, 'pg')
+
     def testOid(self):
         self.assertIsInstance(self.obj.oid, int)
         self.assertNotEqual(self.obj.oid, 0)

Modified: trunk/module/pgmodule.c
==============================================================================
--- trunk/module/pgmodule.c     Sat Nov 21 17:37:44 2015        (r579)
+++ trunk/module/pgmodule.c     Sat Nov 21 18:40:19 2015        (r580)
@@ -54,7 +54,8 @@
 #endif
 
 /* default values */
-#define MODULE_NAME                    "pgsql"
+#define MODULE_NAME                    "pg"
+#define MODULE_NAME_DB         "pgdb"
 #define PG_ARRAYSIZE                   1
 
 /* flags for object validity checks */
@@ -963,10 +964,6 @@
        if (!strcmp(name, "__module__"))
                return PyStr_FromString(MODULE_NAME);
 
-       /* class name */
-       if (!strcmp(name, "__class__"))
-               return PyStr_FromString("pglarge");
-
        /* seeks name in methods (fallback) */
        return PyObject_GenericGetAttr((PyObject *) self, nameobj);
 }
@@ -2256,6 +2253,10 @@
                return PyInt_FromLong(PQserverVersion(self->cnx));
 #endif
 
+       /* module name */
+       if (!strcmp(name, "__module__"))
+               return PyStr_FromString(MODULE_NAME);
+
        return PyObject_GenericGetAttr((PyObject *) self, nameobj);
 }
 
@@ -2869,11 +2870,7 @@
 
        /* module name */
        if (!strcmp(name, "__module__"))
-               return PyStr_FromString(MODULE_NAME);
-
-       /* class name */
-       if (!strcmp(name, "__class__"))
-               return PyStr_FromString("pgsource");
+               return PyStr_FromString(MODULE_NAME_DB);
 
        /* seeks name in methods (fallback) */
        return PyObject_GenericGetAttr((PyObject *) self, nameobj);
@@ -3534,6 +3531,10 @@
                }
        }
 
+       /* module name */
+       if (!strcmp(name, "__module__"))
+               return PyStr_FromString(MODULE_NAME);
+
        return PyObject_GenericGetAttr((PyObject *) self, nameobj);
 }
 
@@ -4236,10 +4237,14 @@
 #endif
 #endif
 
-       if (PyType_Ready(&connType) ||
-               PyType_Ready(&noticeType) ||
-               PyType_Ready(&queryType) ||
-               PyType_Ready(&sourceType)) return NULL;
+       if (PyType_Ready(&connType)
+               || PyType_Ready(&noticeType)
+               || PyType_Ready(&queryType)
+               || PyType_Ready(&sourceType)
+#ifdef LARGE_OBJECTS
+               || PyType_Ready(largeType.ob_type)
+#endif
+               ) return NULL;
 
        dict = PyModule_GetDict(mod);
 
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql

Reply via email to