Skip to content

Commit 716ff00

Browse files
committed
Instantiate connector inside cursors
1 parent 3cc49f2 commit 716ff00

File tree

5 files changed

+11
-6
lines changed

5 files changed

+11
-6
lines changed

datasette_connectors/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
from .connectors import Connector
2+
from .connection import Connection
23
from .cursor import OperationalError

datasette_connectors/connection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33

44
class Connection:
5-
def __init__(self, path, connector):
5+
def __init__(self, path, connector_class):
66
self.path = path
7-
self.connector = connector
7+
self.connector_class = connector_class
88

99
def execute(self, *args, **kwargs):
1010
cursor = Cursor(self)

datasette_connectors/connectors.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,12 @@ class Connector:
3232
connector_type = None
3333
connection_class = Connection
3434

35-
def connect(self, path):
36-
return self.connection_class(path, self)
35+
@classmethod
36+
def connect(cls, path):
37+
return cls.connection_class(path, cls)
38+
39+
def __init__(self, conn):
40+
self.conn = conn
3741

3842
def table_names(self):
3943
"""

datasette_connectors/cursor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class QueryNotSupported(Exception):
1414

1515
def __init__(self, conn):
1616
self.conn = conn
17-
self.connector = conn.connector
17+
self.connector = conn.connector_class(conn)
1818
self.rows = []
1919
self.description = ()
2020

tests/fixtures.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from datasette_connectors import monkey; monkey.patch_datasette()
22
from datasette_connectors.connectors import ConnectorList
33
from .dummy import DummyConnector
4-
ConnectorList.add_connector('dummy', DummyConnector())
4+
ConnectorList.add_connector('dummy', DummyConnector)
55

66
from datasette.app import Datasette
77
from datasette.utils.testing import TestClient

0 commit comments

Comments
 (0)