向跛行时间发送通知的包。

lmnotif的Python项目详细描述


lmnotify是用于向发送通知的包 LaMetric Time。为了达到这个目的 封装发送到lametric设备的rest api调用。

模块安装

安装lmnotify模块的最简单方法是通过pip

pip install lmnotify

或者克隆/下载此存储库并安装:

python3 setup.py install

python setup.py install

基本设置

跛行时间只能由授权应用程序访问。因此, 要访问设备的每个应用程序都需要注册 在LaMetric Developer网页上。

创建自定义应用程序

注册lmnotifypython模块需要以下步骤 作为新的跛行应用在他们的网页上:

  1. 注册并登录开发人员网页https://developer.lametric.com
  2. 单击右上角的create按钮,然后选择 通知应用程序,然后再次单击创建
  3. 输入应用程序名称、说明和重定向URL
  4. 最后,单击save创建应用程序。

对于新创建的应用程序,您将获得凭据,即client id 以及客户端机密。要设置 python模块。

背景

但是,lmnotifypython模块必须注册到lametric 云,从长远来看,与云的交互非常有限 必要的。云相关restful api的主要功能是处理用户 存储在云中的信息以及注册的跛行装置。 特别是,后者是非常重要的,因为设备列表 包含可用于与 本地网络中没有连接到云的设备。

因此,模块的默认配置将接收 当get_devices和store第一次调用时,来自云端的跛行设备 它们在~/.lmdevices文件中。所有get_devices的进一步调用都将 只需读取此文件并返回设备,而不必与 跛行云。

模块的配置

有三种不同的方式向 模块:按构造函数、环境变量或配置文件。

一。by构造函数:只需在 LaMetricManager类的构造函数,例如:

CLIENT_ID = "<my_client_id>"
CLIENT_SECRET = "<my_client_secret>"

lmn = LaMetricManager(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

2.by环境变量:只需设置LAMETRIC_CLIENT_IDLAMETRIC_CLIENT_SECRET环境变量,例如在bash中:

export LAMETRIC_CLIENT_ID="<my_client_id>"
export LAMETRIC_CLIENT_SECRET="<my_client_secret>"

当不在构造函数中提供client_idclient_secret时, 将改为使用环境变量。

三。按配置文件:默认配置文件设置为~/.lmconfig。什么时候? 初始化不带参数的LaMetricManager类配置文件 将被加载,如果它已经存在。否则您可以设置 auto_create_config构造函数中的参数设置为true,以创建空的 配置文件。只需在配置文件中填写您的凭据:

[lametric]
client_id = <put the client id here>
client_secret = <put the client secret here>

在下一次启动时,将自动读取配置文件 client_idclient_secret在构造函数或 LAMETRIC_CLIENT_IDLAMETRIC_CLIENT_SECRET环境变量 准备好了。

如上文背景部分所述,在获得设备之后 从跛行云一次,所有进一步的相互作用可以在本地完成 与跛行云没有任何相互作用。

示例

举个简单的例子,我们用一个图标向 跛行时间。假设您已经提供了应用程序凭据 使用环境变量或配置文件,以便没有参数 在lametricmanager的构造函数中设置。

from lmnotify import LaMetricManager, Model, SimpleFrame

# create an instance of the LaMetricManager
lmn = LaMetricManager()

# get devices
devices = lmn.get_devices()

# use first device to do some tests
lmn.set_device(devices[0])

# prepare a simple frame with an icon and some text
sf = SimpleFrame("i210", "Hello World!")

# prepare the model that will be send as notification
model = Model(frames=[sf])

# send the notification the device
lmn.send_notification(model)

更多示例见https://github.com/keans/lmnotify/tree/master/examples

开发

如果你想参与开发,请查看源代码 在https://github.com/keans/lmnotify.git

开始开发:

git clone git@github.com:keans/lmnotify.git
cd lmnotify/
virtualenv env
source env/bin/activate
pip install -r requirements.txt

对于详细调试输出,只需将日志记录级别设置为debug:

import logging
logging.basicConfig(level=logging.DEBUG)

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

推荐PyPI第三方库


热门话题
java Stripe可以在成功的同步充电后通过充电失败。失败事件?   java如何在Android Studio中自动替换为lambda表达式   spring如何在Java中读取多部分文件inputstream的内容   java如何发送电子邮件以验证来自Web服务的电子邮件所有者?   Java和MYSQL语法问题   java按钮1,然后单击按钮2将生成一个“字母或字符”Android   java更新runnable类中的变量值   java为什么在DB2上执行查询时会出现语法错误异常?   为什么函数式搜索在Java中运行得更快,然后势在必行   裁剪并比较java中的两个图像示例   使用OutputStream的java iText/flyingsaucer PdfStamper   java Android GraphView实时应用程序滞后   java Maven获取特定类   解析如何将输入字符串解析为单个标记?(爪哇)