otl


Nameotl JSON
Version 1.10.2 PyPI version JSON
download
home_pagehttps://github.com/xuyonggit/otl.git
Summary运维工具集
upload_time2023-11-24 07:29:44
maintainer
docs_urlNone
authorxuyong
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # **otl 工具集**
---
# 安装方式
```shell script
pip install otl
```
---

### 封装企业微信接口
```python
from otl.wechat.wechat_api import WechatApi

GLOBAL_WECHAR_CONFIG = {
        'NAME': 'xxx',

        #企业的id,在管理端->"我的企业" 可以看到
        'CORP_ID': '',

        #应用列表 可以配置多个应用
        'APP_LIST': {
            'warning_robot': {           #报警机器人
                'APP_ID': '',           #APPID
                'APP_SECRET': '',       #APP密钥
                'switch': 'on',          #是否开启
            },
        }
    }

if __name__ == '__main__':
    we = WechatApi(GLOBAL_WECHAR_CONFIG)
    status, res = we.apps['warning_robot'].send(
        msg_type='text',
        to_users_list=['xxx'],
        msg_string='xxx'
    )
    if not status:
        print(res)
```
### 封装mysql方法
```python
from otl.db import MysqlDbBase


class Db1(MysqlDbBase):
    host = '1.1.1.1'
    port = 3306
    user = 'test_user'
    password = 'test_pwd'
    db = 'test_db'

# 实例化
db1 = Db1()
# 查询操作 -> 返回数据: list
db1.query("select ***")
# 写入操作 -> 返回影响行数: int
db1.insert("insert into ***")
# 更新操作 -> 返回影响行数: int
db1.update("update ***")
# 删除操作 -> 返回影响行数: int
db1.delete("delete ***")
```

