insert_sites tests done

This commit is contained in:
2023-05-16 17:24:06 -04:00
parent 5201a444e9
commit 03ecae4be5
4 changed files with 70 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
from pydoc import apropos
from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm import Session
from recipe_graph import db
import json
import argparse
@@ -7,7 +7,7 @@ import logging
import sys
def load_file(f_name: str):
def load_file(f_name: str) -> list[dict[str, any]]:
with open(f_name) as f:
sites = json.load(f)
return sites
@@ -29,18 +29,27 @@ def setup_logging(args: argparse.Namespace) -> logging.Logger:
return logger
def main(): # pragma: no cover
def add_sites(
S: Session,
sites: list[dict[str, any]],
logger: logging.Logger = None,
):
with S.begin() as session:
for site in sites:
if logger: # pragma: no cover
logger.info(f"Adding {site}")
session.add(db.RecipeSite(**site))
def main(): # pragma: no cover
args = setup_argparser(sys.argv[1:])
logger = setup_logging(args)
S = db.get_session()
sites = load_file(args.file)
with S.begin() as session:
for site in sites:
logger.info(f"Adding {site}")
session.add(db.RecipeSite(**site))
add_sites(S, sites, logger)
if __name__ == "__main__": # pragma: no cover
if __name__ == "__main__": # pragma: no cover
main()