Skip to content

Commit

Permalink
rest: retreive workspace disk usage from db models
Browse files Browse the repository at this point in the history
  • Loading branch information
audrium committed Sep 22, 2020
1 parent cf18f6f commit db069e7
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 15 deletions.
1 change: 1 addition & 0 deletions AUTHORS.rst
Expand Up @@ -4,6 +4,7 @@ Authors
The list of contributors in alphabetical order:

- `Adelina Lintuluoto <https://orcid.org/0000-0002-0726-1452>`_
- `Audrius Mecionis <https://orcid.org/0000-0002-3759-1663>`_
- `Anton Khodak <https://orcid.org/0000-0003-3263-4553>`_
- `Diego Rodriguez <https://orcid.org/0000-0003-0649-2002>`_
- `Dinos Kousidis <https://orcid.org/0000-0002-4914-4289>`_
Expand Down
22 changes: 7 additions & 15 deletions reana_workflow_controller/rest/workflows.py
Expand Up @@ -11,16 +11,13 @@
import json
from uuid import uuid4

import fs
from flask import Blueprint, jsonify, request
from reana_commons.utils import get_workspace_disk_usage
from reana_db.database import Session
from reana_db.models import User, Workflow
from reana_db.utils import _get_workflow_with_uuid_or_name

from reana_workflow_controller.config import (
DEFAULT_NAME_FOR_WORKFLOWS,
SHARED_VOLUME_PATH,
WORKFLOW_TIME_FORMAT,
)
from reana_workflow_controller.errors import (
Expand Down Expand Up @@ -207,18 +204,13 @@ def get_workflows(paginate=None): # noqa
workflow_response["session_type"] = workflow.interactive_session_type
workflow_response["session_uri"] = workflow.interactive_session
if verbose:
reana_fs = fs.open_fs(SHARED_VOLUME_PATH)
if reana_fs.exists(workflow.workspace_path):
absolute_workspace_path = reana_fs.getospath(
workflow.workspace_path
)
disk_usage_info = get_workspace_disk_usage(
absolute_workspace_path, block_size=block_size
)
if disk_usage_info:
workflow_response["size"] = disk_usage_info[-1]["size"]
else:
workflow_response["size"] = "0K"
disk_usage_info = workflow.get_workspace_disk_usage(
block_size=block_size
)
if disk_usage_info:
workflow_response["size"] = disk_usage_info[-1]["size"]
else:
workflow_response["size"] = "0K"
workflows.append(workflow_response)
pagination_dict["items"] = workflows
return jsonify(pagination_dict), 200
Expand Down

0 comments on commit db069e7

Please sign in to comment.