Skip to content

show_matching_datasets function restricts access for public histories #340

@mtekman

Description

@mtekman

Accessing datasets in a public history (that does not belong to me) is restricted in an inconsistent way.

When I try to match datasets using the show_matching_datasets function, it throws me a 403 error.

MWE:

from bioblend import galaxy

gi = galaxy.GalaxyInstance(url="https://usegalaxy.eu", key=<api-key>)
dc = galaxy.datasets.DatasetClient(gi)
hc = galaxy.histories.HistoryClient(gi)

name_filter="illumina.*"
##public_url="https://usegalaxy.eu/u/sars-cov2-bot/h/2020-09-28-update"
## I found the below ID in the page source of the above url
public_hid = "c36be749fd002b4d"

hc.show_matching_datasets(public_hid, name_filter=name_filter)

it waits for about minute, and then gives out:

403 error  "HistoryDatasetAssociation  is not accessible by user"

however I can still iterate over the history and access the datasets (albeit much more slowly)

from bioblend import galaxy

gi = galaxy.GalaxyInstance(url="https://usegalaxy.eu", key=<api-key>)
dc = galaxy.datasets.DatasetClient(gi)
hc = galaxy.histories.HistoryClient(gi)

name_filter="illumina.*"
public_hid = "c36be749fd002b4d"

tmp = hc.show_history(public_hid)
set_ids = tmp['state_ids']['ok']
for set in set_ids:
     print(dc.show_dataset(se)['name'])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions