code: def get_lu_from_synset(self, syn_id, lemma = None):
          
          if not lemma:
              return self.get_lus_from_synset(syn_id) #alias
          if not isinstance(lemma,unicode):
              lemma = unicode(lemma,'utf-8')
  
          root = self.get_synset_xml(syn_id)
          elem_synonyms = root.find( ".//synonyms" )
  
          lu_id = None
          synonyms = []
          for elem_synonym in elem_synonyms:
              synonym_str = elem_synonym.get( "c_lu_id-previewtext" )        # get "c_lu_id-previewtext" attribute
              # synonym_str ends with ":<num>"
              synonym = synonym_str.split( ':' )[ 0 ].strip()
  
              if synonym != lemma:
                  synonyms.append( (synonym, elem_synonym.get("c_lu_id")) )
                  if self.debug:
                      printf( "synonym add: %s" % synonym )
              else:
                  lu_id = elem_synonym.get( "c_lu_id" )        # get "c_lu_id" attribute
                  if self.debug:
                      printf( "lu_id: %s" % lu_id )
                      printf( "synonym skip lemma: %s" % synonym )
          return lu_id, synonyms
docs: Returns (lu_id, synonyms=[(word, lu_id)] ) tuple given a synset ID and a lemma