|
27 | 27 | SRTM1_URL = 'http://dds.cr.usgs.gov/srtm/version2_1/SRTM1/'
|
28 | 28 | SRTM3_URL = 'http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/'
|
29 | 29 |
|
30 |
| -def get_data(reduce_big_files=False, leave_zipped=False, file_handler=None): |
| 30 | +package_location = mod_data.__file__[: mod_data.__file__.rfind(mod_path.sep)] |
| 31 | +DEFAULT_LIST_JSON = package_location + mod_os.sep + 'list.json' |
| 32 | + |
| 33 | +def get_data(reduce_big_files=False, leave_zipped=False, file_handler=None, |
| 34 | + use_included_urls=True): |
31 | 35 | """
|
32 | 36 | Get the utility object for querying elevation data.
|
33 | 37 |
|
@@ -55,27 +59,36 @@ def get_data(reduce_big_files=False, leave_zipped=False, file_handler=None):
|
55 | 59 | if not file_handler:
|
56 | 60 | file_handler = FileHandler()
|
57 | 61 |
|
58 |
| - files_list_file_name = 'list.json' |
59 |
| - try: |
60 |
| - contents = file_handler.read(files_list_file_name) |
| 62 | + srtm1_files, srtm3_files = _get_urls(use_included_urls, file_handler) |
61 | 63 |
|
62 |
| - urls = mod_json.loads(contents) |
| 64 | + assert srtm1_files |
| 65 | + assert srtm3_files |
| 66 | + |
| 67 | + return mod_data.GeoElevationData(srtm1_files, srtm3_files, file_handler=file_handler, |
| 68 | + reduce_big_files=reduce_big_files, |
| 69 | + leave_zipped=leave_zipped) |
63 | 70 |
|
64 |
| - srtm1_files = urls['srtm1'] |
65 |
| - srtm3_files = urls['srtm3'] |
| 71 | +def _get_urls(use_included_urls, file_handler): |
| 72 | + files_list_file_name = 'list.json' |
| 73 | + try: |
| 74 | + urls_json = _get_urls_json(use_included_urls, file_handler) |
| 75 | + return urls_json['srtm1'], urls_json['srtm3'] |
66 | 76 | except:
|
67 | 77 | srtm1_files = mod_retriever.retrieve_all_files_urls(SRTM1_URL)
|
68 | 78 | srtm3_files = mod_retriever.retrieve_all_files_urls(SRTM3_URL)
|
69 | 79 |
|
70 | 80 | file_handler.write(files_list_file_name,
|
71 | 81 | mod_json.dumps({'srtm1': srtm1_files, 'srtm3': srtm3_files}, sort_keys=True, indent=4))
|
72 | 82 |
|
73 |
| - assert srtm1_files |
74 |
| - assert srtm3_files |
| 83 | + return srtm1_files, srtm3_files |
75 | 84 |
|
76 |
| - return mod_data.GeoElevationData(srtm1_files, srtm3_files, file_handler=file_handler, |
77 |
| - reduce_big_files=reduce_big_files, |
78 |
| - leave_zipped=leave_zipped) |
| 85 | +def _get_urls_json(use_included_urls, file_handler): |
| 86 | + if use_included_urls: |
| 87 | + with open(DEFAULT_LIST_JSON, 'r') as f: |
| 88 | + return mod_json.loads(f.read()) |
| 89 | + |
| 90 | + contents = file_handler.read(files_list_file_name) |
| 91 | + return mod_json.loads(contents) |
79 | 92 |
|
80 | 93 | class FileHandler:
|
81 | 94 | """
|
|
0 commit comments