“space-track-api”包的小型异步包装器。

aio-space-track-api的Python项目详细描述


AsyncSpaceTrackAPI异步客户端

“空间跟踪API”包的小型异步包装器。

要求

  • python>;=3.5.0
  • 空间轨迹API>;1.0.0
  • aiohttp>;=2.0.7

安装

pip install aio-space-track-api

开始

要从太空轨道中检索某些内容:

# -*- coding: utf-8 -*-importasynciofrompprintimportpprintfromaio_space_track_apiimportAsyncSpaceTrackApiasyncdefmain(loop):asyncwithAsyncSpaceTrackApi(loop=loop,login='<YOUR_LOGIN>',password='<YOUR_PASSWORD>')asapi:tle_list=awaitapi.tle(EPOCH='>now-3',NORAD_CAT_ID=(25544,25541,),order_by=('EPOCH desc','NORAD_CAT_ID',),predicate=('EPOCH','NORAD_CAT_ID','TLE_LINE0','TLE_LINE1','TLE_LINE2',))pprint(tle_list,indent=2)if__name__=='__main__':loop=asyncio.get_event_loop()loop.run_until_complete(main(loop))

创建简单的代理空间跟踪服务器:

# -*- coding: utf-8 -*-fromaiohttpimportwebfromaio_space_track_apiimportAsyncSpaceTrackApiasyncdefquery(request):params={mvk:request.query.getall(mvk)formvkinrequest.query.keys()}result=awaitapp['space_track'].query(**params)ifisinstance(result,(dict,list)):returnweb.json_response(result)elifisinstance(result,str):returnweb.Response(text=result)returnweb.Response(body=result)asyncdefstart_space_track(app):app['space_track']=AsyncSpaceTrackApi(loop=app.loop,login='<YOUR_LOGIN>',password='<YOUR_PASSWORD>')awaitapp['space_track'].login()asyncdefcleanup_space_track(app):awaitapp['space_track'].logout()app['space_track'].session.close()if__name__=='__main__':app=web.Application()app.on_startup.append(start_space_track)app.on_cleanup.append(cleanup_space_track)app.router.add_get('/',query)web.run_app(app,port=8080)

使用“httpie”<;https://github.com/jakubroztocil/httpie>;包检索:

$ http 'http://localhost:8080/?EPOCH=>now-2&NORAD_CAT_ID=25544&order_by=EPOCH%20desc&order_by=NORAD_CAT_ID&predicate=NORAD_CAT_ID&predicate=EPOCH&NORAD_CAT_ID=25541&predicate=TLE_LINE0&predicate=TLE_LINE1&predicate=TLE_LINE2'

HTTP/1.1 200 OK
Content-Length: 787
Content-Type: application/json; charset=utf-8
Date: Fri, 19 May 2017 15:36:30 GMT
Server: Python/3.6 aiohttp/2.0.7

[
    {
        "EPOCH": "2017-05-18 12:54:34",
        "NORAD_CAT_ID": "25544",
        "TLE_LINE0": "0 ISS (ZARYA)",
        "TLE_LINE1": "1 25544U 98067A   17138.53789694 +.00010471 +00000-0 +16649-3 0  9993",
        "TLE_LINE2": "2 25544 051.6431 186.1005 0005417 167.7458 303.2068 15.53904648057142"
    },
    {
        "EPOCH": "2017-05-18 01:38:13",
        "NORAD_CAT_ID": "25541",
        "TLE_LINE0": "0 ARIANE 44LP DEB",
        "TLE_LINE1": "1 25541U 88109H   17138.06821101 +.00000205 +00000-0 +11912-2 0  9995",
        "TLE_LINE2": "2 25541 006.9551 084.3526 7116887 037.1179 355.1935 02.36325430158541"
    },
    {
        "EPOCH": "2017-05-17 18:20:34",
        "NORAD_CAT_ID": "25544",
        "TLE_LINE0": "0 ISS (ZARYA)",
        "TLE_LINE1": "1 25544U 98067A   17137.76428422 +.00000891 +00000-0 +20809-4 0  9995",
        "TLE_LINE2": "2 25544 051.6403 189.9518 0005214 167.7282 292.6823 15.54019900057027"
    }
]

源代码

github存储库中提供了最新的开发人员版本: https://github.com/nkoshell/aio-space-track-api

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
netbeans根据命名约定返回布尔类的getter的Java名称   java如何在MessageFormat中使用单引号   java如何在整数数组中只对奇数排序,而将偶数保留在其原始位置?   自定义ArrayAdapter中未定义java构造函数   java joda时间格式化程序解析yyyyymmdd(额外一小时)   java Spring引导控制器测试始终返回404   java如何提取类文件以获取该类文件中的类?   JTable java列不会显示   java Selenium Web驱动程序输出错误的Web表行数   当应用程序在mac上打开时,java SWT选项卡项会从页面上消失   java如何将html文件映射到过滤器   swing Java计算一段时间内两点之间的转换   javawebsphere和javax。xml。ws。spi。提供者:提供者组织。阿帕奇。axis2。jaxws。spi。提供者不是子类型   For循环在Java中没有按预期继续?   java如何配置gson以排除0个整数值   java读取一个由tab分隔的文件,并将单词放入ArrayList中   java我需要做什么才能让LiveConnect重新工作?   sqlservermerge2xml&使用java提取这些数据并将其存储在db表中   java如何在模型中添加新对象时通知网格