Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions src/swell/tasks/base/task_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,26 @@ def create_task(
# Convert camel case string to snake case
task_lower = camel_case_to_snake_case(task)

# Import class based on user selected task
task_class = getattr(importlib.import_module('swell.tasks.' + task_lower), task)
task_class = None

factory_logger = get_logger('TaskFactory')

# Try to use the model-specific task if it exists
if model is not None:
try:
task_class = getattr(importlib.import_module(f'swell.tasks.{model}.{task_lower}'),
task)
factory_logger.info(f'Using model-specific version of {task} in '
f'<swell.tasks.{model}.{task_lower}>')
except ModuleNotFoundError:
factory_logger.info(f'Could not find model-specific version of {task}.'
' Looking for generic version.')

# Try to import model-independent task
if task_class is None:

# Import class based on user selected task
task_class = getattr(importlib.import_module('swell.tasks.'+task_lower), task)

# Return task object
return task_class(config, datetime, model, ensemblePacket, task)
Expand Down
2 changes: 1 addition & 1 deletion src/swell/utilities/run_jedi_executables.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

from swell.utilities.shell_commands import run_track_log_subprocess
from swell.utilities.logger import Logger
from swell.tasks.base.task_base import JediConfigRendering
from swell.utilities.render_jedi_interface_files import JediConfigRendering

# --------------------------------------------------------------------------------------------------

Expand Down