Warning
This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for galaxy.util.tool_version
[docs]
def remove_version_from_guid(guid: str) -> str | None:
"""
Removes version from toolshed-derived tool_id(=guid).
"""
if "/" not in guid:
return None
last_slash = guid.rfind("/")
return guid[:last_slash]
[docs]
def is_shed_guid(tool_id: str) -> bool:
"""
True when ``tool_id`` is a toolshed-derived guid
(``toolshed/repos/owner/name/tool_id/version``).
"""
return "/repos/" in tool_id
[docs]
def short_tool_id(guid: str) -> str:
"""
Tool-id segment of a toolshed-derived tool_id(=guid),
e.g. ``toolshed/repos/owner/name/tool_id/version`` -> ``tool_id``.
Ids that aren't guids pass through unchanged.
"""
versionless = remove_version_from_guid(guid)
if not versionless or "/" not in versionless:
return guid
return versionless.rsplit("/", 1)[-1]