raise NotImplementedError("This service intentionally raises an error, for testing")
-def bugs_list(args: argparse.Namespace) -> tuple[int, list]:
+def bugs_list(args: argparse.Namespace) -> tuple:
"""List bug reports that have been saved"""
return ntclient.services.bugs.list_bugs(show_all=args.show)
# pylint: disable=unused-argument
-def bugs_report(args: argparse.Namespace) -> tuple[int, int]:
+def bugs_report(args: argparse.Namespace) -> tuple:
"""Report bugs"""
n_submissions = ntclient.services.bugs.submit_bugs()
return 0, n_submissions
import sqlite3
from collections.abc import Sequence
-from typing import Optional
from ntclient.utils import CLI_CONFIG
# ------------------------------------------------
-def sql_entries(sql_result: sqlite3.Cursor) -> Sequence[list, list, int, Optional[int]]:
+def sql_entries(sql_result: sqlite3.Cursor) -> tuple:
"""
Formats and returns a `sql_result()` for console digestion and output
FIXME: the IDs are not necessarily integers, but are unique.
query: str,
db_name: str,
values: Sequence = (),
-) -> tuple[list, list, int, Optional[int]]:
+) -> tuple:
"""@param values: tuple | list"""
cur = _prep_query(con, query, db_name, values)
import os
import sqlite3
from collections.abc import Sequence
-from typing import Optional
from ntclient import (
NT_DB_NAME,
raise SqlConnectError("ERROR: nt database doesn't exist, please run `nutra init`")
-def sql(query: str, values: Sequence = ()) -> tuple[list, list, int, Optional[int]]:
+def sql(query: str, values: Sequence = ()) -> tuple:
"""Executes a SQL command to nt.sqlite3"""
con = nt_sqlite_connect()
import tarfile
import urllib.request
from collections.abc import Sequence
-from typing import Optional
from ntclient import NUTRA_HOME, USDA_DB_NAME, __db_target_usda__
from ntclient.persistence.sql import _sql, version
return version(con)
-def sql(
- query: str, values: Sequence = (), version_check: bool = True
-) -> tuple[list, list, int, Optional[int]]:
+def sql(query: str, values: Sequence = (), version_check: bool = True) -> tuple:
"""
Executes a SQL command to usda.sqlite3
query = query % food_ids
rows, _, _, _ = sql(query)
- return rows
+ return list(rows)
def sql_nutrients_overview() -> dict:
return {x[0]: x for x in rows}
-def sql_nutrients_details() -> tuple[list, list]:
+def sql_nutrients_details() -> tuple:
"""Shows nutrients 'details'"""
query = "SELECT * FROM nutrients_overview;"
# FIXME: support this kind of thing by library code & parameterized queries
food_ids = ",".join(str(x) for x in set(_food_ids))
rows, _, _, _ = sql(query % food_ids)
- return rows
+ return list(rows)
def sql_analyze_foods(food_ids: set) -> list:
# TODO: parameterized queries
food_ids_concat = ",".join(str(x) for x in set(food_ids))
rows, _, _, _ = sql(query % food_ids_concat)
- return rows
+ return list(rows)
################################################################################
"""
# TODO: parameterized queries
rows, _, _, _ = sql(query % (NUTR_ID_KCAL, nutrient_id))
- return rows
+ return list(rows)
def sql_sort_foods(nutr_id: int) -> list:
"""
# TODO: parameterized queries
rows, _, _, _ = sql(query % nutr_id)
- return rows
+ return list(rows)
def sql_sort_foods_by_kcal(nutr_id: int) -> list:
"""
# TODO: parameterized queries
rows, _, _, _ = sql(query % nutr_id)
- return rows
+ return list(rows)
return bugs
-def list_bugs(show_all: bool) -> tuple[int, list]:
+def list_bugs(show_all: bool) -> tuple:
"""List all bugs, with headers. Returns (exit_code, bugs: list[dict])."""
bugs = _list_bugs()
"""
import pydoc
-from typing import Sequence, Optional
from tabulate import tabulate
# TODO: sub shrt_desc for long if available, and support config.FOOD_NAME_TRUNC
- def print_results(
- _results: list[list[Optional[float]]], _nutrient_id: int
- ) -> None:
+ def print_results(_results: list, _nutrient_id: int) -> None:
"""Prints truncated list for sort"""
nutrients = sql_nutrients_overview()
nutrient = nutrients[_nutrient_id]