A documentação não tem uma explicação básica.
Vamos dar uma olhada primeiro no seu erro. Você cria uma instância da classe PDiffer
e depois tenta chamar essa instância novamente. Veja este exemplo muito simplificado com o mesmo erro:
>>> class PDiffer:
... def __init__(self, *args, **kwargs):
... pass
...
>>> pdiff = PDiffer(bin="/path/to/bin")
>>> pdiff("image1.png", "image2.png")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'PDiffer' object is not callable
Dito isto, a documentação fornece duas opções para usar o pdiff.
Crie uma instância de PDiff
e atribua a ela um caminho personalizado para o binário ou use a função auxiliar pdiff
. Dar a eles o mesmo nome de variável e usá-los no mesmo bloco de código é muito confuso. É um ou o outro.
Eu tive que olhar a fonte para ver o que está acontecendo. Você deve usar o método pdiff
da classe PDiff
. O segundo exemplo é um atalho para este método com o caminho binário personalizado.
Então, um exemplo prático seria:
from pdiffer import PDiffer
pdiff = PDiffer(bin='/home/username/Documents/pdiff/perceptualdiff')
result = pdiff.pdiff('image1.png', 'image2.png')