mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
Scripts: add auto weekly change generator [1/1]
PD#SWPL-8487 Problem: Manully generating weekly change is time wasting, we need some helpers Solution: Add auto weekly change generator Verify: Locally pass Change-Id: Ifafcd7d82eebcceaf45676056de4217260f18a5c Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
This commit is contained in:
@@ -14920,3 +14920,7 @@ F: arm64/boot/dts/amlogic/g12a_s905y2_u223_lp.dts
|
||||
AMLOGIC HYN_CST2XX TOUCHSCREEN
|
||||
M: XINLIANG ZHANG <xinliang.zhang@amlogic.com>
|
||||
F: drivers/amlogic/input/touchscreen/hyn_cst2xx/*
|
||||
|
||||
AMLOGIC WEEKLY CHANGE GENERATOR
|
||||
M: JIAMIN MA <jiamin.ma@amlogic.com>
|
||||
F: scripts/amlogic/weekly_change.py
|
||||
|
||||
106
scripts/amlogic/weekly_change.py
Executable file
106
scripts/amlogic/weekly_change.py
Executable file
@@ -0,0 +1,106 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import getopt
|
||||
import os
|
||||
import json
|
||||
|
||||
PLAFORM_SH_MEMBERS = "Jianxin Pan, Tao Zeng, Hanjie Lin, Yan Wang, Jiamin Ma, Jianxiong Pan, \
|
||||
Qi Duan, Zhuo Wang, Yue Wang, He He, Yu Tu, \
|
||||
Qiufang Dai, Hong Guo, Zhiqiang Liang, Pan Yang, Shunzhou Jiang, Huan Biao"
|
||||
|
||||
def usage():
|
||||
print("\nweekly_change.py is a tool assisting at generating weekly change report")
|
||||
print("usage:")
|
||||
print("-s xxxx-xx-xx")
|
||||
print(" specify the the starting date")
|
||||
print("-e xxxx-xx-xx")
|
||||
print(" specify the the ending date")
|
||||
print("-p")
|
||||
print(" highlight commit from SH PLATFORM MEMBER(kernel)")
|
||||
print("-h")
|
||||
print(" show this help info")
|
||||
|
||||
def exec_cmd_rdata(cmd):
|
||||
result = os.popen(cmd)
|
||||
res = result.read()
|
||||
res=res.strip('\n')
|
||||
|
||||
return res
|
||||
|
||||
def is_sh_platform_commit(auther):
|
||||
if auther in PLAFORM_SH_MEMBERS:
|
||||
return True
|
||||
return False
|
||||
|
||||
def main():
|
||||
start_date = ""
|
||||
end_date = ""
|
||||
git_commit_cmd = "git log --pretty=\"%h - %s\" --since="
|
||||
git_commit_info = ""
|
||||
html_out = "<div>"
|
||||
gerrit_cmd_1 = "ssh -p 29418 scgit.amlogic.com gerrit query --format=JSON commit:"
|
||||
highlight_shp = False
|
||||
opts, args = getopt.getopt(sys.argv[1:], "hps:e:")
|
||||
for op, value in opts:
|
||||
if op == "-s":
|
||||
start_date = value
|
||||
if op == "-e":
|
||||
end_date = value
|
||||
if op == "-p":
|
||||
highlight_shp = True
|
||||
if op == "-h":
|
||||
usage()
|
||||
sys.exit()
|
||||
|
||||
#print(start_date)
|
||||
git_commit_cmd = git_commit_cmd+start_date
|
||||
if end_date == "":
|
||||
git_commit_cmd = git_commit_cmd + " --no-merges"
|
||||
else:
|
||||
git_commit_cmd = git_commit_cmd + " --until=" + end_date + " --no-merges"
|
||||
#print(git_commit_cmd)
|
||||
git_commit_info = exec_cmd_rdata(git_commit_cmd)
|
||||
#print(git_commit_info)
|
||||
|
||||
# obtain gerrit url via gerrit query
|
||||
for line in git_commit_info.splitlines():
|
||||
#print(line)
|
||||
commit = line.split(" - ")[0]
|
||||
message = line.split(" - ")[1]
|
||||
#print(commit+"-"+message)
|
||||
gerrit_cmd = gerrit_cmd_1 + commit
|
||||
#print(gerrit_cmd)
|
||||
gerrit_info = exec_cmd_rdata(gerrit_cmd)
|
||||
gerrit_info = gerrit_info.split("\n")[0]
|
||||
#print(gerrit_info)
|
||||
data = json.loads(gerrit_info)
|
||||
#print(data['owner']["name"])
|
||||
#print(data['url'])
|
||||
owner_name = data['owner']["name"]
|
||||
gerrit_url = data['url']
|
||||
|
||||
#
|
||||
# we do not use any html library, which is too heavy
|
||||
#
|
||||
html_out = html_out + '<a title=\"' + gerrit_url + \
|
||||
'\"ass=\" external\" rel=\"external nofollow\" href=\"' + gerrit_url + '\" target=\"_blank\">' + \
|
||||
commit + '</a> - ' + message
|
||||
if highlight_shp == True:
|
||||
if is_sh_platform_commit(owner_name) == True:
|
||||
html_out += ' (SH_PLATFORM_KERNEL)<br>'
|
||||
else:
|
||||
html_out += '<br>'
|
||||
else:
|
||||
html_out += '<br>'
|
||||
#print(html_out)
|
||||
html_out = html_out + '</div>'
|
||||
#print(html_out)
|
||||
|
||||
html = open("weekly_update.html", "w+")
|
||||
html.write(html_out);
|
||||
html.close
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user