这是https://layer7.solutions为我们创建的软件工具使用的一组实用程序。它包括一个带有我们设置的默认配置信息的记录器,以及一个能够从自定义数据库中提取登录信息的oauth包装器。

Layer-7-Utilities的Python项目详细描述


这是什么?

这是https://Layer7.Solutions为我们创建的软件工具使用的一组实用程序它包括一个带有我们设置的默认配置信息的记录器,以及一个能够从自定义数据库中提取登录信息的oauth包装器。

要创建oauth数据库,可以使用以下创建sql:

createtableoauth_data(usernametextnotnullconstraintoauth_pkeyprimarykey,passwordtext,app_idtext,app_secrettext,app_refreshtext,agent_oftext);

如何构建和安装

  1. 在文件夹的根目录中
  2. 运行python3 setup.py sdist
  3. 运行pip install .

使用方法:

记录器:

这将使用默认文件处理程序sentry.io集成和日志旋转创建自定义日志记录器。默认logspath设置为“/opt/skynet/redditbots/logs/”,但是您可以将其覆盖到自己的位置。 初始化和配置

注意,如果使用新的sentry_sdk,则需要在变量之后但在创建记录器之前添加以下导入和行。LoggerConfig()raven参数也需要设置为false。

importsentry_sdksentry_sdk.init(dsn=__dsn__,release=__version__)

如果要使用传统raven,则需要将raven安装为一个前置请求:pip install raven

importlogging.configfromlayer7_utilitiesimportLoggerConfig__botname__='Short_Name_For_The_Bot'__description__='Description of the bot'__author__='Authors Name/Info'__version__='1.2.3'__dsn__='Get from Sentry.io'# Sets up the sentry_sdk integration:importsentry_sdksentry_sdk.init(dsn=__dsn__,release=__version__)# Create the logger (with Raven (legacy) disabled)logspath='Path/To/The/Logs/Folder/'# With trailing backslash.loggerconfig=LoggerConfig(__dsn__,__botname__,__version__,logspath,raven=False)logging.config.dictConfig(loggerconfig.get_config())logger=logging.getLogger('root')logger.info(u"/*********Starting App*********\\")logger.info(u"App Name: {} | Version: {}".format(__botname__,__version__))

认证

auth依赖于一个包含reddit应用程序id、secret、username、password等的自定义表。其他任何人都不会设置这个表。但是,如果您有权访问我们的数据库,或者正在编写一个可以利用的bot,那么就可以这样设置它。

在第7层环境中,auth数据库表是“thetraveler”。

fromlayer7_utilitiesimportoAuth__botname__='Short_Name_For_The_Bot'__description__='Description of the bot'__author__='Authors Name/Info'__version__='1.2.3'__dsn__='Get from Sentry.io'__agent_of__='category value'auth=oAuth()auth.get_accounts(__agent_of__,__description__,__version__,__author__,__botname__,DB_USERNAME,DB_PASSWORD,DB_HOST,DatabaseTableName)foraccountinauth.accounts:r=account.login()me=r.user.me()print('Started Reddit Instance: u/%s'%me)

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

推荐PyPI第三方库


热门话题
java测试SpringAOP方面   java在使用groovy访问JSON字段时遇到问题   java需要但没有被调用:<Capturing argument>实际上,与这个mock没有任何交互   java在O(n)时间内遍历LinkedList并删除k个元素   java在Hibernate中执行条件查询后,是否需要提交/关闭会话?   java提供apacheshiro作为JBoss7、WildFly8的模块   使用标头读取CSV,同时忽略JAVA中的某些行   java如何验证kotlin中的数据类是否为null   java墙纸未缩放到设备的显示   java以独立于实现的方式列出所有注册的JAXRS 2提供程序   java Apache ANT Exec Handle Exec/CakePHP控制台提示   java无法从dropwizard项目中排除logbackclassic依赖项   java如何通过对象向构造函数发送日期值,以及如何返回该日期值?   java为什么使用静态记录器比不使用它花费更多的时间   JavaAndroid:解析webview的内容而不重新加载和发布   java如何仅捕获异常类型   eclipse无法从Java独立项目中的ATL EMFTVM转换中读取模块   另一个路由中的java Apache camel blueprint web服务响应