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