【Python】【应用】Python应用之玩转gerrit系列之一——搭建基础环境

简介: 【Python】【应用】Python应用之玩转gerrit系列之一——搭建基础环境

1、缘起


  • Gerrit(Git)引入之后,经常要做些繁琐的工作,比如下载多个gerrit仓库,获取某次提交的代码对比、提交代码等。


  • Python是一个目前炙手可热的工具,用来对付这些繁琐的事情,刚刚好。


2、准备工作


2.1 安装python3


  • python2即将废弃,且对pip等支持较差,所以选择用python3。


  • 具体开发环境如下:


  • windows 7(64bits)


  • python 3.8.6


  • 按官方说明,python 2.6和2.7对接Pygerrit2更合适,而Python3处于试验阶段:


Pygerrit2 is compatible with Python 2.6 and Python 2.7. Support for

Python 3 is experimental.


2.2 安装相关库


  • requests库,提供了认证相关接口;


  • pygerrit2库,提供了gerrit相关的rest接口,不言而喻,以前有个pygerrit库的;


  • 安装方式见后文命令汇总,这里如不使用镜像库,安装可能比较慢。


2.3 获取http的用户名和密码


  • 进入gerrit页面,登陆后,账号–>Setting–>http password可看到Username和http-password,

也可直接进入页面:https://gerrit.zte.com.cn/#/settings/http-password查看。


  • 访问gerrit,有两种认证方式:http和ssh,pygerrit2仅支持http,所以这里仅获取http的账号和密码。


  • 具体如下图所示:



3、牛刀小试


  • 下面仅以获取open状态的commit为例来说明,代码比较简单:


from requests.auth import HTTPDigestAuth
from pygerrit2.rest import GerritRestAPI
if __name__ == '__main__':
    auth = HTTPDigestAuth('qxhgd@xxx.com', 'pwd2qxhgd') #获取auth信息
    rest = GerritRestAPI(url='https://gerrit.xxx.com', auth=auth) #用auth信息去访问gerrit的rest接口
    changes = rest.get("/changes/?q=owner:self%20status:open") #用rest接口去查询相关信息,json格式返回
    print(changes) #将json串打印出来


上述代码效果相当于,直接访问网址:

https://gerrit.xxx.com/#/q/owner:qxhgd%2540xxx.com+status:open


或在gerrit页面上输入下面过滤条件的结果。



4、命令汇总


python -m pip install --upgrade pip #升级pip
pip3 install requests #直接使用官方源安装
pip3 install -i https://pypi.douban.com/simple requests #使用镜像安装requests
pip3 install pygerrit2-i https://pypi.douban.com/simple  #使用镜像安装pygerrit2, 用镜像安装可用上述两种格式


5、参考资料







目录
打赏
0
0
0
0
5
分享
相关文章
Python AutoML框架选型攻略:7个工具性能对比与应用指南
本文系统介绍了主流Python AutoML库的技术特点与适用场景,涵盖AutoGluon、PyCaret、TPOT、Auto-sklearn、H2O AutoML及AutoKeras等工具,帮助开发者根据项目需求高效选择自动化机器学习方案。
91 1
Python可视化应用——学生成绩分布柱状图展示
本程序使用Python读取Excel中的学生成绩数据,统计各分数段人数,并通过Matplotlib库绘制柱状图展示成绩分布。同时计算最高分、最低分及平均分,实现成绩可视化分析。
40 0
Python数值方法在工程和科学问题解决中的应用
本文探讨了Python数值方法在工程和科学领域的广泛应用。首先介绍了数值计算的基本概念及Python的优势,如易学易用、丰富的库支持和跨平台性。接着分析了Python在有限元分析、信号处理、优化问题求解和控制系统设计等工程问题中的应用,以及在数据分析、机器学习、模拟建模和深度学习等科学问题中的实践。通过具体案例,展示了Python解决实际问题的能力,最后总结展望了Python在未来工程和科学研究中的发展潜力。
企业上网监控系统中红黑树数据结构的 Python 算法实现与应用研究
企业上网监控系统需高效处理海量数据,传统数据结构存在性能瓶颈。红黑树通过自平衡机制,确保查找、插入、删除操作的时间复杂度稳定在 O(log n),适用于网络记录存储、设备信息维护及安全事件排序等场景。本文分析红黑树的理论基础、应用场景及 Python 实现,并探讨其在企业监控系统中的实践价值,提升系统性能与稳定性。
17 1
Python时间序列平滑技术完全指南:6种主流方法原理与实战应用
时间序列数据分析中,噪声干扰普遍存在,影响趋势提取。本文系统解析六种常用平滑技术——移动平均、EMA、Savitzky-Golay滤波器、LOESS回归、高斯滤波与卡尔曼滤波,从原理、参数配置、适用场景及优缺点多角度对比,并引入RPR指标量化平滑效果,助力方法选择与优化。
77 0
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
217 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
2月前
|
在VScode环境下配置Python环境的方法
经过上述步骤,你的VSCode环境就已经配置好了。请尽情享受这扇你为自己开启的知识之窗。如同你在冒险世界中前行,你的探索之路只有越走越广,你获得的知识只会越来越丰富,你的能力只会越来越强。
232 37
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
93 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
论上网限制软件中 Python 动态衰减权重算法于行为管控领域的创新性应用
在网络安全与行为管理的学术语境中,上网限制软件面临着精准识别并管控用户不合规网络请求的复杂任务。传统的基于静态规则库或固定阈值的策略,在实践中暴露出较高的误判率与较差的动态适应性。本研究引入一种基于 “动态衰减权重算法” 的优化策略,融合时间序列分析与权重衰减机制,旨在显著提升上网限制软件的实时决策效能。
77 2

热门文章

最新文章

推荐镜像

更多