Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
xrotwang committed Jan 20, 2025
1 parent 222da07 commit 33b660a
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions src/pycldf/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import typing
import inspect
import pathlib
import sqlite3
import functools
import collections

Expand Down Expand Up @@ -372,12 +373,27 @@ def to_cldf(self, dest, mdname='cldf-metadata.json', coordinate_precision=4) ->
return self.dataset.write_metadata(dest / mdname)


def query(conn,
class AggregateClass(typing.Protocol): # pragma: no cover
def step(self, value):
...

def finalize(self):
...


def query(conn: sqlite3.Connection,
sql: str,
params=None,
functions=None,
aggregates=None,
collations=None) -> typing.Generator[typing.Any, None, None]:
functions: typing.Optional[typing.List[typing.Callable]] = None,
aggregates: typing.Optional[typing.List[AggregateClass]] = None,
collations: typing.Optional[typing.List[typing.Callable]] = None) \
-> typing.Generator[typing.Any, None, None]:
"""
Note: Passing lambdas or functools.partial objects as function requires passing an explicit name
as well.
:return: A generator of result rows for the query.
"""
for func in functions or []:
if isinstance(func, tuple):
name, func = func
Expand Down

0 comments on commit 33b660a

Please sign in to comment.