metamorph

Submodules

Package Contents

Classes

Config

Defines the language flow to generate alternative texts.

Functions

generate_alternatives(text, conf)

Generate alternatives for text using Config conf.

translate(translator, source, target, text[, quiet, ...])

Translate text from source language to target language using translator translator.

metamorph.generate_alternatives(text, conf)[source]

Generate alternatives for text using Config conf.

Parameters
  • text – Text to generate alternatives for.

  • conf – Config to use.

Returns

List of alternatives.

Example::
>>> from metamorph.config import Config
>>> "Hello World!" in generate_alternatives("Hallo world!",Config(flow={"de":None,"fr":None,"es":None}))
True
>>> "Hallo Welt!" in generate_alternatives("Hello world!",Config(start="de",goal="de",flow={"en":None,"fr":None,"es":None}))
True
>>> "Hello World!" in generate_alternatives("Hallo world!",Config("default_config.yaml"))
True
metamorph.translate(translator, source, target, text, quiet=False, verbose=True)[source]

Translate text from source language to target language using translator translator. :param translator: Translator to use (from deep_translator).

Parameters
  • source – Source language.

  • target – Target language.

  • text – Text to translate.

  • quiet – If True, don’t print anything.

  • verbose – If True, print error messages.

Returns

Translated text.

Example::
>>> translate(GoogleTranslator, "en", "de", "Hello world!")
'Hallo Welt!'
class metamorph.Config(file: str = None, start='en', goal='en', translator='GoogleTranslator', flow=None)[source]

Defines the language flow to generate alternative texts.

load_file(file: str)

Loads a configuration file.

default_extra(direct, k)

Adds default keys to dictionary at direct[k].

fill_missing(direct)

Sets default extras for missing elements in dictionary.

str_diagram(nodes='language', arrows=None)

Prints a diagram of the language flow.

_recursive_get_str_max_length(sub, key)
_recursive_str_diagram(sub, kk, depth=1, lines=None, nodes='language', arrows=None, len_nodes=None, len_arrows=None)