为传奇联盟撰写与使用

lol-api的Python项目详细描述


它是传奇联盟api的python包装器,注意不要 超过速率限制。

python 3.5上测试

完整的API文档: link

安装:

PYPI上提供软件包,请使用:

pip install lol_api

或从源安装:

git clone https://github.com/gradam/lol_api.git

python setup.py test

python setup.py install

用法:

首先你需要设置一些东西。为此,请导入设置。

fromlol_api.settingsimportsettingssettings.API_KEY='your_api_key'# If you do not wont to pass region to each api call just do:settings.REGION_DEFAULT='some_region'# Now if you are going to use watcher daemon you have to pass server info:settings.DAEMON_SERVER=('server_ip',port)# If you prefer to use local watcher instancesettings.initialize_watcher()

示例:

fromlol_api.settingsimportsettingsfromlol_api.api.championimportchampionsettings.API_KEY='mysecretapikey123'settings.REGION_DEFAULT='eune'settings.initialie_watcher(production=True)data=champion(champion_id=2)

守护进程:

要使用守护进程监视请求计数,请在另一个python实例中运行它。

fromlol_api.daemonimportApiDaemondaemon=ApiDaemon()daemon.run()

其他参数:

  • port-要运行的端口。默认值(8877)
  • host-socketserver.threadingtcserver的主机。默认('localhost')
  • production-设置生产限制的请求限制。默认值(假)
  • unlimited-不计算请求。默认值(假)
  • log-打印有关查询的信息。默认值(真)

额外参数:

指定区域传递region='your_region'作为 方法,如果未指定region_default,则传递给客户端的 使用。

如果lol api接受可选参数,则应将其作为关键字传递 完全按照api的预期命名。例如

lol_api.api.lol_static_data.champion(champData='all')

附加数据:

lol_api.data

  • error_codes-解释可以从请求中获取的错误代码
  • regions-将区域名称映射到快捷方式
  • platforms-将区域快捷方式映射到平台名
  • queue_types-将队列名称映射到简短描述
  • api_versions-将api映射到版本

速率限制:

包装器自动监视不超过每个区域的请求速率限制。 默认值为10/10秒和500/10分钟。这是 的默认limit 非生产密钥。使用生产限制的ID命令(每10个3000个 秒,每10分钟180000次)在“设置”中将“生产”设置为“真”。

lol_api.settings.settings.PRODUCTION=True

您也可以通过设置UNLIMITED=True来关闭此功能。

如果超过速率限制 `` lol_api.exceptions.ratelimiteexcederror``将被引发。

运行测试

测试要求见tests_requirements.txt文件。

运行测试:

pip install -r tests_requirements.txt

py.test

或运行:

python setup.py test

待办事项:

  • 更好的文档
  • 为缓存响应添加可能性
  • 将就地翻译冠军名称添加到ID
  • 超过限制时排队等候请求

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

推荐PyPI第三方库


热门话题
安卓无法在我的适配器中调用自定义添加的方法(扩展了RecyclerView.adapter<MyAdapter.ViewHolder>)   java我关闭我的intellij想法,选择[断开连接]   java中字节数组对象的编码和解码   如何在Java中调用匿名类方法   java Hibernate/HSQLDB:用户缺乏创建约束的权限   在JSP中使用JAVA将SQL数据追加到数据表中   java DOCX4J:向表中添加最后一行   java spring webflux:如何从同步调用发布事件以进行异步处理?   java joda time api在两组不同的日期中表现不同   java使用HttpClient获取URL状态代码的最快方法是什么   Java:字符串格式   java如何从另一个对象访问服务中的变量   java截取发送请求而不进行编码   classpath Java:将包含的Jar文件添加到linux中创建的Jar文件中   java如何立即终止socketIO操作上的线程阻塞?