### 发送邮件
```python
# -*- coding: utf-8 -*-
from otl.email import EmailApi
CONFIG = {
    # 组 支持多个组
    'team1': {
        'name': '',         # 组名 即邮件主题
        'user': '',         # 发件人
        'password': '',     # 发件人密码
        'smtp': '',         # smtp服务器
        'port': 25,
        'to_list': ['aaa@aa.com'],      # 收件人列表
        'cc_list': []       # 抄送列表
    }
}

if __name__ == '__main__':
    ea = EmailApi(CONFIG).team1    # 组名
    # 添加文本
    ea.add_str('lalala')
    # 添加图片
    ea.add_image("/a/b/123.jpg")
    # 添加表格
    ea.add_table([['姓名', '年龄', '性别'], ['aaa', 25, '男'], ['ccc', 25, '男']])
    # 添加附件
    ea.add_attr("/a/b/wechat.tgz")
    status, res = ea.send_email()
    if status:
        print('success')
    else:
        print('error: {}'.format(res))

```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/xuyonggit/otl.git",
    "name": "otl",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "xuyong",
    "author_email": "xuyong@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/fc/50/eb5b0ee54000bc8c29c2dd1af7292c4d932a600bb79cc9fbaf9fa86b08e4/otl-1.10.2.tar.gz",
    "platform": null,
    "description": "# **otl \u5de5\u5177\u96c6**\n---\n# \u5b89\u88c5\u65b9\u5f0f\n```shell script\npip install otl\n```\n---\n\n### \u5c01\u88c5\u4f01\u4e1a\u5fae\u4fe1\u63a5\u53e3\n```python\nfrom otl.wechat.wechat_api import WechatApi\n\nGLOBAL_WECHAR_CONFIG = {\n        'NAME': 'xxx',\n\n        #\u4f01\u4e1a\u7684id\uff0c\u5728\u7ba1\u7406\u7aef->\"\u6211\u7684\u4f01\u4e1a\" \u53ef\u4ee5\u770b\u5230\n        'CORP_ID': '',\n\n        #\u5e94\u7528\u5217\u8868 \u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a\u5e94\u7528\n        'APP_LIST': {\n            'warning_robot': {           #\u62a5\u8b66\u673a\u5668\u4eba\n                'APP_ID': '',           #APPID\n                'APP_SECRET': '',       #APP\u5bc6\u94a5\n                'switch': 'on',          #\u662f\u5426\u5f00\u542f\n            },\n        }\n    }\n\nif __name__ == '__main__':\n    we = WechatApi(GLOBAL_WECHAR_CONFIG)\n    status, res = we.apps['warning_robot'].send(\n        msg_type='text',\n        to_users_list=['xxx'],\n        msg_string='xxx'\n    )\n    if not status:\n        print(res)\n```\n### \u5c01\u88c5mysql\u65b9\u6cd5\n```python\nfrom otl.db import MysqlDbBase\n\n\nclass Db1(MysqlDbBase):\n    host = '1.1.1.1'\n    port = 3306\n    user = 'test_user'\n    password = 'test_pwd'\n    db = 'test_db'\n\n# \u5b9e\u4f8b\u5316\ndb1 = Db1()\n# \u67e5\u8be2\u64cd\u4f5c -> \u8fd4\u56de\u6570\u636e: list\ndb1.query(\"select ***\")\n# \u5199\u5165\u64cd\u4f5c -> \u8fd4\u56de\u5f71\u54cd\u884c\u6570: int\ndb1.insert(\"insert into ***\")\n# \u66f4\u65b0\u64cd\u4f5c -> \u8fd4\u56de\u5f71\u54cd\u884c\u6570: int\ndb1.update(\"update ***\")\n# \u5220\u9664\u64cd\u4f5c -> \u8fd4\u56de\u5f71\u54cd\u884c\u6570: int\ndb1.delete(\"delete ***\")\n```\n\n### \u53d1\u9001\u90ae\u4ef6\n```python\n# -*- coding: utf-8 -*-\nfrom otl.email import EmailApi\nCONFIG = {\n    # \u7ec4 \u652f\u6301\u591a\u4e2a\u7ec4\n    'team1': {\n        'name': '',         # \u7ec4\u540d \u5373\u90ae\u4ef6\u4e3b\u9898\n        'user': '',         # \u53d1\u4ef6\u4eba\n        'password': '',     # \u53d1\u4ef6\u4eba\u5bc6\u7801\n        'smtp': '',         # smtp\u670d\u52a1\u5668\n        'port': 25,\n        'to_list': ['aaa@aa.com'],      # \u6536\u4ef6\u4eba\u5217\u8868\n        'cc_list': []       # \u6284\u9001\u5217\u8868\n    }\n}\n\nif __name__ == '__main__':\n    ea = EmailApi(CONFIG).team1    # \u7ec4\u540d\n    # \u6dfb\u52a0\u6587\u672c\n    ea.add_str('lalala')\n    # \u6dfb\u52a0\u56fe\u7247\n    ea.add_image(\"/a/b/123.jpg\")\n    # \u6dfb\u52a0\u8868\u683c\n    ea.add_table([['\u59d3\u540d', '\u5e74\u9f84', '\u6027\u522b'], ['aaa', 25, '\u7537'], ['ccc', 25, '\u7537']])\n    # \u6dfb\u52a0\u9644\u4ef6\n    ea.add_attr(\"/a/b/wechat.tgz\")\n    status, res = ea.send_email()\n    if status:\n        print('success')\n    else:\n        print('error: {}'.format(res))\n\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\u8fd0\u7ef4\u5de5\u5177\u96c6",
    "version": "1.10.2",
    "project_urls": {
        "Homepage": "https://github.com/xuyonggit/otl.git"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "149db3980acaa51bc5dbbcc28682ca26c54a9891d17094fb26bd3c1750bf4ee6",
                "md5": "8218c8f9ff56b74d79926644c4e81559",
                "sha256": "899910f1aee917226b8b33798c976995e79825b781506a64b686e3d01de19ee2"
            },
            "downloads": -1,
            "filename": "otl-1.10.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8218c8f9ff56b74d79926644c4e81559",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 14195,
            "upload_time": "2023-11-24T07:29:42",
            "upload_time_iso_8601": "2023-11-24T07:29:42.681624Z",
            "url": "https://files.pythonhosted.org/packages/14/9d/b3980acaa51bc5dbbcc28682ca26c54a9891d17094fb26bd3c1750bf4ee6/otl-1.10.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc50eb5b0ee54000bc8c29c2dd1af7292c4d932a600bb79cc9fbaf9fa86b08e4",
                "md5": "6cc315f9268c7d039a4bb31c827aa303",
                "sha256": "208040f3e915af3a6fe59f5c47c70e1fc214a1739cbc7a5602934b43c1df45ba"
            },
            "downloads": -1,
            "filename": "otl-1.10.2.tar.gz",
            "has_sig": false,
            "md5_digest": "6cc315f9268c7d039a4bb31c827aa303",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12711,
            "upload_time": "2023-11-24T07:29:44",
            "upload_time_iso_8601": "2023-11-24T07:29:44.871195Z",
            "url": "https://files.pythonhosted.org/packages/fc/50/eb5b0ee54000bc8c29c2dd1af7292c4d932a600bb79cc9fbaf9fa86b08e4/otl-1.10.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-24 07:29:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xuyonggit",
    "github_project": "otl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "otl"
}
        
Elapsed time: 0.13917s