diff --git a/nbmodular/jupynbm.py b/nbmodular/jupynbm.py index a72b8bf..c76c05f 100644 --- a/nbmodular/jupynbm.py +++ b/nbmodular/jupynbm.py @@ -1,8 +1,14 @@ # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/jupynbm.ipynb. # %% auto 0 -__all__ = ['export_jupytext_modules', 'parse_argv_and_run_jupynbm', 'jupynbm_export_cli', 'import_jupytext_modules', - 'parse_argv_and_run_nbmjupy', 'nbmjupy_import_cli'] +__all__ = [ + "export_jupytext_modules", + "parse_argv_and_run_jupynbm", + "jupynbm_export_cli", + "import_jupytext_modules", + "parse_argv_and_run_nbmjupy", + "nbmjupy_import_cli", +] # %% ../nbs/jupynbm.ipynb 2 # Standard @@ -12,6 +18,7 @@ from pathlib import Path from typing import List import os +import glob # 3rd party from jupytext.cli import jupytext @@ -20,6 +27,7 @@ from .export import nbm_export_all_paths, nbm_update_all_paths from .utils import create_or_get_logger, get_config + # %% ../nbs/jupynbm.ipynb 4 def export_jupytext_modules(jupytext_path: str, nbm_path: str) -> None: """ @@ -28,9 +36,14 @@ def export_jupytext_modules(jupytext_path: str, nbm_path: str) -> None: current_path = os.getcwd() os.chdir(jupytext_path) - jupytext("--set-formats ipynb,py *.py".split()) + jupytext( + "--set-formats ipynb,py:percent --format-options comment_magics=false *.py".split() + ) os.chdir(current_path) - shutil.move(f"{jupytext_path}/*.ipynb", nbm_path) + + for f in glob.glob(f"{jupytext_path}/*.ipynb"): + shutil.move(f, nbm_path) + nbm_export_all_paths(nbm_path) @@ -57,14 +70,13 @@ def parse_argv_and_run_jupynbm(argv: List[str]): args.jupytext = str(Path(get_config()["jupy_path"]).resolve()) if args.nbm is None: args.nbm = str(Path(get_config()["nbm_path"]).resolve()) - logger.info( - f"Exporting jupytext python modules from {args.jupytext}, to {args.nbm}" - ) + logger.info(f"Exporting jupytext python modules from {args.jupytext} to {args.nbm}") export_jupytext_modules(args.jupytext, args.nbm) def jupynbm_export_cli(): - parse_argv_and_run_jupynbm(sys.argv) + parse_argv_and_run_jupynbm(sys.argv[1:]) + # %% ../nbs/jupynbm.ipynb 6 def import_jupytext_modules(nbm_path: str, jupytext_path: str) -> None: @@ -73,10 +85,20 @@ def import_jupytext_modules(nbm_path: str, jupytext_path: str) -> None: """ current_path = os.getcwd() nbm_update_all_paths(nbm_path) - shutil.copy(f"{nbm_path}/*.ipynb", jupytext_path) + + # move notebooks from nbm to jupytext folder + for f in glob.glob(f"{nbm_path}/*.ipynb"): + shutil.move(f, jupytext_path) + os.chdir(jupytext_path) - jupytext("--set-formats ipynb,py --format-options comment_magics=false *.ipynb".split()) - os.remove("*.ipynb") + jupytext( + "--set-formats ipynb,py:percent --format-options comment_magics=false *.ipynb".split() + ) + + # move notebooks from jupytext to nbm folder + for f in glob.glob(f"{jupytext_path}/*.ipynb"): + shutil.move(f, nbm_path) + os.chdir(current_path) @@ -103,9 +125,9 @@ def parse_argv_and_run_nbmjupy(argv: List[str]): args.jupytext = str(Path(get_config()["jupy_path"]).resolve()) if args.nbm is None: args.nbm = str(Path(get_config()["nbm_path"]).resolve()) - logger.info(f"Exporting nbm notebooks from {args.nbmjupytext} to {args.nbm}") + logger.info(f"Exporting nbm notebooks from {args.nbm} to {args.jupytext}") import_jupytext_modules(args.nbm, args.jupytext) def nbmjupy_import_cli(): - parse_argv_and_run_nbmjupy(sys.argv) + parse_argv_and_run_nbmjupy(sys.argv[1:]) diff --git a/nbmodular/utils.py b/nbmodular/utils.py index 8e00e3f..40d1605 100644 --- a/nbmodular/utils.py +++ b/nbmodular/utils.py @@ -1,8 +1,15 @@ # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/utils.ipynb. # %% auto 0 -__all__ = ['imported_jupytext', 'set_handle_and_log_level', 'set_log_level', 'create_or_get_logger', 'get_repo_root_folder', - 'cd_root', 'get_config'] +__all__ = [ + "imported_jupytext", + "set_handle_and_log_level", + "set_log_level", + "create_or_get_logger", + "get_repo_root_folder", + "cd_root", + "get_config", +] # %% ../nbs/utils.ipynb 2 # standard @@ -27,6 +34,7 @@ except ImportError: pass + # %% ../nbs/utils.ipynb 5 def set_handle_and_log_level( logger, @@ -37,16 +45,18 @@ def set_handle_and_log_level( handler.setLevel(log_level) logger.addHandler(handler) + # %% ../nbs/utils.ipynb 7 def set_log_level(logger, log_level): logger.setLevel(log_level) for handler in logger.handlers: handler.setLevel(log_level) + # %% ../nbs/utils.ipynb 9 def create_or_get_logger( name: str = "nbmodular", - log_level: Optional[str] = None, + log_level: Optional[str] = "INFO", log_path: Optional[str] = "logs", file_name: str = "log.log", to_file=True, @@ -68,6 +78,7 @@ def create_or_get_logger( set_log_level(logger, log_level) return logger + # %% ../nbs/utils.ipynb 11 def get_repo_root_folder( file_to_look_for_in_root_folder="settings.ini", @@ -90,16 +101,19 @@ def get_repo_root_folder( repo_root_folder = Path(".").resolve() return repo_root_folder + # %% ../nbs/utils.ipynb 12 def _cd_root_nbdev_impl(): config = nbdev.config.get_config() os.chdir(config.config_path) + # %% ../nbs/utils.ipynb 13 def cd_root(): repo_root_path = get_repo_root_folder() os.chdir(repo_root_path) + # %% ../nbs/utils.ipynb 15 def get_config(path: str = "settings.ini"): config = ConfigParser(delimiters=["="])