Page MenuHome

When running 'make update_po', the Python script 'rst_check_locale.py' printed out spurious data
Needs ReviewPublic

Authored by Hoang Duy Tran (hoangduytran) on Tue, Nov 20, 10:42 PM.

Details

Summary

file: tools_rst/rst_check_locale.py
When running 'make update_po', this produced spurious data, due to the fact that the 'locale' directory was not located properly. Rewritten based on ActionEvent pattern (as in Java) allowing a single block of code reusable in many possible uses with just a few lines of code. Plus the code will be much easier to maintain.

Diff Detail

Repository
rBM Blender Manual

Event Timeline

UPDATE!! Please ignore the previous version of diff file and use this one instead. I was base on a false assumption that "sphinx.po" exist, but it seems this file has been removed in the latest version of the manual.

Please IGNORE this diff. Rethinking of the solution is NEEDED. I'm sorry!

Get it to an acceptable working status, still requires the existence of 'addons' directory to find the correct parent path to the user's PO. The printout 'svn rm --force <filename>' can now be executed correctly at the user's '.svn' path, which wasn't before.

A little improvement on the previous script:

  1. Remove the need for binarySearch, using the os.path.exists, as the original solution did.
  2. Output the result 'svn rm --force <po_filename>' to a script file at user's HOME directory (using os.path.expanduser("~")), taking into account platform differences. None Windows user still have to 'chmod u+x <script_name>' to execute the script manually, but the solution reduces the need to copy/paste from the terminal screen. Also only warn the user if there are items to be executed.
  3. Although the script checks for duplicates and only allow the singular instance to be reported, it has not catered for multi-lingual-locale directories distinctively. Maybe this needs further investigation of the actual user's usage scenarios to implement correctly. At the moment, this only works correctly with a single language subdirectory, though I have tested with two languages (and managed to identify the potential duplications).