mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-25 00:03:57 +08:00
45 lines
1.3 KiB
Python
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()
|