
import gnoetics

def phoneme_decomp_to_meter(decomp):
    m = ""
    for p in decomp:
        if gnoetics.phoneme_is_xstressed(p):
            if gnoetics.phoneme_is_stressed(p):
                m += "-"
            else:
                m += "u"
    return m

def token_to_meter(t):
    if t.is_start() or t.is_stop():
        return ""
    decomp = t.get_decomp()
    if decomp:
        return phoneme_decomp_to_meter(decomp)
    else:
        return "?" * t.syllables()

def metric_error(m1, m2):
    tally = 0
    if len(m1) != len(m2):
        print ">>>[%s][%s]" % (m1, m2)
        assert 0
        
    for i in xrange(len(m1)):
        if m1[i] != m2[i]:
            tally += 1
    return tally
        
    
