phnmnl / container-galaxy-k8s-runtime

PhenoMeNal runtime for Galaxy running inside a container orchestrator
Apache License 2.0
5 stars 18 forks source link

Reimplement the "no unzip" data type with Galaxy's built-in class #217

Closed ilveroluca closed 6 years ago

ilveroluca commented 6 years ago

This PR redefines our no_unzip.zip data type with Galaxy's built-in CompressedZipArchive class, whic is explicitly documented as being a "class can be sublass'ed to implement [zip] archive filetypes that will not be unpacked by upload.py."

Tested on Minikube and it works, solving the issue of the uploader in Galaxy v18 unpacking our no_unzip zip archives.

djcomlab commented 6 years ago

Question is, where did it disappear to!?

ilveroluca commented 6 years ago

The no unzip data type? It didn't disappear, but on our set-ups, in the develop branch of our galaxy container runtime with Galaxy v18, it stopped working resulting in zip archives that were automatically decompressed by the uploader when we didn't expect them to be.

This PR replaces the previous implementation, which included a custom NoUnzip class, with an implicit subclass created through Galaxy's datatypes_conf (notice the subclass="true" attribute). This time instead of subclassing Binary, which is subject to automatic decompression, we subclass CompressedZipArchive which more accurately represents the dataset in question and is not subject to automatic decompression (it's defined as a "compressed_archive").

The tools that use no_unzip should not be affected.