浏览代码

feat: use Skyfield-Data library instead of downloading needed files at first time (#22)

The folder created automatically at `~/.kosmorro-cache` is not needed
anymore and can be deleted safely.
tags/v1.0.0
Jérôme Deuchnord 4 年前
committed by Jérôme Deuchnord
父节点
当前提交
50b9569e5e
找不到此签名对应的密钥 GPG 密钥 ID: 9F72B1EF93EDE1D4
共有 2 个文件被更改,包括 5 次插入13 次删除
  1. +1
    -0
      Pipfile
  2. +4
    -13
      kosmorrolib/core.py

+ 1
- 0
Pipfile 查看文件

@@ -13,6 +13,7 @@ coverage = "*"
skyfield = ">=1.32.0,<2.0.0" skyfield = ">=1.32.0,<2.0.0"
numpy = ">=1.17.0,<2.0.0" numpy = ">=1.17.0,<2.0.0"
python-dateutil = ">=2.8.0,<3.0.0" python-dateutil = ">=2.8.0,<3.0.0"
skyfield-data = ">=3.0.0,<4.0.0"


[requires] [requires]
python_version = "3" python_version = "3"

+ 4
- 13
kosmorrolib/core.py 查看文件

@@ -1,35 +1,26 @@
#!/usr/bin/env python3 #!/usr/bin/env python3


from shutil import rmtree
from pathlib import Path

from skyfield.api import Loader from skyfield.api import Loader
from skyfield.timelib import Time from skyfield.timelib import Time
from skyfield.nutationlib import iau2000b from skyfield.nutationlib import iau2000b


CACHE_FOLDER = str(Path.home()) + "/.kosmorro-cache"

from skyfield_data import get_skyfield_data_path


def get_loader():
return Loader(CACHE_FOLDER)
LOADER = Loader(get_skyfield_data_path())




def get_timescale(): def get_timescale():
return get_loader().timescale()
return LOADER.timescale()




def get_skf_objects(): def get_skf_objects():
return get_loader()("de421.bsp")
return LOADER("de421.bsp")




def get_iau2000b(time: Time): def get_iau2000b(time: Time):
return iau2000b(time.tt) return iau2000b(time.tt)




def clear_cache():
rmtree(CACHE_FOLDER)


def flatten_list(the_list: list): def flatten_list(the_list: list):
new_list = [] new_list = []
for item in the_list: for item in the_list:


正在加载...
取消
保存