Функция A получает в качестве аргумента обычный dict и выполняет некоторую обработку.
def A(dict):
...
return
Теперь у меня есть класс, унаследованный от обычного класса dict:
class MyDict(dict):
def __getitem__(self, key):
return dict.__getitem__(self, key)
def __setitem__(self, key, val):
dict.__setitem__(self, key, val)
Тогда я могу использовать MyDict вместо обычного dict как:
my_dict = MyDict()
A(my_dict)
В частности, в моем случае A выполняет сериализацию xml-rpc, а ошибка говорит, что не может маршалировать MyDict.