This class maintains some state about the query history and the
index.yaml file in order to minimize the number of times index.yaml
is actually overwritten.
All indexes before the AUTOGENERATED comment will be written
back unchanged. All indexes after the AUTOGENERATED comment
will be updated with the latest query counts (query counts are
reset by --clear_datastore). Indexes that aren't yet in the file
will be appended to the AUTOGENERATED section.
We keep track of some data in order to avoid doing repetitive work:
if index.yaml is fully manual, we keep track of its mtime to
avoid parsing it over and over;
we keep track of the number of keys in the history dict since
the last time we updated index.yaml (or decided there was
nothing to update).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2022-09-30 UTC."],[[["This documentation describes the `IndexYamlUpdater` class, a helper for managing the `index.yaml` file in Google App Engine applications."],["The `IndexYamlUpdater` class minimizes `index.yaml` overwrites by tracking query history and the file's state."],["The class updates `index.yaml` only if it is new or contains an `AUTOGENERATED` comment, preserving manually defined indexes."],["The class avoids redundant operations by tracking the `index.yaml` modification time and the history dictionary size."],["The class contains methods such as `UpdateIndexConfig` and `UpdateIndexYaml` to effectively manage the configuration of the file."]]],[]]