я вот недавно делал похожую логику и мне заметили, что можно проще.
not(a xor b) тоже самое, что a == b,
т.е. можно упростить: `(full_url is None) == (url_prefix is None)` (скобки в python'е в этом месте нужны)