У меня есть проект плавкого предохранителя на основе примера Xmp в документации на предохранители. Я включил небольшой фрагмент кода, чтобы показать, как это работает. По какой-то причине get_file вызывает вызов, и класс создается, но вместо того, чтобы использовать fuse, вызывающий .read() в классе из get_file (file_class), плагин продолжает вызывать Dstorage.read(), который побеждает цель в перемещении функции чтения из этого класс.Почему плавкий предохранитель не используется в классе, указанном в файле_файле
class Dstorage(Fuse, Distributor):
def get_file(self, server, path, flags, *mode):
pass
# This does some work and passes back an instance of
# a class very similar to XmpFile
def main(self, *a, **kw):
self.file_class = self.get_file
return Fuse.main(self, *a, **kw)
У меня есть код, размещенный на стартовой панели, вы можете скачать его с помощью этой команды.
BZR совместно
https://code.launchpad.net/~asa-ayers/+junk/dstorage
BZR филиала LP: ~ Asa-Айерс/dstorage/багажник
решение:
Я использовал прокси-класс, который подклассом один я нуждался и в конструкторе я получаю экземпляр класса, который мне нужен, и перезаписать все методы прокси, чтобы просто вызвать методы экземпляра.