瀏覽代碼

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:


Loading…
取消
儲存