Files
galaxy/test/functional/tools/directory_uri_copy_to.py
T
2022-02-03 07:42:20 -05:00

45 lines
1.3 KiB
Python

import argparse
import json
import os
import sys
import tempfile
from galaxy.files import ConfiguredFileSources
def get_file_sources(file_sources_path):
assert os.path.exists(file_sources_path), "file sources path [%s] does not exist" % file_sources_path
with open(file_sources_path) as f:
file_sources_as_dict = json.load(f)
file_sources = ConfiguredFileSources.from_dict(file_sources_as_dict)
return file_sources
def main(argv=None):
if argv is None:
argv = sys.argv[1:]
args = _parser().parse_args(argv)
file_sources = get_file_sources(args.file_sources)
directory_uri = args.directory_uri
if directory_uri.endswith("/"):
target_uri = directory_uri + "helloworld"
else:
target_uri = directory_uri + "/helloworld"
file_source_path = file_sources.get_file_source_path(target_uri)
file_source = file_source_path.file_source
with tempfile.NamedTemporaryFile(mode="w", delete=False) as f:
f.write("hello world!\n")
file_source.write_from(file_source_path.path, f.name)
def _parser():
parser = argparse.ArgumentParser()
parser.add_argument("--directory_uri", type=str, help="directory target URI")
parser.add_argument("--file_sources", type=str, help="file sources json")
return parser
if __name__ == "__main__":
main()