1 |
4918
|
aaronmk
|
#!/usr/bin/env python
|
2 |
|
|
# A TNRS client
|
3 |
4920
|
aaronmk
|
# When using xargs to pass many names, note that xargs will by default split its
|
4 |
|
|
# arguments into chunks of 5000. You can change this using the -n option.
|
5 |
4918
|
aaronmk
|
# Note that obtaining an actual CSV requires four (!) steps: submit, retrieve,
|
6 |
4991
|
aaronmk
|
# prepare download, and download.
|
7 |
4918
|
aaronmk
|
|
8 |
|
|
import os.path
|
9 |
|
|
import sys
|
10 |
|
|
|
11 |
|
|
sys.path.append(os.path.dirname(__file__)+"/../lib")
|
12 |
|
|
|
13 |
|
|
import opts
|
14 |
5006
|
aaronmk
|
import streams
|
15 |
4991
|
aaronmk
|
import tnrs
|
16 |
4918
|
aaronmk
|
|
17 |
4989
|
aaronmk
|
def main():
|
18 |
|
|
# Input
|
19 |
|
|
env_names = []
|
20 |
|
|
debug = opts.env_flag('debug', False, env_names)
|
21 |
|
|
taxons = sys.argv[1:]
|
22 |
|
|
if not taxons: raise SystemExit('Usage: '+opts.env_usage(env_names, True)
|
23 |
|
|
+' '+sys.argv[0]+' taxon... >out 2>>log')
|
24 |
|
|
|
25 |
5089
|
aaronmk
|
streams.copy(tnrs.repeated_tnrs_request(taxons, debug), sys.stdout)
|
26 |
4989
|
aaronmk
|
|
27 |
4918
|
aaronmk
|
main()
|