blob: df981fc4cfd5914c3bce184fabad0f7b6250bf3a [file] [log] [blame]
#!/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()