Better tests for prepare_connection() plugin hook, refs #678

This commit is contained in:
Simon Willison 2020-02-21 18:27:07 -08:00
commit 7c6a9c3529
2 changed files with 16 additions and 2 deletions

View file

@ -329,11 +329,16 @@ ureg = pint.UnitRegistry()
@hookimpl
def prepare_connection(conn):
def prepare_connection(conn, database, datasette):
def convert_units(amount, from_, to_):
"select convert_units(100, 'm', 'ft');"
return (amount * ureg(from_)).to(to_).to_tuple()[0]
conn.create_function('convert_units', 3, convert_units)
def prepare_connection_args():
return 'database={}, datasette.plugin_config("name-of-plugin")={}'.format(
database, datasette.plugin_config("name-of-plugin")
)
conn.create_function('prepare_connection_args', 0, prepare_connection_args)
@hookimpl