Mercurial > repos > stevecassidy > alveoimport
annotate alveo_api_key.py @ 7:5a8d9ddabec4 draft
planemo upload commit 0203cb3a0b40d9348674b2b098af805e2986abca-dirty
| author | stevecassidy | 
|---|---|
| date | Wed, 12 Oct 2016 17:06:33 -0400 | 
| parents | 3a9f20428cff | 
| children | a38315ecf593 | 
| rev | line source | 
|---|---|
| 4 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 1 from __future__ import print_function | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 2 import argparse | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 3 import pyalveo | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 4 import sys | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 5 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 6 API_URL = 'https://app.alveo.edu.au' | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 7 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 8 def parser(): | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 9 parser = argparse.ArgumentParser(description="Retrieves Alveo Item Lists") | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 10 parser.add_argument('--api_key', required=True, action="store", type=str, help="Alveo API key") | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 11 parser.add_argument('--output_path', required=True, action="store", type=str, help="File to store the API key in") | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 12 return parser.parse_args() | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 13 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 14 def write_key(api_key, output_path, client_module=pyalveo): | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 15 """Tests whether an API key is valid and writes it to a file. | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 16 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 17 :type api_key: String | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 18 :param api_key: Alveo API key | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 19 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 20 :type output_path: String | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 21 :param output_path: Path to the file to store the API key in | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 22 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 23 :type client_module: pyalveo.Client | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 24 :param client_module: Module providing the client (used for testing purposes), | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 25 defaults to pyalveo | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 26 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 27 :raises: pyalveo.APIError if the API request is not successful | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 28 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 29 """ | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 30 client = client_module.Client(api_key, API_URL, use_cache=False) | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 31 outfile = open(output_path, 'w') | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 32 outfile.write(api_key) | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 33 outfile.close() | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 34 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 35 def main(): | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 36 args = parser() | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 37 try: | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 38 write_key(args.api_key, args.output_path) | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 39 except Exception as e: | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 40 print("ERROR: " + str(e), file=sys.stderr) | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 41 sys.exit(1) | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 42 | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 43 if __name__ == '__main__': | 
| 
3a9f20428cff
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
 stevecassidy parents: diff
changeset | 44 main() | 
