updated code so should work on windows, with exception of waiting on multiple connections
This commit is contained in:
@ -9,7 +9,7 @@ import os
|
||||
import nbformat
|
||||
import sys
|
||||
|
||||
from typing import Any, Tuple
|
||||
from typing import Any, Tuple, Dict
|
||||
|
||||
from core.correctness.validation import check_type, valid_string, \
|
||||
valid_dict, valid_path, valid_existing_dir_path, setup_debugging, \
|
||||
@ -28,8 +28,8 @@ from core.meow import BaseRecipe, BaseHandler
|
||||
class JupyterNotebookRecipe(BaseRecipe):
|
||||
# A path to the jupyter notebook used to create this recipe
|
||||
source:str
|
||||
def __init__(self, name:str, recipe:Any, parameters:dict[str,Any]={},
|
||||
requirements:dict[str,Any]={}, source:str=""):
|
||||
def __init__(self, name:str, recipe:Any, parameters:Dict[str,Any]={},
|
||||
requirements:Dict[str,Any]={}, source:str=""):
|
||||
"""JupyterNotebookRecipe Constructor. This is used to execute analysis
|
||||
code using the papermill module."""
|
||||
super().__init__(name, recipe, parameters, requirements)
|
||||
@ -41,20 +41,20 @@ class JupyterNotebookRecipe(BaseRecipe):
|
||||
if source:
|
||||
valid_path(source, extension=".ipynb", min_length=0)
|
||||
|
||||
def _is_valid_recipe(self, recipe:dict[str,Any])->None:
|
||||
def _is_valid_recipe(self, recipe:Dict[str,Any])->None:
|
||||
"""Validation check for 'recipe' variable from main constructor.
|
||||
Called within parent BaseRecipe constructor."""
|
||||
check_type(recipe, dict)
|
||||
check_type(recipe, Dict)
|
||||
nbformat.validate(recipe)
|
||||
|
||||
def _is_valid_parameters(self, parameters:dict[str,Any])->None:
|
||||
def _is_valid_parameters(self, parameters:Dict[str,Any])->None:
|
||||
"""Validation check for 'parameters' variable from main constructor.
|
||||
Called within parent BaseRecipe constructor."""
|
||||
valid_dict(parameters, str, Any, strict=False, min_length=0)
|
||||
for k in parameters.keys():
|
||||
valid_string(k, VALID_VARIABLE_NAME_CHARS)
|
||||
|
||||
def _is_valid_requirements(self, requirements:dict[str,Any])->None:
|
||||
def _is_valid_requirements(self, requirements:Dict[str,Any])->None:
|
||||
"""Validation check for 'requirements' variable from main constructor.
|
||||
Called within parent BaseRecipe constructor."""
|
||||
valid_dict(requirements, str, Any, strict=False, min_length=0)
|
||||
@ -86,7 +86,7 @@ class PapermillHandler(BaseHandler):
|
||||
print_debug(self._print_target, self.debug_level,
|
||||
"Created new PapermillHandler instance", DEBUG_INFO)
|
||||
|
||||
def handle(self, event:dict[str,Any])->None:
|
||||
def handle(self, event:Dict[str,Any])->None:
|
||||
"""Function called to handle a given event."""
|
||||
print_debug(self._print_target, self.debug_level,
|
||||
f"Handling event {event[EVENT_PATH]}", DEBUG_INFO)
|
||||
@ -112,7 +112,7 @@ class PapermillHandler(BaseHandler):
|
||||
yaml_dict[value[0]] = value[1]
|
||||
self.setup_job(event, yaml_dict)
|
||||
|
||||
def valid_handle_criteria(self, event:dict[str,Any])->Tuple[bool,str]:
|
||||
def valid_handle_criteria(self, event:Dict[str,Any])->Tuple[bool,str]:
|
||||
"""Function to determine given an event defintion, if this handler can
|
||||
process it or not. This handler accepts events from watchdog with
|
||||
jupyter notebook recipes."""
|
||||
@ -135,7 +135,7 @@ class PapermillHandler(BaseHandler):
|
||||
constructor."""
|
||||
valid_existing_dir_path(output_dir, allow_base=True)
|
||||
|
||||
def setup_job(self, event:dict[str,Any], yaml_dict:dict[str,Any])->None:
|
||||
def setup_job(self, event:Dict[str,Any], yaml_dict:Dict[str,Any])->None:
|
||||
"""Function to set up new job dict and send it to the runner to be
|
||||
executed."""
|
||||
meow_job = create_job(
|
||||
|
Reference in New Issue
Block a user