Total Complexity | 7 |
Total Lines | 30 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | # Copyright (c) 2020--2022 Stefan Bender |
||
2 | # |
||
3 | # This module is part of pyspaceweather. |
||
4 | # pyspaceweather is free software: you can redistribute it or modify |
||
5 | # it under the terms of the GNU General Public License as published |
||
6 | # by the Free Software Foundation, version 2. |
||
7 | # See accompanying COPYING.GPLv2 file or http://www.gnu.org/licenses/gpl-2.0.html. |
||
8 | """Python interface for space weather indices |
||
9 | |||
10 | General file handling functions for space weather data |
||
11 | """ |
||
12 | import errno |
||
13 | import os |
||
14 | |||
15 | import requests |
||
16 | |||
17 | |||
18 | def _assert_file_exists(f): |
||
19 | if not os.path.exists(f): |
||
20 | raise IOError(errno.ENOENT, os.strerror(errno.ENOENT), f) |
||
21 | |||
22 | |||
23 | def _dl_file(swpath, url): |
||
24 | with requests.get(url, stream=True) as r: |
||
25 | if r.status_code != requests.codes.ok: |
||
26 | return |
||
27 | with open(swpath, 'wb') as fd: |
||
28 | for chunk in r.iter_content(chunk_size=1024): |
||
29 | fd.write(chunk) |
||
30 |