Source code for iode.deprecated.workspace

import warnings
from typing import Union, List, Any

from iode import (IodeType, comments, equations, identities, lists, scalars, tables, variables, 
                  LowToHighType, LowToHighMethod, HighToLowType)


[docs] def ws_content(pattern: Union[str, List[str]] = '*', obj_type: int = IodeType.VARIABLES) -> List[str]: if obj_type == IodeType.COMMENTS: return ws_content_cmt(pattern) elif obj_type == IodeType.EQUATIONS: return ws_content_eqs(pattern) elif obj_type == IodeType.IDENTITIES: return ws_content_idt(pattern) elif obj_type == IodeType.LISTS: return ws_content_lst(pattern) elif obj_type == IodeType.SCALARS: return ws_content_scl(pattern) elif obj_type == IodeType.TABLES: return ws_content_tbl(pattern) elif obj_type == IodeType.VARIABLES: return ws_content_var(pattern) else: raise ValueError(f"IODE type {obj_type} is invalid")
[docs] def ws_content_cmt(pattern: Union[str, List[str]] = '*') -> List[str]: '''Returns the list of comment names corresponding to the given pattern''' warnings.warn("ws_content_cmt() is deprecated. " + "Please use the new syntax:\ncomments.get_names(pattern)",DeprecationWarning, stacklevel=2) return comments.get_names(pattern)
[docs] def ws_content_eqs(pattern: Union[str, List[str]] = '*') -> List[str]: '''Returns the list of equation names corresponding to the given pattern''' warnings.warn("ws_content_eqs() is deprecated. " + "Please use the new syntax: equations.get_names(pattern)",DeprecationWarning, stacklevel=2) return equations.get_names(pattern)
[docs] def ws_content_idt(pattern: Union[str, List[str]] = '*') -> List[str]: '''Returns the list of identity names corresponding to the given pattern''' warnings.warn("ws_content_idt() is deprecated. " + "Please use the new syntax: identities.get_names(pattern)",DeprecationWarning, stacklevel=2) return identities.get_names(pattern)
[docs] def ws_content_lst(pattern: Union[str, List[str]] = '*') -> List[str]: warnings.warn("ws_content_lst() is deprecated. " + "Please use the new syntax: lists.get_names(pattern)",DeprecationWarning, stacklevel=2) return lists.get_names(pattern)
[docs] def ws_content_scl(pattern: Union[str, List[str]] = '*') -> List[str]: warnings.warn("ws_content_scl() is deprecated. " + "Please use the new syntax: scalars.get_names(pattern)",DeprecationWarning, stacklevel=2) return scalars.get_names(pattern)
[docs] def ws_content_tbl(pattern: Union[str, List[str]] = '*') -> List[str]: warnings.warn("ws_content_tbl() is deprecated. " + "Please use the new syntax: tables.get_names(pattern)",DeprecationWarning, stacklevel=2) return tables.get_names(pattern)
[docs] def ws_content_var(pattern: Union[str, List[str]] = '*') -> List[str]: warnings.warn("ws_content_var() is deprecated. " + "Please use the new syntax: variables.get_names(pattern)",DeprecationWarning, stacklevel=2) return variables.get_names(pattern)
# Clear WS # --------
[docs] def ws_clear_all(): '''Clear all WS''' ws_clear_cmt() ws_clear_eqs() ws_clear_idt() ws_clear_lst() ws_clear_scl() ws_clear_tbl() ws_clear_var()
[docs] def ws_clear(filetype: int): '''Clear WS of the given filetype (COMMENTS..VARIABLES)''' if filetype == IodeType.COMMENTS: ws_clear_cmt() elif filetype == IodeType.EQUATIONS: ws_clear_eqs() elif filetype == IodeType.IDENTITIES: ws_clear_idt() elif filetype == IodeType.LISTS: ws_clear_lst() elif filetype == IodeType.SCALARS: ws_clear_scl() elif filetype == IodeType.TABLES: ws_clear_tbl() elif filetype == IodeType.VARIABLES: ws_clear_var() else: raise ValueError(f"IODE type {filetype} is invalid")
[docs] def ws_clear_cmt(): warnings.warn("ws_clear_cmt() is deprecated. " + "Please use the new syntax:\ncomments.clear()",DeprecationWarning, stacklevel=2) comments.clear()
[docs] def ws_clear_eqs(): warnings.warn("ws_clear_eqs() is deprecated. " + "Please use the new syntax: equations.clear()",DeprecationWarning, stacklevel=2) equations.clear()
[docs] def ws_clear_idt(): warnings.warn("ws_clear_idt() is deprecated. " + "Please use the new syntax: identities.clear()",DeprecationWarning, stacklevel=2) identities.clear()
[docs] def ws_clear_lst(): warnings.warn("ws_clear_lst() is deprecated. " + "Please use the new syntax: lists.clear()",DeprecationWarning, stacklevel=2) lists.clear()
[docs] def ws_clear_scl(): warnings.warn("ws_clear_scl() is deprecated. " + "Please use the new syntax: scalars.clear()",DeprecationWarning, stacklevel=2) scalars.clear()
[docs] def ws_clear_tbl(): warnings.warn("ws_clear_tbl() is deprecated. " + "Please use the new syntax: tables.clear()",DeprecationWarning, stacklevel=2) tables.clear()
[docs] def ws_clear_var(): warnings.warn("ws_clear_var() is deprecated. " + "Please use the new syntax: variables.clear()",DeprecationWarning, stacklevel=2) variables.clear()
# Load WS # -------
[docs] def ws_load(filename: str, filetype: int) -> Any: '''Load an IODE file and return the number of read objects''' if filetype == IodeType.COMMENTS: ws_load_cmt(filename) elif filetype == IodeType.EQUATIONS: ws_load_eqs(filename) elif filetype == IodeType.IDENTITIES: ws_load_idt(filename) elif filetype == IodeType.LISTS: ws_load_lst(filename) elif filetype == IodeType.SCALARS: ws_load_scl(filename) elif filetype == IodeType.TABLES: ws_load_tbl(filename) elif filetype == IodeType.VARIABLES: ws_load_var(filename) else: raise ValueError(f"IODE type {filetype} is invalid")
[docs] def ws_load_cmt(filename: str): warnings.warn("ws_load_cmt() is deprecated. " + "Please use the new syntax: comments.load(filepath)",DeprecationWarning, stacklevel=2) comments.load(filename)
[docs] def ws_load_eqs(filename: str) -> int: warnings.warn("ws_load_eqs() is deprecated. " + "Please use the new syntax: equations.load(filepath)",DeprecationWarning, stacklevel=2) equations.load(filename)
[docs] def ws_load_idt(filename: str) -> int: warnings.warn("ws_load_idt() is deprecated. " + "Please use the new syntax: identities.load(filepath)",DeprecationWarning, stacklevel=2) identities.load(filename)
[docs] def ws_load_lst(filename: str) -> int: warnings.warn("ws_load_lst() is deprecated. " + "Please use the new syntax: lists.load(filepath)",DeprecationWarning, stacklevel=2) lists.load(filename)
[docs] def ws_load_scl(filename: str) -> int: warnings.warn("ws_load_scl() is deprecated. " + "Please use the new syntax: scalars.load(filepath)",DeprecationWarning, stacklevel=2) scalars.load(filename)
[docs] def ws_load_tbl(filename: str) -> int: warnings.warn("ws_load_tbl() is deprecated. " + "Please use the new syntax: tables.load(filepath)",DeprecationWarning, stacklevel=2) tables.load(filename)
[docs] def ws_load_var(filename: str) -> int: warnings.warn("ws_load_var() is deprecated. " + "Please use the new syntax: variables.load(filepath)",DeprecationWarning, stacklevel=2) variables.load(filename)
# Save WS # -------
[docs] def ws_save(filename: str, filetype: int): '''Save the current IODE workspace of a given type''' if filetype == IodeType.COMMENTS: ws_save_cmt(filename) elif filetype == IodeType.EQUATIONS: ws_save_eqs(filename) elif filetype == IodeType.IDENTITIES: ws_save_idt(filename) elif filetype == IodeType.LISTS: ws_save_lst(filename) elif filetype == IodeType.SCALARS: ws_save_scl(filename) elif filetype == IodeType.TABLES: ws_save_tbl(filename) elif filetype == IodeType.VARIABLES: ws_save_var(filename) else: raise ValueError(f"IODE type {filetype} is invalid")
[docs] def ws_save_cmt(filename: str): '''Save the current comment workspace''' warnings.warn("ws_save_cmt() is deprecated. " + "Please use the new syntax: comments.save(filepath)",DeprecationWarning, stacklevel=2) comments.save(filename)
[docs] def ws_save_eqs(filename: str): '''Save the current equation workspace''' warnings.warn("ws_save_eqs() is deprecated. " + "Please use the new syntax: equations.save(filepath)",DeprecationWarning, stacklevel=2) equations.save(filename)
[docs] def ws_save_idt(filename: str): '''Save the current identity workspace''' warnings.warn("ws_save_idt() is deprecated. " + "Please use the new syntax: identities.save(filepath)",DeprecationWarning, stacklevel=2) identities.save(filename)
[docs] def ws_save_lst(filename: str): '''Save the current list workspace''' warnings.warn("ws_save_lst() is deprecated. " + "Please use the new syntax: lists.save(filepath)",DeprecationWarning, stacklevel=2) lists.save(filename)
[docs] def ws_save_scl(filename: str): '''Save the current scalar workspace''' warnings.warn("ws_save_scl() is deprecated. " + "Please use the new syntax: scalars.save(filepath)",DeprecationWarning, stacklevel=2) scalars.save(filename)
[docs] def ws_save_tbl(filename: str): '''Save the current table workspace''' warnings.warn("ws_save_tbl() is deprecated. " + "Please use the new syntax: tables.save(filepath)",DeprecationWarning, stacklevel=2) tables.save(filename)
[docs] def ws_save_var(filename: str): warnings.warn("ws_save_var() is deprecated. " + "Please use the new syntax: variables.save(filepath)",DeprecationWarning, stacklevel=2) variables.save(filename)
# High to Low # ----------- def ws_htol(filename: str, varlist, series_type: int): if series_type == HighToLowType.LAST: ws_htol_last(filename, varlist) elif series_type == HighToLowType.MEAN: ws_htol_mean(filename, varlist) elif series_type == HighToLowType.SUM: ws_htol_sum(filename, varlist) else: raise ValueError("Wrong value for 'series_type'") def ws_htol_last(filename: str, varlist): warnings.warn("ws_ltoh_stock() is deprecated. " + "Please use the new syntax:\nvariables.high_to_low(HighToLowType.LAST, filepath, var_list)",DeprecationWarning, stacklevel=2) variables.high_to_low(HighToLowType.LAST, filename, varlist) def ws_htol_mean(filename: str, varlist): warnings.warn("ws_htol_mean() is deprecated. " + "Please use the new syntax:\nvariables.high_to_low(HighToLowType.MEAN, filepath, var_list)",DeprecationWarning, stacklevel=2) variables.high_to_low(HighToLowType.MEAN, filename, varlist) def ws_htol_sum(filename: str, varlist): warnings.warn("ws_htol_sum() is deprecated. " + "Please use the new syntax:\nvariables.high_to_low(HighToLowType.SUM, filepath, var_list)",DeprecationWarning, stacklevel=2) variables.high_to_low(HighToLowType.SUM, filename, varlist) # Low to High # ----------- def ws_ltoh(filename: str, varlist, series_type, method: Union[int, str]): if isinstance(method, int): method = chr(method) if series_type == LowToHighType.FLOW: ws_ltoh_flow(filename, varlist, method) elif series_type == LowToHighType.STOCK: ws_ltoh_stock(filename, varlist, method) else: raise ValueError("Wrong value for 'series_type'") def ws_ltoh_flow(filename: str, varlist, method: Union[int, str] = LowToHighMethod.CUBIC_SPLINES.value): warnings.warn("ws_ltoh_flow() is deprecated. " + "Please use the new syntax:\nvariables.low_to_high(LowToHighType.FLOW, method, filepath, var_list)",DeprecationWarning, stacklevel=2) variables.low_to_high(LowToHighType.FLOW, method, filename, varlist) def ws_ltoh_stock(filename: str, varlist, method: Union[int, str] = LowToHighMethod.CUBIC_SPLINES.value): warnings.warn("ws_ltoh_stock() is deprecated. " + "Please use the new syntax:\nvariables.low_to_high(LowToHighType.STOCK, method, filepath, var_list)",DeprecationWarning, stacklevel=2) variables.low_to_high(LowToHighType.STOCK, method, filename, varlist)