Python LMF library
 All Classes Namespaces Files Functions Variables
equivalent.py
Go to the documentation of this file.
1 #! /usr/bin/env python
2 
3 """! @package mrd
4 """
5 
6 from utils.attr import check_attr_type
7 
8 class Equivalent():
9  """! "Equivalent is a class representing the translation equivalent of the word form managed by the Lemma class." (LMF)
10  """
11  def __init__(self):
12  """! @brief Constructor.
13  Equivalent instances are owned by Sense.
14  @return An Equivalent instance.
15  """
16  self.language = None
17  self.translation = None
18  ## TextRepresentation instances are owned by Equivalent
19  # There is zero to many TextRepresentation instances per Equivalent
21 
22  def __del__(self):
23  """! @brief Destructor.
24  Release TextRepresentation instances.
25  """
26  for text_representation in self.text_representation:
27  del text_representation
28  del self.text_representation[:]
29 
30  def set_translation(self, translation, language=None):
31  """! @brief Set translation and language.
32  @param translation The translation to set.
33  @param language Language used for the translation.
34  @return Equivalent instance.
35  """
36  error_msg = "Translation value '%s' is not allowed" % translation
37  check_attr_type(translation, [str, unicode], error_msg)
38  self.translation = translation
39  if language is not None:
40  self.set_language(language)
41  return self
42 
43  def get_translation(self, language=None):
44  """! @brief Get translation.
45  @param language If this argument is given, get translation only if written in this language.
46  @return The filtered Equivalent attribute 'translation'.
47  """
48  if language is None or language == self.get_language():
49  return self.translation
50 
51  def set_language(self, language):
52  """! @brief Set language used for translation.
53  @param language Language used for the translation.
54  @return Equivalent instance.
55  """
56  error_msg = "Language value '%s' is not allowed" % language
57  check_attr_type(language, [str, unicode], error_msg)
58  self.language = language
59  return self
60 
61  def get_language(self):
62  """! @brief Get language used for translation.
63  @return Equivalent attribute 'language'.
64  """
65  return self.language
text_representation
TextRepresentation instances are owned by Equivalent There is zero to many TextRepresentation instanc...
Definition: equivalent.py:20
def check_attr_type
Check that attribute value is of specified type.
Definition: attr.py:9
def set_language
Set language used for translation.
Definition: equivalent.py:51
def get_language
Get language used for translation.
Definition: equivalent.py:61
def set_translation
Set translation and language.
Definition: equivalent.py:30
"Equivalent is a class representing the translation equivalent of the word form managed by the Lemma ...
Definition: equivalent.py:8