plover.dictionary
- Dictionary management#
This module provides utility functions for managing dictionaries.
- plover.dictionary.base.create_dictionary(resource: str, threaded_save: bool = True)#
Creates a new empty dictionary at the path specified by
resource
. The type of dictionary is inferred from the file extension, for example.json
automatically creates a JSON dictionary. Ifthreaded_save
isTrue
, saving the dictionary is done on a new thread.
- plover.dictionary.base.load_dictionary(resource: str, threaded_save: bool = True)#
Loads an existing dictionary at the path specified by
resource
. The type of dictionary is inferred from the file extension.If
threaded_save
isTrue
, saving the dictionary is done on a new thread. If the dictionary is read-only, saving is disabled.
- class plover.dictionary.loading_manager.DictionaryLoadingManager#
A helper class used by the engine for loading dictionaries. At initialization, there are no dictionaries loaded; call
load()
to load new dictionaries, andunload_outdated()
to remove outdated ones if needed.- load(filenames: List[str])#
Loads a collection of dictionaries located at the paths in
filenames
.
- unload_outdated()#
Removes any dictionaries that need reloading from the internal collection.
- start_loading(filename: str)#
Loads the dictionary at the path
filename
. If the dictionary was modified in the file system since the last load, it is considered outdated and will need to be reloaded by initializing aDictionaryLoadingOperation
- __len__() int #
Returns the number of dictionaries loaded.
- __getitem__(filename: str) StenoDictionary #
Loads the dictionary at the path
filename
and returns the corresponding dictionary object. This may take a while if the dictionary has not yet been loaded.
- __contains__(filename: str) bool #
Returns
True
if there is a dictionary in the collection that has the pathfilename
.
- class plover.dictionary.loading_manager.DictionaryLoadingOperation(filename: str)#
A helper class tracking information about a dictionary on the file system.
- needs_reloading() bool #
Returns whether the dictionary has been changed since the last load.
Dictionary objects contain information about the last time they were loaded in the
timestamp
field. This is compared with the last-modified time on the file system; if the file system’s timestamp is newer, this means the dictionary was changed and needs reloading.
- get() plover.steno_dictionary.StenoDictionary | plover.exception.DictionaryLoaderException #
Returns the object that results from loading the dictionary at the path
filename
. If the file has been loaded successfully, this should return a dictionary object; if it failed, it returns aDictionaryLoaderException
with more information about the failure.
This module also provides the following dictionary classes:
- class plover.dictionary.json_dict.JSONDictionary#
A specialization of
StenoDictionary
for handling reading from and writing to JSON dictionaries (file extension.json
). This is Plover’s native dictionary format, and most user dictionaries should be in this format.
- class plover.dictionary.rtfcre_dict.RTFDictionary#
A specialization of
StenoDictionary
for handling reading from and writing to RTF dictionaries (file extension.rtf
).RTF is the standard interchange format for dictionaries in the court reporting industry, and Plover supports most standard RTF dictionary features as well as many vendor extensions.