spaceweather.core   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 7

2 Functions

Rating   Name   Duplication   Size   Complexity  
A _dl_file() 0 7 5
A _assert_file_exists() 0 3 2
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