insert_sites tests done
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user