Enhance diff_l10n_branches script output
parent
fa83273ca5
commit
8f776e275d
|
@ -13,17 +13,17 @@ Outdated files in the {{ r_commit }} branch.
|
|||
|
||||
### {{ files_to_be_modified | count }} files to be modified
|
||||
{% for m_file in files_to_be_modified -%}
|
||||
1. [ ] {{ m_file.filepath }} {{ m_file.shortstat }}
|
||||
1. [ ] {{ m_file.fileindex }} `{{ m_file.filepath }}` {{ m_file.stat }}
|
||||
{% endfor %}
|
||||
|
||||
### {{ files_to_be_renamed | count }} files to be renamed
|
||||
{% for r_file in files_to_be_renamed -%}
|
||||
1. [ ] {{ r_file.diff_status_letter }} {{ r_file.src_filepath }} -> {{ r_file.dest_filepath }}
|
||||
1. [ ] {{ r_file.fileindex }} {{ r_file.diff_status_letter }} `{{ r_file.src_filepath }}` -> `{{ r_file.dest_filepath }}`
|
||||
{% endfor %}
|
||||
|
||||
### {{ files_to_be_deleted | count }} files to be deleted
|
||||
{% for d_file in files_to_be_deleted -%}
|
||||
1. [ ] {{ d_file }}
|
||||
1. [ ] {{ d_file.fileindex }} `{{ d_file.filepath }}`
|
||||
{% endfor %}
|
||||
|
||||
## Proposed Solution
|
||||
|
@ -51,18 +51,23 @@ vi {{ files_to_be_modified.0.filepath | replace(src_lang_path, l10n_lang_path) }
|
|||
|
||||
## Pages to Update
|
||||
|
||||
Pages in {{ l10n_lang_path }}
|
||||
|
||||
"""
|
||||
|
||||
files_to_be_deleted = []
|
||||
files_to_be_renamed = []
|
||||
files_to_be_modified = []
|
||||
|
||||
index_to_be_deleted = 0
|
||||
index_to_be_renamed = 0
|
||||
index_to_be_modified = 0
|
||||
|
||||
def git_diff(filepath, l_commit, r_commit, shortstat=False):
|
||||
def git_diff(filepath, l_commit, r_commit, stat=False):
|
||||
cmd = ["git", "diff", l_commit, r_commit, "--", filepath]
|
||||
|
||||
if shortstat:
|
||||
cmd = ["git", "diff", l_commit, r_commit, "--shortstat", "--", filepath]
|
||||
if stat:
|
||||
cmd = ["git", "diff", l_commit, r_commit, "--stat", "--", filepath]
|
||||
|
||||
return subprocess.check_output(cmd).decode("UTF-8").strip()
|
||||
|
||||
|
@ -78,18 +83,70 @@ def process_diff_status(diff_status, l_commit, r_commit, src_lang_path,
|
|||
status_letter = diff_status[0]
|
||||
filepath = diff_status[1]
|
||||
|
||||
size_xs = 10
|
||||
size_s = 30
|
||||
size_m = 100
|
||||
size_l = 500
|
||||
size_xl = 1000
|
||||
|
||||
if git_exists(r_commit, filepath.replace(src_lang_path, l10n_lang_path)):
|
||||
if status_letter == 'D':
|
||||
files_to_be_deleted.append(filepath)
|
||||
global index_to_be_deleted
|
||||
index_to_be_deleted += 1
|
||||
fileindex = "D" + str(index_to_be_deleted) + '. '
|
||||
deleted = {"fileindex": fileindex,
|
||||
"filepath": filepath }
|
||||
files_to_be_deleted.append(deleted)
|
||||
elif status_letter.startswith('R'):
|
||||
replaced = {"diff_status_letter": diff_status[0],
|
||||
global index_to_be_renamed
|
||||
index_to_be_renamed += 1
|
||||
fileindex = "R" + str(index_to_be_renamed) + '. '
|
||||
replaced = {"fileindex": fileindex,
|
||||
"diff_status_letter": diff_status[0],
|
||||
"src_filepath": diff_status[1],
|
||||
"dest_filepath": diff_status[2]}
|
||||
files_to_be_renamed.append(replaced)
|
||||
elif status_letter == 'M':
|
||||
modified = {"filepath": filepath,
|
||||
"shortstat": git_diff(filepath, l_commit, r_commit,
|
||||
shortstat=True),
|
||||
global index_to_be_modified
|
||||
index_to_be_modified += 1
|
||||
diff_string = git_diff(filepath, l_commit, r_commit, stat=True)
|
||||
diff_string_tmp= diff_string.split("|")
|
||||
diff_string_r = diff_string_tmp[1]
|
||||
|
||||
res = [int(i) for i in diff_string_r.split() if i.isdigit()]
|
||||
if len(res) < 4 :
|
||||
res.append(0)
|
||||
|
||||
insertions = res[2]
|
||||
deletions = res[3]
|
||||
|
||||
bold_condition = size_m
|
||||
if insertions < size_xs :
|
||||
insertion_size = "XS"
|
||||
elif insertions < size_s :
|
||||
insertion_size = "S"
|
||||
elif insertions < size_m :
|
||||
insertion_size = "M"
|
||||
elif insertions < size_l :
|
||||
insertion_size = "L"
|
||||
elif insertions < size_xl :
|
||||
insertion_size = "XL"
|
||||
else :
|
||||
insertion_size = "XXL"
|
||||
|
||||
stat_output = str(insertions) + "(+" + insertion_size + ") " + str(deletions) + "(-)"
|
||||
|
||||
if insertions >= bold_condition :
|
||||
fileindex = "**M" + str(index_to_be_modified) + ".** "
|
||||
stat_output = "**" + stat_output + "**"
|
||||
else :
|
||||
fileindex = "M" + str(index_to_be_modified) + ". "
|
||||
|
||||
stat_output = " | " + stat_output
|
||||
|
||||
modified = {"fileindex": fileindex,
|
||||
"filepath": filepath,
|
||||
"stat": stat_output,
|
||||
"diff": git_diff(filepath, l_commit, r_commit)}
|
||||
files_to_be_modified.append(modified)
|
||||
|
||||
|
|
Loading…
Reference in New Issue