Source code for ship.utils.fileloaders.loader

"""

 Summary:
     Abstract base class that should be implemented by all file loading 
     classes in the API.
     
     Contains methods that help file loaders play nicely with the file loading
     factory and other parts of the API.

 Author:  
     Duncan Runnacles

  Created:  
     01 Apr 2016

 Copyright:  
     Duncan Runnacles 2016

 TODO:

 Updates:

"""

from __future__ import unicode_literals

[docs]class ALoader(object): """ """ def __init__(self): """ """ self.warnings= []
[docs] def loadFile(self, filepath, arg_dict={}): """Load the file at the given path Args: filepath (str): the file path to load. arg_dict={}(Dict): contains keyword referenced arguments needed by any of the loaders. E.g. the TuflowLoader can take some scenario values. Return: Raises: NotImplementedError: if subclass does not override this method. """ raise NotImplementedError
[docs] def addWarning(self, title, msg): """Can be used to store non-deadly errors during load for easy lookup. The errors/warnings will be added to the warning_store list so that they can be passed on or interogated after the file has been loaded. This does not take the place of raising actual errors, it's just for noting anything that might be useful for the caller to know after loading the file. Args: title (str): the title of the warning. msg (str): the message body of the warning. """ self.warnings.append((title, msg))