FWIW, I took a look at the Daisy ACE github project and searched for epubcfi and what they report is an specific filename/href followed by a nodepath in that file with no assertions at all. These are not legal epubcfis according to the spec.
Instead they remove the entire content.opf and its spine redirection nonsense and just tell you which file to use. Effectively, they remove everything up to and including the first ! point of the epubcfi and just provide the node path after the proper file has been identified.
That way they are not limited to files directly listed in the spine (things like the nav may not be there, etc).
Their approach actually makes more sense and it would make the conversion code easier as we could ignore the whole spine redirection piece of the code.
I tried to put lots of comments in cfi_convert.py so hopefully you can follow along and understand what is going on and what a nodepath by comparing it to the example part of the idpf spec document here:
http://www.idpf.org/epub/linking/cfi...-path-examples