Skip to content

Add function to compare translated strings between two commits #138

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: 3.12
Choose a base branch
from
Prev Previous commit
Next Next commit
testando outra forma de obter as strings do commit
  • Loading branch information
guilhermesrc committed Nov 13, 2023
commit c1a0135f899a985b6dda803531b87351b382db62
33 changes: 22 additions & 11 deletions .github/scripts/get_translated_strings_between_commits.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import os
from pathlib import Path
import re
from git import Repo

absolute_path = Path(__file__).resolve().parents[2]
pattern_translated_strings = r'Translated:\s+(\d+)'
Expand All @@ -16,16 +17,20 @@ def run_git_command(command):

def get_translated_commit_strings(commit_hash):
try:
changed_files = run_git_command(f"git diff-tree --no-commit-id --name-only {commit_hash} -r").split("\n")
changed_files.remove("")
changed_count = 0
for file in changed_files:
file_path = absolute_path / file
output = os.popen(f"pocount {file_path}").read()
strings_match = re.search(pattern_translated_strings, output)
matched_strings = int(strings_match.group(1)) if strings_match else 0
changed_count += matched_strings
return changed_count
commit_files = run_git_command(f"git switch {commit_hash} --detach")
with commit_files as cf:
output = os.popen(f"pocount *.po **/*.po").read()
print(output)
# changed_files = run_git_command(f"git diff-tree --no-commit-id --name-only {commit_hash} -r").split("\n")
# changed_files.remove("")
# changed_count = 0
# for file in changed_files:
# file_path = absolute_path / file
# output = os.popen(f"pocount {file_path}").read()
# strings_match = re.search(pattern_translated_strings, output)
# matched_strings = int(strings_match.group(1)) if strings_match else 0
# changed_count += matched_strings
# return changed_count
except Exception as e:
print(f"Error getting translated strings count: {e}")
return 0
Expand All @@ -35,7 +40,13 @@ def get_difference_between_translated_commits_strings(commit_hash1, commit_hash2
try:
commit_hash1_count = get_translated_commit_strings(commit_hash1)
commit_hash2_count = get_translated_commit_strings(commit_hash2)
return abs(commit_hash1_count - commit_hash2_count)
return commit_hash1_count - commit_hash2_count
except Exception as e:
print(f"Error calculating the difference between translated strings counts: {e}")
return 0


hash1 = "69ff2f8a3141f5aad0f968e76675830a158660c6"
hash2 = "fa5d1cea27abe701398ee8fe7ee5ba285fafeee2"

print(get_difference_between_translated_commits_strings(hash1, hash2))