Repetir todos os valores de dicionário aninhados?

for k, v in d.iteritems():
    if type(v) is dict:
        for t, c in v.iteritems():
            print "{0} : {1}".format(t, c)

Eu estou tentando percorrer um dicionário e imprimir todos os pares de valores chave onde o valor não é um dicionário aninhado. Se o valor for um dicionário, eu quero entrar nele e imprimir seus pares de valores chave ... etc. Qualquer ajuda?

EDITAR

Que tal agora? Ainda imprime apenas uma coisa.

def printDict(d):
    for k, v in d.iteritems():
        if type(v) is dict:
            printDict(v)
        else:
            print "{0} : {1}".format(k, v)

Caso de teste completo

Dicionário:

{u'xml': {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'},
      u'port': u'11'}}

Resultado:

xml : {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'}, u'port': u'11'}

questionAnswers(11)

yourAnswerToTheQuestion