big_corporation_inc.id_translation.singleton#
Convenience functions using the Translator singleton.
Functions
|
Fetch translations. |
|
Get the |
|
Retrieve and store translations in memory. |
|
Map names to translation sources. |
|
Returns raw match scores for name-to-source mapping. |
|
Translate IDs to human-readable strings. |
|
Return the names that were translated by the most recent |
- translate(self, translatable, names=None, *, ignore_names=None, copy=True, override_function=None, max_fails=1.0, reverse=False, fmt=None)#
Translate IDs to human-readable strings.
Note
Convenience method. Calls
id_translation.Translator.translate()using the the currentget_singleton()instance. See below for original docstring.- Simplified process:
See the Translation primer page for a detailed process description.
See also
🔑 This is a key event method. Exit-events are emitted on the
ℹ️INFO-level if theTranslatorisonline. Enter-events are always emitted on the🪲DEBUG-level. See Key Event Records for details.- Parameters:
translatable – A data structure to translate.
names – Explicit names to translate. Derive from translatable if
None. Alternatively, you may pass adicton the form{name_in_translatable: source_to_use}.ignore_names – Names not to translate, or a predicate
(NameType) -> bool.copy – If
False, translate in-place and returnNone.override_function – A callable
(name, sources, ids) -> Source | None. SeeMapper.apply()for details.max_fails – The maximum fraction of IDs for which translation may fail. 1=disabled.
reverse – If
True, perform translations back to IDs. Offline mode only.fmt – A
format stringsuch as ‘{id}:{name}’ use. Default isTranslator.fmt.
- Returns:
A translated copy of translatable if
copy=True, otherwiseNone.
Examples
Manual name-to-source mapping with a temporary name-only
Format.>>> n2s = {"lions": "animals", "big_cats": "animals"} >>> translator.translate({"lions": 2, "big_cats": 2}, names=n2s, fmt="{name}") {'lions': 'Simba', 'big_cats': 'Simba'}
Name mappings must be complete; any name not present in the keys will be ignored (left as-is).
- Raises:
UntranslatableTypeError – If
type(translatable)cannot be translated.MissingNamesError – If names are not given and cannot be derived from translatable.
MappingError – If any required (explicitly given) names fail to map to a source.
MappingError – If name-to-source mapping is ambiguous.
ValueError – If max_fails is not a valid fraction.
TooManyFailedTranslationsError – If translation fails for more than max_fails of IDs.
ConnectionStatusError – If
reverse=Truewhile theTranslatoris online.UserMappingError – If override_function returns a source which is not known, and
mapper.on_unknown_user_override != 'ignore'.
See also
The
ID_TRANSLATION_DISABLEDvariable.
- translated_names(self, with_source=True)#
Return the names that were translated by the most recent
translate()-call.Note
Convenience method. Calls
id_translation.Translator.translated_names()using the the currentget_singleton()instance. See below for original docstring.- Parameters:
with_source – If
True, return a dict{name: source}instead of a list.- Returns:
Recent names translated by this
Translator, in arbitrary order.- Raises:
ValueError – If no names have been translated using this
Translator.
- map(self, translatable, names=None, *, ignore_names=None, override_function=None)#
Map names to translation sources.
Note
Convenience method. Calls
id_translation.Translator.map()using the the currentget_singleton()instance. See below for original docstring.- Parameters:
translatable – A data structure to map names for.
names – Explicit names to translate. Derive from translatable if
None.ignore_names – Names not to translate, or a predicate
(NameType) -> bool.override_function – A callable
(name, sources, ids) -> Source | None. SeeMapper.applyfor details.
- Returns:
A mapping of names to translation sources. Returns
Noneif mapping failed.- Raises:
MissingNamesError – If names are not given and cannot be derived from translatable.
MappingError – If any required (explicitly given) names fail to map to a source.
MappingError – If name-to-source mapping is ambiguous.
UserMappingError – If override_function returns a source which is not known, and
mapper.on_unknown_user_override != 'ignore'.
See also
🔑 This is a key event method. See Key Event Records for details.
- map_scores(self, translatable, names=None, *, ignore_names=None, override_function=None)#
Returns raw match scores for name-to-source mapping. See
map()for details.Note
Convenience method. Calls
id_translation.Translator.map_scores()using the the currentget_singleton()instance. See below for original docstring.
- fetch(self, translatable=None, names=None, *, ignore_names=None, override_function=None, max_fails=1.0, fmt=None)#
Fetch translations.
Note
Convenience method. Calls
id_translation.Translator.fetch()using the the currentget_singleton()instance. See below for original docstring.Calling
fetchwithout arguments will perform aFetcher.fetch_all()-operation, without going offline.The returned
TranslationMapmay be converted to native types withTranslationMap.to_dicts().- Parameters:
translatable – A data structure to translate.
names – Explicit names to translate. Derive from translatable if
None. Alternatively, you may pass adicton the form{name_in_translatable: source_to_use}.ignore_names – Names not to translate, or a predicate
(NameType) -> bool.override_function – A callable
(name, sources, ids) -> Source | None. SeeMapper.apply()for details.max_fails – The maximum fraction of IDs for which translation may fail. 1=disabled.
fmt – A
format stringsuch as ‘{id}:{name}’ use. Default isTranslator.fmt.
- Returns:
A
TranslationMap.- Raises:
ConnectionStatusError – If disconnected from the fetcher, i.e. not
online.
Examples
Using the returned
TranslationMapclass.>>> translation_map = translator.fetch() >>> translation_map TranslationMap('animals': 3 IDs, 'people': 2 IDs)
Convert to finished translations.
TranslationMap.to_translations()→{source: MagicDict}, where aMagicDictis similar to a regulardict[IdType, str]-type dict.
>>> people = translation_map.to_translations()["people"] >>> people {1999: '1999:Sofia', 1991: '1991:Richard'}
Warning
The
MagicDictclass is used internally and has a few important differences from the built-in type. Please refer to theMagicDictclass documentation for details.To convert to a
MagicDictto a regulardict, simply use the dict constructor:>>> dict(people) {1999: '1999:Sofia', 1991: '1991:Richard'}
Convert to raw translation data.
TranslationMap.to_pandas()→{source: DataFrame}TranslationMap.to_dicts()→{source: {placeholder: [values...]}}
>>> translation_map.to_dicts()["people"] {'id': [1999, 1991], 'name': ['Sofia', 'Richard']}
- go_offline(self, translatable=None, names=None, *, ignore_names=None, override_function=None, max_fails=1.0, fmt=None, path=None)#
Retrieve and store translations in memory.
Note
Convenience method. Calls
id_translation.Translator.go_offline()using the the currentget_singleton()instance. See below for original docstring.Warning
The translator will be disconnected. No new translations may be fetched after this method returns.
Subsequent calls to this method will return immediately.
- Parameters:
translatable – Data from which IDs to fetch will be extracted. Fetch all IDs if
None.names – Explicit names to translate. Derive from translatable if
None.ignore_names – Names not to translate, or a predicate
(NameType) -> bool.override_function – A callable
(name, sources, ids) -> Source | None. SeeMapper.apply()for details.max_fails – The maximum fraction of IDs for which translation may fail. 1=disabled.
fmt – A
format stringsuch as ‘{id}:{name}’ use. Default isTranslator.fmt.path – If given, serialize the
Translatorto disk after retrieving data.
- Returns:
Self, for chained assignment.
- Raises:
ForbiddenOperationError – If
Fetcher.fetch_all()is disabled andtranslatable=None.MappingError – If
map()fails (only when translatable is given).
Notes
The
Translatoris guaranteed to beserializable()once offline. Fetchers often aren’t as they require things like database connections to function.See also
The
restore()method.
- get_singleton(*, recreate=False)#
Get the
Translatorsingleton instance.The exact type returned depends on
TRANSLATOR_TYPE. By default, this is the regularid_translation.Translatortype provided byid_translation.- Parameters:
recreate – If
True, force recreating the current singleton instance.- Returns: