Can you add a comment at the top of this `if`/`elif`/`elif`/`else` test, explaining what you're testing for, what the prefixes mean, and why it's so complicated? The second `elif` in particular needs some explanation -- I have *no* idea what the intent is, and why it is the case that an xblock that matches that test has no page. (You could also just `return None` directly, instead of setting `prefix = None` and then checking for `not prefix` immediately afterward.)