Skip to content

Commit

Permalink
Merge branch 'galaxyproject:dev' into irods-objectstore-templates
Browse files Browse the repository at this point in the history
  • Loading branch information
pauldg authored Jan 21, 2025
2 parents cb13737 + 5f484fc commit 39f346c
Show file tree
Hide file tree
Showing 29 changed files with 289 additions and 221 deletions.
2 changes: 2 additions & 0 deletions client/src/api/schema/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8935,6 +8935,8 @@ export interface components {
error?: string | null;
/** Success */
success: boolean;
/** Uri */
uri?: string | null;
};
/**
* ExportObjectType
Expand Down
7 changes: 6 additions & 1 deletion client/src/components/Common/models/exportRecordModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { formatDistanceToNow, parseISO } from "date-fns";

import {
type ExportObjectRequestMetadata,
type ExportObjectResultMetadata,
type ModelStoreFormat,
type ObjectExportTaskResponse,
type StoreExportPayload,
Expand Down Expand Up @@ -85,12 +86,14 @@ export class ExportRecordModel implements ExportRecord {
private _data: ObjectExportTaskResponse;
private _expirationDate?: Date;
private _requestMetadata?: ExportObjectRequestMetadata;
private _resultMetadata?: ExportObjectResultMetadata | null;
private _exportParameters?: ExportParamsModel;

constructor(data: ObjectExportTaskResponse) {
this._data = data;
this._expirationDate = undefined;
this._requestMetadata = data.export_metadata?.request_data;
this._resultMetadata = data.export_metadata?.result_data;
this._exportParameters = this._requestMetadata?.payload
? new ExportParamsModel(this._requestMetadata?.payload)
: undefined;
Expand Down Expand Up @@ -130,7 +133,9 @@ export class ExportRecordModel implements ExportRecord {

get importUri() {
const payload = this._requestMetadata?.payload;
return payload && "target_uri" in payload ? payload.target_uri : undefined;
const requestUri = payload && "target_uri" in payload ? payload.target_uri : undefined;
const resultUri = this._resultMetadata?.uri;
return resultUri || requestUri;
}

get canReimport() {
Expand Down
7 changes: 3 additions & 4 deletions client/src/components/Workflow/Editor/Node.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,18 +42,17 @@ describe("Node", () => {
},
});
await flushPromises();

// fa-wrench is the tool icon ...
expect(wrapper.findAll(".fa-wrench")).toHaveLength(1);
const toolLinks = wrapper.findAll("i");
expect(toolLinks.length).toBe(3);
await wrapper.setProps({
step: { label: "step label", type: "subworkflow", inputs: [], outputs: [], position: { top: 0, left: 0 } },
});

// fa-sitemap is the subworkflow icon ...
expect(wrapper.findAll(".fa-sitemap")).toHaveLength(1);
expect(wrapper.findAll(".fa-wrench")).toHaveLength(0);
const subworkflowLinks = wrapper.findAll("i");
expect(subworkflowLinks.length).toBe(2);

const workflowTitle = wrapper.find(".node-title");
expect(workflowTitle.text()).toBe("step label");
});
Expand Down
3 changes: 1 addition & 2 deletions client/src/components/Workflow/Editor/Node.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<b-button-group class="float-right">
<LoadingSpan v-if="isLoading" spinner-only />
<b-button
v-if="canClone && !readonly"
v-if="!readonly"
v-b-tooltip.hover
class="node-clone py-0"
variant="primary"
Expand Down Expand Up @@ -241,7 +241,6 @@ const title = computed(() => props.step.label || props.step.name);
const idString = computed(() => `wf-node-step-${props.id}`);
const showRule = computed(() => props.step.inputs?.length > 0 && props.step.outputs?.length > 0);
const iconClass = computed(() => `icon fa fa-fw ${WorkflowIcons[props.step.type]}`);
const canClone = computed(() => props.step.type !== "subworkflow"); // Why ?
const isEnabled = getGalaxyInstance().config.enable_tool_recommendations; // getGalaxyInstance is not reactive
const isActive = computed(() => props.id === props.activeNodeId);
Expand Down
3 changes: 2 additions & 1 deletion lib/galaxy/datatypes/isa.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,8 @@ def groom_dataset_content(self, file_name: str) -> None:
# perform extraction
# For some ZIP files CompressedFile::extract() extract the file inside <output_folder>/<file_name> instead of outputing it inside <output_folder>. So we first create a temporary folder, extract inside it, and move content to final destination.
temp_folder = tempfile.mkdtemp()
CompressedFile(file_name).extract(temp_folder)
with CompressedFile(file_name) as cf:
cf.extract(temp_folder)
shutil.rmtree(output_path)
extracted_files = os.listdir(temp_folder)
logger.debug(" ".join(extracted_files))
Expand Down
20 changes: 11 additions & 9 deletions lib/galaxy/dependencies/dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ backports-tarfile==1.2.0 ; python_full_version < '3.12' and platform_machine !=
backports-zoneinfo==0.2.1 ; python_full_version < '3.9'
black==24.8.0 ; python_full_version < '3.9'
black==24.10.0 ; python_full_version >= '3.9'
boto3==1.35.93
botocore==1.35.93
boto3==1.36.1
botocore==1.36.1
build==1.2.2.post1
cachecontrol==0.14.2
certifi==2024.12.14
Expand Down Expand Up @@ -93,7 +93,8 @@ mdurl==0.1.2
mirakuru==2.5.2 ; python_full_version < '3.9'
mirakuru==2.5.3 ; python_full_version >= '3.9'
mistune==3.0.2
more-itertools==10.5.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
more-itertools==10.5.0 ; python_full_version < '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'
more-itertools==10.6.0 ; python_full_version >= '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'
msgpack==1.1.0
multidict==6.1.0
mypy-extensions==1.0.0
Expand Down Expand Up @@ -124,7 +125,7 @@ prettytable==3.12.0 ; python_full_version >= '3.9'
propcache==0.2.0 ; python_full_version < '3.9'
propcache==0.2.1 ; python_full_version >= '3.9'
psutil==6.1.1 ; sys_platform != 'cygwin'
psycopg==3.2.3
psycopg==3.2.4
pycparser==2.22
pyee==12.0.0
pygithub==2.5.0
Expand Down Expand Up @@ -161,19 +162,20 @@ rdflib==7.0.0 ; python_full_version >= '3.8.1' and python_full_version < '3.9'
rdflib==7.1.2 ; python_full_version >= '3.9'
readme-renderer==43.0 ; python_full_version < '3.9'
readme-renderer==44.0 ; python_full_version >= '3.9'
referencing==0.35.1 ; python_full_version >= '3.9'
referencing==0.35.1 ; python_version < '0'
referencing==0.36.1 ; python_full_version >= '3.9'
requests==2.32.3
requests-toolbelt==1.0.0
responses==0.25.5
responses==0.25.6
rfc3986==2.0.0
rich==13.9.4
rpds-py==0.20.1 ; python_version < '0'
rpds-py==0.22.3 ; python_full_version >= '3.9'
ruamel-yaml==0.18.10
ruamel-yaml-clib==0.2.8 ; python_full_version < '3.9' and platform_python_implementation == 'CPython'
ruamel-yaml-clib==0.2.12 ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython'
rucio-clients==36.0.0.post2 ; python_full_version >= '3.9'
s3transfer==0.10.4
rucio-clients==36.1.0 ; python_full_version >= '3.9'
s3transfer==0.11.1
schema-salad==8.7.20241010092723 ; python_full_version < '3.9'
schema-salad==8.8.20241206093842 ; python_full_version >= '3.9'
scipy==1.10.1 ; python_full_version < '3.9'
Expand Down Expand Up @@ -228,7 +230,7 @@ wcwidth==0.2.13
websocket-client==1.8.0
werkzeug==3.0.6 ; python_full_version < '3.9'
werkzeug==3.1.3 ; python_full_version >= '3.9'
wrapt==1.17.1
wrapt==1.17.2
wsproto==1.2.0
yarl==1.15.2 ; python_full_version < '3.9'
yarl==1.18.3 ; python_full_version >= '3.9'
Expand Down
2 changes: 1 addition & 1 deletion lib/galaxy/dependencies/pinned-lint-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ flake8-bugbear==24.12.12
mccabe==0.7.0
pycodestyle==2.12.1
pyflakes==3.2.0
ruff==0.9.1
ruff==0.9.2
13 changes: 7 additions & 6 deletions lib/galaxy/dependencies/pinned-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# uv export --frozen --no-hashes --no-dev
a2wsgi==1.10.8
adal==1.2.7
aiobotocore==2.17.0
aiobotocore==2.18.0
aiodataloader==0.4.0
aiofiles==24.1.0
aiohappyeyeballs==2.4.4
Expand Down Expand Up @@ -37,7 +37,7 @@ bleach==6.1.0 ; python_full_version < '3.9'
bleach==6.2.0 ; python_full_version >= '3.9'
boltons==24.1.0
boto==2.49.0
botocore==1.35.93
botocore==1.36.1
bx-python==0.13.0
cachecontrol==0.14.2
celery==5.4.0
Expand Down Expand Up @@ -112,15 +112,15 @@ jsonschema-specifications==2023.12.1 ; python_full_version < '3.9'
jsonschema-specifications==2024.10.1 ; python_full_version >= '3.9'
kombu==5.4.2
lagom==2.7.5
legacy-cgi==2.6.1 ; python_full_version >= '3.13'
legacy-cgi==2.6.2 ; python_full_version >= '3.13'
lxml==5.3.0
mako==1.3.8
markdown==3.7
markdown-it-py==3.0.0
markupsafe==2.1.5 ; python_full_version < '3.9'
markupsafe==3.0.2 ; python_full_version >= '3.9'
mdurl==0.1.2
mercurial==6.9
mercurial==6.9.1
mistune==3.0.2
mrcfile==1.5.3
msal==1.31.1
Expand Down Expand Up @@ -182,7 +182,8 @@ pyzmq==26.2.0
rdflib==6.3.2 ; python_full_version < '3.8.1'
rdflib==7.0.0 ; python_full_version >= '3.8.1' and python_full_version < '3.9'
rdflib==7.1.2 ; python_full_version >= '3.9'
referencing==0.35.1
referencing==0.35.1 ; python_full_version < '3.9'
referencing==0.36.1 ; python_full_version >= '3.9'
refgenconf==0.12.2
regex==2024.11.6
repoze-lru==0.7
Expand Down Expand Up @@ -245,7 +246,7 @@ wcwidth==0.2.13
webencodings==0.5.1
webob==1.8.9
whoosh==2.7.4
wrapt==1.17.1
wrapt==1.17.2
yacman==0.9.3
yarl==1.15.2 ; python_full_version < '3.9'
yarl==1.18.3 ; python_full_version >= '3.9'
Expand Down
8 changes: 4 additions & 4 deletions lib/galaxy/dependencies/pinned-typecheck-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# This file was autogenerated by uv via the following command:
# uv export --frozen --no-hashes --only-group=typecheck
annotated-types==0.7.0
boto3-stubs==1.35.97
botocore-stubs==1.35.97
boto3-stubs==1.36.2
botocore-stubs==1.36.2
cffi==1.17.1 ; platform_python_implementation != 'PyPy'
cryptography==44.0.0
lxml-stubs==0.5.1
mypy==1.14.1
mypy-boto3-s3==1.35.93
mypy-boto3-s3==1.36.0
mypy-extensions==1.0.0
pycparser==2.22 ; platform_python_implementation != 'PyPy'
pydantic==2.10.5
Expand All @@ -27,7 +27,7 @@ types-python-slugify==8.0.2.20240310
types-pyyaml==6.0.12.20241230
types-requests==2.31.0.6 ; python_full_version < '3.10'
types-requests==2.32.0.20241016 ; python_full_version >= '3.10'
types-s3transfer==0.10.4
types-s3transfer==0.11.1
types-setuptools==75.8.0.20250110
types-six==1.17.0.20241205
types-urllib3==1.26.25.14 ; python_full_version < '3.10'
Expand Down
11 changes: 7 additions & 4 deletions lib/galaxy/files/sources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ def write_from(
native_path: str,
user_context: "OptionalUserContext" = None,
opts: Optional[FilesSourceOptions] = None,
):
) -> str:
"""Write file at native path to target_path (relative to uri root).
:param target_path: url of the target file to write to within the filesource. e.g. `gxfiles://myftp1/myfile.txt`
Expand All @@ -231,6 +231,9 @@ def write_from(
:type user_context: _type_, optional
:param opts: A set of options to exercise additional control over the write_from method. Filesource specific, defaults to None
:type opts: Optional[FilesSourceOptions], optional
:return: Actual url of the written file, fixed by the service backing the FileSource. May differ from the target
path.
:rtype: str
"""

@abc.abstractmethod
Expand Down Expand Up @@ -511,10 +514,10 @@ def write_from(
native_path: str,
user_context: "OptionalUserContext" = None,
opts: Optional[FilesSourceOptions] = None,
):
) -> str:
self._ensure_writeable()
self._check_user_access(user_context)
self._write_from(target_path, native_path, user_context=user_context, opts=opts)
return self._write_from(target_path, native_path, user_context=user_context, opts=opts) or target_path

@abc.abstractmethod
def _write_from(
Expand All @@ -523,7 +526,7 @@ def _write_from(
native_path: str,
user_context: "OptionalUserContext" = None,
opts: Optional[FilesSourceOptions] = None,
):
) -> Optional[str]:
pass

def realize_to(
Expand Down
Loading

0 comments on commit 39f346c

Please sign in to comment.