Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/ephemeris/__init__.py @ 0:26e78fe6e8c4 draft
"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
| author | shellac |
|---|---|
| date | Sat, 02 May 2020 07:14:21 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:26e78fe6e8c4 |
|---|---|
| 1 | |
| 2 # -*- coding: utf-8 -*- | |
| 3 | |
| 4 import yaml | |
| 5 from bioblend import galaxy | |
| 6 | |
| 7 __version__ = '0.10.5' | |
| 8 | |
| 9 PROJECT_NAME = "ephemeris" | |
| 10 PROJECT_OWNER = PROJECT_USERAME = "galaxyproject" | |
| 11 PROJECT_URL = "https://github.com/galaxyproject/ephemeris" | |
| 12 PROJECT_AUTHOR = 'Galaxy Project and Community' | |
| 13 PROJECT_EMAIL = 'jmchilton@gmail.com' | |
| 14 RAW_CONTENT_URL = "https://raw.github.com/%s/%s/master/" % ( | |
| 15 PROJECT_USERAME, PROJECT_NAME | |
| 16 ) | |
| 17 | |
| 18 | |
| 19 def check_url(url, log=None): | |
| 20 if not url.startswith('http'): | |
| 21 if log: | |
| 22 log.warning('URL should start with http:// or https://. https:// chosen by default.') | |
| 23 url = 'https://' + url | |
| 24 return url | |
| 25 | |
| 26 | |
| 27 def get_galaxy_connection(args, file=None, log=None, login_required=True): | |
| 28 """ | |
| 29 Return a Galaxy connection, given a user or an API key. | |
| 30 If not given gets the arguments from the file. | |
| 31 If either is missing raise ValueError. | |
| 32 """ | |
| 33 if file: | |
| 34 file_content = load_yaml_file(file) | |
| 35 else: | |
| 36 file_content = dict() | |
| 37 | |
| 38 url = args.galaxy or file_content.get('galaxy_instance') | |
| 39 galaxy_url = check_url(url, log) | |
| 40 api_key = args.api_key or file_content.get('api_key') | |
| 41 | |
| 42 if args.user and args.password: | |
| 43 return galaxy.GalaxyInstance(url=galaxy_url, email=args.user, password=args.password) | |
| 44 elif api_key: | |
| 45 return galaxy.GalaxyInstance(url=galaxy_url, key=api_key) | |
| 46 elif not login_required: | |
| 47 return galaxy.GalaxyInstance(url=galaxy_url) | |
| 48 else: | |
| 49 raise ValueError("Missing api key or user & password combination, in order to make a galaxy connection.") | |
| 50 | |
| 51 | |
| 52 def load_yaml_file(filename): | |
| 53 """ | |
| 54 Load YAML from the `tool_list_file` and return a dict with the content. | |
| 55 """ | |
| 56 with open(filename, 'r') as f: | |
| 57 dictionary = yaml.safe_load(f) | |
| 58 return dictionary | |
| 59 | |
| 60 | |
| 61 def dump_to_yaml_file(content, file_name): | |
| 62 """ | |
| 63 Dump YAML-compatible `content` to `file_name`. | |
| 64 """ | |
| 65 with open(file_name, 'w') as f: | |
| 66 yaml.dump(content, f, default_flow_style=False) |
