@classmethod
def local_checksum(cls, package, algorithm='md5'):
    """
        Computes the checksum value on the local package file.

        :param str package:
          File-path to the package (\\*.tgz) file on the local server
        :param str algorithm:
          The algorithm to use for computing the checksum. Valid values are:
          'md5', 'sha1', and 'sha256'. Defaults to 'md5'.

        :returns: checksum (str)
        :raises IOError: when **package** file does not exist
        """
    if algorithm == 'md5':
        return cls.local_md5(package)
    elif algorithm == 'sha1':
        return cls.local_sha1(package)
    elif algorithm == 'sha256':
        return cls.local_sha256(package)
    else:
        raise ValueError('Unknown checksum algorithm: %s' % algorithm)
