anki/pylib
RumovZ 0efa3f944f
Garbage collect unused Fluent strings (#1482)
* Canonify import of i18n module

Should always be imported as `tr`, or `tr2` if there is a name collision
(Svelte).

* Add helper for garbage collecting ftl strings

Also add a serializer for ftl asts.

* Add helper for filter-mapping `DirEntry`s

* Fix `i18n_helpers/BUILD.bazel`

* run cargo-raze

* Refactor `garbage_collection.rs`

- Improve helper for file iterating
- Remove unused terms as well
- Fix issue with checking for nested messages by switching to a regex-
based approach (which runs before deleting)
- Some more refactorings and lint fixes

* Fix lints in `serialize.rs`

* Write json pretty and sorted

* Update `serialize.rs` and fix header

* Fix doc and remove `dbg!`

* Add binaries for ftl garbage collection

Also relax type constraints and strip debug tests.

* add rust_binary targets for i18n helpers (dae)

* add scripts to update desktop usage/garbage collect (dae)

Since we've already diverged from 2.1.49, we won't gain anything
from generating a stable json just yet. But once 2.1.50 is released,
we should run 'ftl/update-desktop-usage.sh stable'.

* add keys from AnkiMobile (dae)

* Mention caveats in `remove-unused.sh`
2021-11-12 18:19:01 +10:00
..
anki Fix incorrect card count in timebox after undo (#1485) 2021-11-12 12:29:48 +10:00
rsbridge Garbage collect unused Fluent strings (#1482) 2021-11-12 18:19:01 +10:00
tests Rework v3 fuzzing (#1474) 2021-11-06 10:39:24 +10:00
tools vendor stringcase 2021-10-22 08:56:44 +10:00
.gitignore symlink generated .py/.pyi into tree to fix Python code completion 2020-12-16 11:36:42 +10:00
.isort.cfg start work on more clearly defining backend/protobuf boundaries 2021-01-31 18:55:45 +10:00
.pylintrc Enable invalid-name globally in pylib (#1454) 2021-10-25 19:10:56 +10:00
BUILD.bazel pip/ -> python/ 2021-10-18 19:50:40 +10:00
mypy.ini PEP8 for rest of pylib (#1451) 2021-10-25 14:50:13 +10:00
orjson.bzl Make orjson optional again 2021-01-07 09:44:40 +10:00
protobuf.bzl refactor protobuf handling for split/import 2021-07-10 19:17:05 +10:00
README.md minor doc updates 2020-12-11 22:37:12 +10:00

Anki's Python library code is in anki/.

The Rust/Python extension module is in rsbridge/; it references the library defined in ../rslib.