mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-07-13 14:05:47 +00:00
Docstring update (#58)
* migrate docstrings from reST to google format * add raises note Also change behaviour of the `from_option` method to fallback to disabled instead of raising exception on unknown option * fix part of warnings for sphinx * make identation a bit more readable * review fixes * add verbose description for properties to make them parsed by sphinx extenstion * add demo sphinx generator
This commit is contained in:
@ -31,14 +31,18 @@ T = TypeVar("T")
|
||||
class Operations:
|
||||
"""
|
||||
base operation class
|
||||
:ivar logger: class logger
|
||||
:ivar path: path to the database file
|
||||
|
||||
Attributes:
|
||||
logger(logging.Logger): class logger
|
||||
path(Path): path to the database file
|
||||
"""
|
||||
|
||||
def __init__(self, path: Path) -> None:
|
||||
"""
|
||||
default constructor
|
||||
:param path: path to the database file
|
||||
|
||||
Args:
|
||||
path(Path): path to the database file
|
||||
"""
|
||||
self.path = path
|
||||
self.logger = logging.getLogger("database")
|
||||
@ -47,9 +51,13 @@ class Operations:
|
||||
def factory(cursor: Cursor, row: Tuple[Any, ...]) -> Dict[str, Any]:
|
||||
"""
|
||||
dictionary factory based on official documentation
|
||||
:param cursor: cursor descriptor
|
||||
:param row: fetched row
|
||||
:return: row converted to dictionary
|
||||
|
||||
Args:
|
||||
cursor(Cursor): cursor descriptor
|
||||
row(Tuple[Any, ...]): fetched row
|
||||
|
||||
Returns:
|
||||
Dict[str, Any]: row converted to dictionary
|
||||
"""
|
||||
result = {}
|
||||
for index, column in enumerate(cursor.description):
|
||||
@ -59,9 +67,13 @@ class Operations:
|
||||
def with_connection(self, query: Callable[[Connection], T], commit: bool = False) -> T:
|
||||
"""
|
||||
perform operation in connection
|
||||
:param query: function to be called with connection
|
||||
:param commit: if True commit() will be called on success
|
||||
:return: result of the `query` call
|
||||
|
||||
Args:
|
||||
query(Callable[[Connection], T]): function to be called with connection
|
||||
commit(bool, optional): if True commit() will be called on success (Default value = False)
|
||||
|
||||
Returns:
|
||||
T: result of the `query` call
|
||||
"""
|
||||
with sqlite3.connect(self.path, detect_types=sqlite3.PARSE_DECLTYPES) as connection:
|
||||
connection.row_factory = self.factory
|
||||
|
Reference in New Issue
Block a user