def compare(self, fp):
    '''Compare two FingerprintList. Returns DIFFER, SAME, or UNCERTAIN (if we are missing a needed MD5).'''
    if self.type == ItemType.FILE and fp.type == ItemType.FILE:
      if self.md5 and fp.md5:
        if self.md5 == fp.md5:
          return Fingerprint.SAME
        else:
          return Fingerprint.DIFFER
      elif self.mtime and fp.mtime and (self.size is not None) and (fp.size is not None):
        if abs(fp.mtime - self.mtime) <= Fingerprint.EPS and self.size == fp.size:
          return Fingerprint.SAME
        elif self.size != fp.size:
          return Fingerprint.DIFFER
        else:
          return Fingerprint.UNCERTAIN
    else:
      raise NotImplementedError("currently support only plain files")
dataset/ETHPy150Open bloomreach/zinc/zinc.py/Fingerprint.compare/swapped operands of `-`