babel icon indicating copy to clipboard operation
babel copied to clipboard

Fix `pybabel update --init-missing` not creating parent directory

Open du33169 opened this issue 1 year ago • 2 comments

Replaced the redundant init logic in UpdateCatalog.run() with a temporary InitCatalog instance to ensure the parent directory of the output file will be created. (close #1139)

du33169 avatar Oct 28 '24 04:10 du33169

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 91.28%. Comparing base (313277a) to head (3a47a5c).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1142   +/-   ##
=======================================
  Coverage   91.28%   91.28%           
=======================================
  Files          27       27           
  Lines        4623     4624    +1     
=======================================
+ Hits         4220     4221    +1     
  Misses        403      403           
Flag Coverage Δ
macos-12-3.10 90.05% <100.00%> (+<0.01%) :arrow_up:
macos-12-3.11 89.98% <100.00%> (+<0.01%) :arrow_up:
macos-12-3.12 90.20% <100.00%> (+<0.01%) :arrow_up:
macos-12-3.13-dev 89.72% <100.00%> (+<0.01%) :arrow_up:
macos-12-3.8 89.98% <100.00%> (+<0.01%) :arrow_up:
macos-12-3.9 89.98% <100.00%> (+<0.01%) :arrow_up:
macos-12-pypy3.10 90.05% <100.00%> (+<0.01%) :arrow_up:
ubuntu-22.04-3.10 90.07% <100.00%> (+<0.01%) :arrow_up:
ubuntu-22.04-3.11 90.00% <100.00%> (+<0.01%) :arrow_up:
ubuntu-22.04-3.12 90.22% <100.00%> (+<0.01%) :arrow_up:
ubuntu-22.04-3.13-dev 89.74% <100.00%> (+<0.01%) :arrow_up:
ubuntu-22.04-3.8 90.00% <100.00%> (+<0.01%) :arrow_up:
ubuntu-22.04-3.9 90.00% <100.00%> (+<0.01%) :arrow_up:
ubuntu-22.04-pypy3.10 90.07% <100.00%> (+<0.01%) :arrow_up:
windows-2022-3.10 90.19% <100.00%> (+<0.01%) :arrow_up:
windows-2022-3.11 90.12% <100.00%> (+<0.01%) :arrow_up:
windows-2022-3.12 90.34% <100.00%> (+<0.01%) :arrow_up:
windows-2022-3.13-dev 89.86% <100.00%> (+<0.01%) :arrow_up:
windows-2022-3.8 90.12% <100.00%> (+<0.01%) :arrow_up:
windows-2022-3.9 90.12% <100.00%> (+<0.01%) :arrow_up:
windows-2022-pypy3.10 90.19% <100.00%> (+<0.01%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Nov 05 '24 09:11 codecov[bot]

Could we get some sort of test for this? Does the (re)use of InitCatalog do exactly the same thing as the old code?

The original logic replaced in UpdateCatalog is the same as InitCatalog.run(). To resolve the corresponding issue, we need the directory creation logic in InitCatalog.finalize_options(). I haven't investigated on what else will be done in the constructor.

Will it be better to elevate the logic of InitCatalog.run() and InitCatalog.finalize_options() to classmethods? Or should we make it simple, by just adding the directory creation logic again, and leave the redundancy for now?

du33169 avatar Nov 18 '24 03:11 du33169