Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

Commit

Permalink
res write, plot, print no longer return anything
Browse files Browse the repository at this point in the history
  • Loading branch information
forman committed May 23, 2017
1 parent 18652b8 commit 10ed7bd
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 32 deletions.
17 changes: 7 additions & 10 deletions cate/core/wsmanag.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,18 +110,18 @@ def delete_workspace_resource(self, base_dir: str, res_name: str) -> Workspace:
@abstractmethod
def write_workspace_resource(self, base_dir: str, res_name: str,
file_path: str, format_name: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
pass

@abstractmethod
def plot_workspace_resource(self, base_dir: str, res_name: str,
var_name: str = None, file_path: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
pass

@abstractmethod
def print_workspace_resource(self, base_dir: str, res_name_or_expr: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
pass


Expand Down Expand Up @@ -320,24 +320,23 @@ def delete_workspace_resource(self, base_dir: str, res_name: str) -> Workspace:

def write_workspace_resource(self, base_dir: str, res_name: str,
file_path: str, format_name: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
workspace = self.get_workspace(base_dir)
with monitor.starting('Writing resource "%s"' % res_name, total_work=10):
obj = workspace.execute_workflow(res_name=res_name, monitor=monitor.child(work=9))
write_object(obj, file_path, format_name=format_name)
monitor.progress(work=1, msg='Writing file %s' % file_path)
return workspace

def plot_workspace_resource(self, base_dir: str, res_name: str,
var_name: str = None, file_path: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
workspace = self.get_workspace(base_dir)
obj = self._get_resource_value(workspace, res_name, monitor)

import xarray as xr
import numpy as np
import matplotlib
matplotlib.use('Qt4Agg')
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt

if isinstance(obj, xr.Dataset):
Expand All @@ -362,14 +361,12 @@ def plot_workspace_resource(self, base_dir: str, res_name: str,
plt.show()
else:
raise WorkspaceError("don't know how to plot a \"%s\"" % type(obj))
return workspace

def print_workspace_resource(self, base_dir: str, res_name_or_expr: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
workspace = self.get_workspace(base_dir)
value = self._get_resource_value(workspace, res_name_or_expr, monitor)
pprint.pprint(value)
return workspace

# noinspection PyMethodMayBeStatic
def _get_resource_value(self, workspace, res_name_or_expr, monitor):
Expand Down
26 changes: 13 additions & 13 deletions cate/webapi/rest.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,23 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

from cate.util import ConsoleMonitor
from cate.util import Monitor
import datetime

__author__ = "Norman Fomferra (Brockmann Consult GmbH), " \
"Marco Zühlke (Brockmann Consult GmbH)"

import concurrent
import concurrent.futures
import datetime
import json
import os.path
import time
import traceback
from typing import List

import numpy as np
import xarray as xr
import fiona
import tornado.web
import numpy as np
import tornado.gen
import concurrent.futures
import tornado.web
import xarray as xr

from cate.conf import get_config
from cate.conf.defaults import \
Expand All @@ -46,6 +44,8 @@
WEBAPI_WORKSPACE_MEM_TILE_CACHE_CAPACITY, \
WEBAPI_ON_ALL_CLOSED_AUTO_STOP_AFTER, \
WEBAPI_USE_WORKSPACE_IMAGERY_CACHE
from cate.util import ConsoleMonitor
from cate.util import Monitor
from cate.util.cache import Cache, MemoryCacheStore, FileCacheStore
from cate.util.im import ImagePyramid, TransformArrayImage, ColorMappedRgbaImage
from cate.util.im.ds import NaturalEarth2Image
Expand Down Expand Up @@ -264,9 +264,9 @@ def get(self, base_dir, res_name):
workspace_manager = self.application.workspace_manager
try:
with cwd(base_dir):
workspace = workspace_manager.write_workspace_resource(base_dir, res_name, file_path,
format_name=format_name)
self.write_status_ok(content=workspace.to_json_dict())
workspace_manager.write_workspace_resource(base_dir, res_name, file_path,
format_name=format_name)
self.write_status_ok()
except Exception as e:
self.write_status_error(exception=e)

Expand All @@ -292,8 +292,8 @@ def get(self, base_dir):
workspace_manager = self.application.workspace_manager
try:
with cwd(base_dir):
workspace = workspace_manager.print_workspace_resource(base_dir, res_name_or_expr)
self.write_status_ok(content=workspace.to_json_dict())
workspace_manager.print_workspace_resource(base_dir, res_name_or_expr)
self.write_status_ok()
except Exception as e:
self.write_status_error(exception=e)

Expand Down
15 changes: 6 additions & 9 deletions cate/webapi/wsmanag.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,26 +181,23 @@ def rename_workspace_resource(self, base_dir: str,

def write_workspace_resource(self, base_dir: str, res_name: str,
file_path: str, format_name: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
url = self._url('/ws/res/write/{base_dir}/{res_name}',
path_args=dict(base_dir=base_dir, res_name=res_name),
query_args=self._query(file_path=file_path, format_name=format_name))
json_dict = self._fetch_json(url, timeout=WEBAPI_RESOURCE_TIMEOUT)
return Workspace.from_json_dict(json_dict)
self._fetch_json(url, timeout=WEBAPI_RESOURCE_TIMEOUT)

def plot_workspace_resource(self, base_dir: str, res_name: str,
var_name: str = None, file_path: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
url = self._url('/ws/res/plot/{base_dir}/{res_name}',
path_args=dict(base_dir=base_dir, res_name=res_name),
query_args=self._query(var_name=var_name, file_path=file_path))
json_dict = self._fetch_json(url, timeout=WEBAPI_RESOURCE_TIMEOUT + WEBAPI_PLOT_TIMEOUT)
return Workspace.from_json_dict(json_dict)
self._fetch_json(url, timeout=WEBAPI_RESOURCE_TIMEOUT + WEBAPI_PLOT_TIMEOUT)

def print_workspace_resource(self, base_dir: str, res_name_or_expr: str = None,
monitor: Monitor = Monitor.NONE) -> Workspace:
monitor: Monitor = Monitor.NONE) -> None:
url = self._url('/ws/res/print/{base_dir}',
path_args=dict(base_dir=base_dir),
query_args=self._query(res_name_or_expr=res_name_or_expr))
json_dict = self._fetch_json(url, timeout=WEBAPI_RESOURCE_TIMEOUT)
return Workspace.from_json_dict(json_dict)
self._fetch_json(url, timeout=WEBAPI_RESOURCE_TIMEOUT)

0 comments on commit 10ed7bd

Please sign in to comment.