Vedo alcuni problemi:
1) la riga "temp_wrkmry = {}" è inutile se la riga successiva sovrascrivi temp_wrkmry
2) la riga temp_wrkmry = rule.applyRule(nodelist[0]) dovrebbe darti errore "IndexError: list index out of range" in quanto nodelist[0] alla prima iterazione è ancora vuoto
3) ti sei sicuramente dimenticato un ritorno a capo prima della parola "for"

Forse hai copia/incollato male il tuo codice interessato?