lb_toolkits.download.downloadOCO 源代码

# -*- coding:utf-8 -*-
'''
@Project  : lb_toolkits

@File     : downloadOCO.py

@Modify Time : 2022/8/11 15:34

@Author : Lee

@Version : 1.0

@Description :

'''
import datetime
import os

from lb_toolkits.utils import wget
from .cmr import cmr


[文档] class downloadOCO(cmr): def __init__(self, username, password): self.username = username self.password = password
[文档] def searchfile(self, starttime, endtime=None, shortname='OCO2_L2_Lite_FP', provider='GES_DISC', version=None, **kwargs): ''' 利用cmr进行查询检索相关产品的下载地址 Parameters ---------- starttime : datetime 起始时间 endtime : datetime, optional 起始时间 shortname : str 对应cmr中的short name provider : str, optional 产品提供的组织结构 Returns ------- list 根据条件所匹配到的产品下载链接 ''' if endtime is None : endtime = starttime CMR_ProviderURL = 'https://cmr.earthdata.nasa.gov/search/site/' \ 'collections/directory/{Provider}/gov.nasa.eosdis'.format(Provider=provider) if not self.cmr_check_provider(shortname=shortname, provider=provider, version=version) : raise Exception('请参考Short Name>>"%s"' %(CMR_ProviderURL)) # 调用cmr进行产品查询 filelist = self.cmr_search(starttime=starttime, endtime=endtime, short_name=shortname, version=version, **kwargs) return filelist
[文档] def download(self, outdir, url, tries=3, timeout=5*60, skip=False, cover=False, wgetpath=None): ''' 根据输入url下载相应的文件 Parameters ---------- outdir: str 输出路径 url : str 下载链接 token : str EarthData账号的APP Keys timeout : int 时间限制 skip : bool 是否不做数据下载,直接返回文件名。默认是FALSE,下载文件。 Returns ------- str 下载数据的文件名 ''' if not os.path.isdir(outdir) : os.makedirs(outdir, exist_ok=True) filename = wget(outdir, url, username=self.username, password=self.password, tries=tries, skip_download=skip, cover=cover, timeout=timeout, wgetpath=wgetpath) return filename