SA 0.2: databases.sqlite, Windows, URL and persistance

Issue #174 resolved
Former user created an issue

SA 0.2 can not find sqlite database on Windows. For example:

sqlite:///E:/work/src/LEM/db/hello.db
{'database': 'E:/work/src/LEM/db/hello.db',
 'host': '',
 'password': None,
 'port': None,
 'username': None}

sqlite:///E:\work\src\LEM\db\hello.db
{'database': 'E:\\work\\src\\LEM\\db\\hello.db',
 'host': '',
 'password': None,
 'port': None,
 'username': None}

sqlite://E:/work/src/LEM/db/hello.db
{'database': 'work/src/LEM/db/hello.db',
 'host': 'E',
 'password': None,
 'port': 'None',
 'username': None}

sqlite://hello.db
{'database': None,
 'host': 'hello.db',
 'password': None,
 'port': None,
 'username': None}

The first two URLs are parsed correctly but because of following from databases.sqlite:

133         def create_connect_args(self, url):
134             filename = url.host or ':memory:'
135             return ([filename](filename), {})

they never persist beyond a session. The other two examples persist but not where I would like them to. The fix seems to be:

133         def create_connect_args(self, url):
134             filename = url.database or ':memory:'
135             return ([filename](filename), {})

Comments (1)

  1. Log in to comment