import sqlite3
class MyConnect(sqlite3.Connection):
def cursor(self):
return super(MyConnect, self).cursor(MyCursor)
class MyCursor(sqlite3.Cursor):
def mymethod1(self, argv):
print('Got here')
conn = sqlite3.connect(':memory:', factory=MyConnect)
print(conn)
# <__main__.MyConnect object at 0x90db66c>
cursor = conn.cursor()
print(cursor)
# <__main__.MyCursor object at 0x90d19dc>
cursor.mymethod1('foo')
# Got here
In this example, super(MyConnect, self).cursor(MyCursor)
calls
sqlite3.Connection.cursor(MyCursor)
.
sqlite3.Connection.cursor accepts an optional argument, cursorClass
. When supplied, that is the class used to instantiate the cursor.