def get_table(self, lang):
     phonemes = self.inv_dic[lang]
     phono_string = ', '.join(self.all_phonemes[phoneme] for phoneme in phonemes)
     out = StringIO()
     out.write('<div class="phono_tables"><h3>%s</h3>' % (lang.split('#')[0]))
     if self.lang_dic[lang]["code"] == '0':
         code = '-'
     else:
         code = self.lang_dic[lang]["code"]
     out.write('<p><b>Ethnologue code:</b> %s</p>' % code)
     out.write('<p><b>Family:</b> %s</p>' % self.lang_dic[lang]["gen"][0])
     if self.lang_dic[lang]["gen"][1]:
         out.write('<p><b>Group:</b> %s</p>' % self.lang_dic[lang]["gen"][1])
     else:
         out.write('<p><b>Group:</b> %s</p>' % "–")
     out.write(processInventory(lang, phono_string, False)) # Vowels and consonants.
     if self.lang_dic[lang]["tones"]:
         out.write("<h4>Tones</h2><p>%s</p>\n" % ', '.join(self.lang_dic[lang]["tones"]))
     if self.lang_dic[lang]["syllab"]:
         out.write("<h4>Syllable structure</h2><p>%s</p>\n" % self.lang_dic[lang]["syllab"])
     if self.lang_dic[lang]["cluster"]:
         out.write("<h4>Initial clusters</h2><p>%s</p>\n" % self.lang_dic[lang]["cluster"])
     if self.lang_dic[lang]["finals"]:
         out.write("<h4>Word-final clusters and segments</h2><p>%s</p>\n" % self.lang_dic[lang]["finals"])
     out.write("<h4>Source</h3><p>%s</p>\n" % self.lang_dic[lang]["source"])
     if self.lang_dic[lang]["comment"]:
         out.write("<h4>Commentary</h3><p>%s</p>\n" % self.lang_dic[lang]["comment"])
     out.write("<h4>Added by</h3><p>%s</p>\n" % self.lang_dic[lang]["contr"])
     out.write('</div>')
     return out.getvalue()
 def get_table(self, lang):
     phonemes = self.inv_dic[lang]
     phono_string = ', '.join(self.all_phonemes[phoneme] for phoneme in phonemes)
     out = StringIO()
     out.write('<div class="phono_tables"><h3>%s</h3>' % (lang.split('#')[0]))
     if self.lang_dic[lang]["code"] == '0':
         code = '-'
     else:
         code = self.lang_dic[lang]["code"]
     out.write('<p><b>Ethnologue code:</b> %s</p>' % code)
     out.write('<p><b>Family:</b> %s</p>' % self.lang_dic[lang]["gen"][0])
     if self.lang_dic[lang]["gen"][1]:
         out.write('<p><b>Group:</b> %s</p>' % self.lang_dic[lang]["gen"][1])
     else:
         out.write('<p><b>Group:</b> %s</p>' % "–")
     out.write(processInventory(lang, phono_string, False)) # Vowels and consonants.
     if self.lang_dic[lang]["tones"]:
         out.write("<h4>Tones</h2><p>%s</p>\n" % ', '.join(self.lang_dic[lang]["tones"]))
     if self.lang_dic[lang]["syllab"]:
         out.write("<h4>Syllable structure</h2><p>%s</p>\n" % self.lang_dic[lang]["syllab"])
     if self.lang_dic[lang]["cluster"]:
         out.write("<h4>Initial clusters</h2><p>%s</p>\n" % self.lang_dic[lang]["cluster"])
     if self.lang_dic[lang]["finals"]:
         out.write("<h4>Word-final clusters and segments</h2><p>%s</p>\n" % self.lang_dic[lang]["finals"])
     out.write("<h4>Source</h3><p>%s</p>\n" % self.lang_dic[lang]["source"])
     if self.lang_dic[lang]["comment"]:
         out.write("<h4>Commentary</h3><p>%s</p>\n" % self.lang_dic[lang]["comment"])
     out.write("<h4>Added by</h3><p>%s</p>\n" % self.lang_dic[lang]["contr"])
     out.write('</div>')
     return out.getvalue()
 def get_common_table(self, langs_to_report):
     common_phonemes = set.intersection(*[self.inv_dic[lang] for lang in langs_to_report])
     phono_string = ', '.join(self.all_phonemes[phoneme] for phoneme in common_phonemes)
     if not phono_string:
         return ""
     else:
         return processInventory("Common phonemes", phono_string, True)
 def get_common_table(self, langs_to_report):
     common_phonemes = set.intersection(*[self.inv_dic[lang] for lang in langs_to_report])
     phono_string = ', '.join(self.all_phonemes[phoneme] for phoneme in common_phonemes)
     if not phono_string:
         return ""
     else:
         return processInventory("Common phonemes", phono_string, True)